Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion linode_api4/objects/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from .dbase import DerivedBase
from .serializable import JSONObject
from .filtering import and_, or_
from .region import Region
from .region import Region, Capability
from .image import Image
from .linode import *
from .linode_interfaces import *
Expand Down
62 changes: 62 additions & 0 deletions linode_api4/objects/region.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,68 @@

from linode_api4.errors import UnexpectedResponseError
from linode_api4.objects.base import Base, JSONObject, Property
from linode_api4.objects.serializable import StrEnum


class Capability(StrEnum):
"""
An enum class representing the capabilities that Linode offers
across different regions and services.

These capabilities indicate what services are available in each data center.
"""

linodes = "Linodes"
nodebalancers = "NodeBalancers"
block_storage = "Block Storage"
object_storage = "Object Storage"
object_storage_regions = "Object Storage Access Key Regions"
object_storage_endpoint_types = "Object Storage Endpoint Types"
lke = "Kubernetes"
lke_ha_controlplanes = "LKE HA Control Planes"
lke_e = "Kubernetes Enterprise"
firewall = "Cloud Firewall"
gpu = "GPU Linodes"
vlans = "Vlans"
vpcs = "VPCs"
vpcs_extra = "VPCs Extra"
machine_images = "Machine Images"
dbaas = "Managed Databases"
dbaas_beta = "Managed Databases Beta"
bs_migrations = "Block Storage Migrations"
metadata = "Metadata"
premium_plans = "Premium Plans"
edge_plans = "Edge Plans"
distributed_plans = "Distributed Plans"
lke_control_plane_acl = "LKE Network Access Control List (IP ACL)"
aclb = "Akamai Cloud Load Balancer"
support_ticket_severity = "Support Ticket Severity"
backups = "Backups"
placement_group = "Placement Group"
disk_encryption = "Disk Encryption"
la_disk_encryption = "LA Disk Encryption"
akamai_ram_protection = "Akamai RAM Protection"
blockstorage_encryption = "Block Storage Encryption"
blockstorage_perf_b1 = "Block Storage Performance B1"
blockstorage_perf_b1_default = "Block Storage Performance B1 Default"
aclp = "Akamai Cloud Pulse"
aclp_logs = "Akamai Cloud Pulse Logs"
aclp_logs_lkee = "Akamai Cloud Pulse Logs LKE-E Audit"
aclp_logs_dc_lkee = "ACLP Logs Datacenter LKE-E"
smtp_enabled = "SMTP Enabled"
stackscripts = "StackScripts"
vpu = "NETINT Quadra T1U"
linode_interfaces = "Linode Interfaces"
maintenance_policy = "Maintenance Policy"
vpc_dual_stack = "VPC Dual Stack"
vpc_ipv6_stack = "VPC IPv6 Stack"
nlb = "Network LoadBalancer"
natgateway = "NAT Gateway"
lke_e_byovpc = "Kubernetes Enterprise BYO VPC"
lke_e_stacktype = "Kubernetes Enterprise Dual Stack"
ruleset = "Cloud Firewall Rule Set"
prefixlists = "Cloud Firewall Prefix Lists"
current_prefixlists = "Cloud Firewall Prefix List Current References"


@dataclass
Expand Down