Skip to content

Commit d7abbc2

Browse files
authored
Merge branch 'dev' into hotfix/TPT_4203_regression
2 parents 1eacc5b + 4003f2a commit d7abbc2

File tree

2 files changed

+63
-1
lines changed

2 files changed

+63
-1
lines changed

linode_api4/objects/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from .dbase import DerivedBase
44
from .serializable import JSONObject
55
from .filtering import and_, or_
6-
from .region import Region
6+
from .region import Region, Capability
77
from .image import Image
88
from .linode import *
99
from .linode_interfaces import *

linode_api4/objects/region.py

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,68 @@
33

44
from linode_api4.errors import UnexpectedResponseError
55
from linode_api4.objects.base import Base, JSONObject, Property
6+
from linode_api4.objects.serializable import StrEnum
7+
8+
9+
class Capability(StrEnum):
10+
"""
11+
An enum class that represents the capabilities that Linode offers
12+
across different regions and services.
13+
14+
These capabilities indicate what services are available in each data center.
15+
"""
16+
17+
linodes = "Linodes"
18+
nodebalancers = "NodeBalancers"
19+
block_storage = "Block Storage"
20+
object_storage = "Object Storage"
21+
object_storage_regions = "Object Storage Access Key Regions"
22+
object_storage_endpoint_types = "Object Storage Endpoint Types"
23+
lke = "Kubernetes"
24+
lke_ha_controlplanes = "LKE HA Control Planes"
25+
lke_e = "Kubernetes Enterprise"
26+
firewall = "Cloud Firewall"
27+
gpu = "GPU Linodes"
28+
vlans = "Vlans"
29+
vpcs = "VPCs"
30+
vpcs_extra = "VPCs Extra"
31+
machine_images = "Machine Images"
32+
dbaas = "Managed Databases"
33+
dbaas_beta = "Managed Databases Beta"
34+
bs_migrations = "Block Storage Migrations"
35+
metadata = "Metadata"
36+
premium_plans = "Premium Plans"
37+
edge_plans = "Edge Plans"
38+
distributed_plans = "Distributed Plans"
39+
lke_control_plane_acl = "LKE Network Access Control List (IP ACL)"
40+
aclb = "Akamai Cloud Load Balancer"
41+
support_ticket_severity = "Support Ticket Severity"
42+
backups = "Backups"
43+
placement_group = "Placement Group"
44+
disk_encryption = "Disk Encryption"
45+
la_disk_encryption = "LA Disk Encryption"
46+
akamai_ram_protection = "Akamai RAM Protection"
47+
blockstorage_encryption = "Block Storage Encryption"
48+
blockstorage_perf_b1 = "Block Storage Performance B1"
49+
blockstorage_perf_b1_default = "Block Storage Performance B1 Default"
50+
aclp = "Akamai Cloud Pulse"
51+
aclp_logs = "Akamai Cloud Pulse Logs"
52+
aclp_logs_lkee = "Akamai Cloud Pulse Logs LKE-E Audit"
53+
aclp_logs_dc_lkee = "ACLP Logs Datacenter LKE-E"
54+
smtp_enabled = "SMTP Enabled"
55+
stackscripts = "StackScripts"
56+
vpu = "NETINT Quadra T1U"
57+
linode_interfaces = "Linode Interfaces"
58+
maintenance_policy = "Maintenance Policy"
59+
vpc_dual_stack = "VPC Dual Stack"
60+
vpc_ipv6_stack = "VPC IPv6 Stack"
61+
nlb = "Network LoadBalancer"
62+
natgateway = "NAT Gateway"
63+
lke_e_byovpc = "Kubernetes Enterprise BYO VPC"
64+
lke_e_stacktype = "Kubernetes Enterprise Dual Stack"
65+
ruleset = "Cloud Firewall Rule Set"
66+
prefixlists = "Cloud Firewall Prefix Lists"
67+
current_prefixlists = "Cloud Firewall Prefix List Current References"
668

769

870
@dataclass

0 commit comments

Comments
 (0)