Data Models
Pydantic models used for API requests and responses.
BillingAccount
Cudo Compute billing account.
Fields:
id: <class 'str'>create_time: typing.Optional[str]display_name: typing.Optional[str]stripe_ref: typing.Optional[str]create_by: typing.Optional[str]monthly_spend: typing.Optional[str]hourly_spend_rate: typing.Optional[cudo_compute_sdk.schema.MoneyValue]tax_id: typing.Optional[str]invoice_time: typing.Optional[str]billing_threshold: typing.Optional[cudo_compute_sdk.schema.MoneyValue]monthly_spend_limit: typing.Optional[cudo_compute_sdk.schema.MoneyValue]hourly_spend_limit: typing.Optional[cudo_compute_sdk.schema.MoneyValue]next_invoice_total: typing.Optional[str]credit_balance: typing.Optional[cudo_compute_sdk.schema.MoneyValue]credit_balance_recharge: typing.Optional[cudo_compute_sdk.schema.RechargeSettings]billing_address: typing.Optional[str]state: typing.Optional[str]payment_terms: typing.Optional[str]delete_time: typing.Optional[str]purge_time: typing.Optional[str]
Cluster
Compute cluster.
Fields:
id: <class 'str'>project_id: typing.Optional[str]data_center_id: typing.Optional[str]cluster_type: typing.Optional[str]state: typing.Optional[str]create_time: typing.Optional[str]nodes: typing.Optional[typing.List[cudo_compute_sdk.schema.ClusterNode]]metadata: typing.Optional[typing.Dict[str, typing.Any]]
ClusterNode
Cluster node.
Fields:
id: typing.Optional[str]vm_id: typing.Optional[str]role: typing.Optional[str]state: typing.Optional[str]
DataCenter
Generic data center (for bare-metal or other services).
Fields:
id: <class 'str'>name: typing.Optional[str]country: typing.Optional[str]region: typing.Optional[str]location: typing.Optional[cudo_compute_sdk.schema.Location]
Disk
Storage disk.
Fields:
id: <class 'str'>project_id: typing.Optional[str]data_center_id: typing.Optional[str]vm_id: typing.Optional[str]size_gib: typing.Optional[int]storage_class: typing.Optional[str]disk_type: typing.Optional[str]public_image_id: typing.Optional[str]private_image_id: typing.Optional[str]create_time: typing.Optional[str]disk_state: typing.Optional[str]
DiskPoolPricing
Data center disk pool pricing.
Fields:
storage_class: typing.Optional[str]disk_gib_price_hr: typing.Optional[cudo_compute_sdk.schema.Price]
Image
VM or machine image.
Fields:
id: <class 'str'>name: typing.Optional[str]description: typing.Optional[str]display_name: typing.Optional[str]platform: typing.Optional[str]size_gib: typing.Optional[int]installed_packages: typing.Optional[typing.List[cudo_compute_sdk.schema.InstalledPackage]]
InstalledPackage
Installed package information.
Fields:
name: typing.Optional[str]description: typing.Optional[str]version: typing.Optional[str]
Location
Geographic location.
Fields:
latitude: typing.Optional[float]longitude: typing.Optional[float]
Machine
Bare-metal machine instance.
Fields:
data_center_id: typing.Optional[str]id: <class 'str'>machine_type_id: typing.Optional[str]architecture: typing.Optional[str]cpu_cores: typing.Optional[int]cpu_speed_mhz: typing.Optional[int]cpu_model: typing.Optional[str]memory_gib: typing.Optional[int]disks: typing.Optional[int]disk_size_gib: typing.Optional[int]gpus: typing.Optional[int]gpu_model_id: typing.Optional[str]state: typing.Optional[str]power_state: typing.Optional[str]os: typing.Optional[str]hostname: typing.Optional[str]external_ip_addresses: typing.Optional[typing.List[str]]project_id: typing.Optional[str]create_time: typing.Optional[str]create_by: typing.Optional[str]commitment_term: typing.Optional[str]price_hr: typing.Optional[cudo_compute_sdk.schema.Price]user_data: typing.Optional[str]ssh_key_source: typing.Optional[str]custom_ssh_keys: typing.Optional[typing.List[str]]start_script: typing.Optional[str]
MachineType
Bare-metal machine type.
Fields:
data_center_id: typing.Optional[str]id: <class 'str'>architecture: typing.Optional[str]cpu_cores: typing.Optional[int]cpu_speed_mhz: typing.Optional[int]cpu_model: typing.Optional[str]memory_gib: typing.Optional[int]disks: typing.Optional[int]disk_size_gib: typing.Optional[int]gpus: typing.Optional[int]gpu_model_id: typing.Optional[str]prices: typing.Optional[typing.List[cudo_compute_sdk.schema.MachineTypePrice]]machines_free: typing.Optional[int]network_type: typing.Optional[str]
MachineTypePrice
Bare-metal machine type pricing.
Fields:
data_center_id: typing.Optional[str]machine_type_id: typing.Optional[str]commitment_term: typing.Optional[str]price_hr: typing.Optional[cudo_compute_sdk.schema.Price]ipv4_price_hr: typing.Optional[cudo_compute_sdk.schema.Price]
MoneyValue
Money/currency value.
Fields:
value: <class 'str'>
Network
Virtual network.
Fields:
project_id: typing.Optional[str]id: <class 'str'>data_center_id: typing.Optional[str]ip_range: typing.Optional[str]gateway: typing.Optional[str]price_hr: typing.Optional[cudo_compute_sdk.schema.Price]external_ip_address: typing.Optional[str]internal_ip_address: typing.Optional[str]vm_state: typing.Optional[str]create_time: typing.Optional[str]state: typing.Optional[str]
NetworkPricing
Data center network pricing.
Fields:
price_hr: typing.Optional[cudo_compute_sdk.schema.Price]
Price
Price value.
Fields:
value: <class 'str'>
Project
Cudo Compute project.
Fields:
id: <class 'str'>billing_account_id: typing.Optional[str]resource_count: typing.Optional[int]create_by: typing.Optional[str]
ProjectPermission
Project user permission.
Fields:
user_id: typing.Optional[str]user_email: typing.Optional[str]user_picture: typing.Optional[str]role: typing.Optional[str]permission_role: typing.Optional[str]
RechargeSettings
Auto-recharge settings for billing account.
Fields:
low: typing.Optional[cudo_compute_sdk.schema.MoneyValue]high: typing.Optional[cudo_compute_sdk.schema.MoneyValue]auto_recharge: <class 'bool'>transaction: typing.Optional[str]
SSHKey
SSH key.
Fields:
id: <class 'str'>create_time: typing.Optional[str]public_key: typing.Optional[str]fingerprint: typing.Optional[str]type: typing.Optional[str]comment: typing.Optional[str]
SecurityGroup
Security group.
Fields:
project_id: typing.Optional[str]data_center_id: typing.Optional[str]id: <class 'str'>description: typing.Optional[str]rules: typing.Optional[typing.List[cudo_compute_sdk.schema.SecurityGroupRule]]
SecurityGroupRule
Security group rule.
Fields:
id: typing.Optional[str]protocol: typing.Optional[str]ports: typing.Optional[str]rule_type: typing.Optional[str]ip_range_cidr: typing.Optional[str]icmp_type: typing.Optional[str]
VM
Virtual machine instance.
Fields:
datacenter_id: typing.Optional[str]machine_type: typing.Optional[str]id: <class 'str'>external_ip_address: typing.Optional[str]internal_ip_address: typing.Optional[str]public_ip_address: typing.Optional[str]memory: typing.Optional[int]cpu_model: typing.Optional[str]vcpus: typing.Optional[int]gpu_model: typing.Optional[str]gpu_model_id: typing.Optional[str]gpu_quantity: typing.Optional[int]boot_disk_size_gib: typing.Optional[int]renewable_energy: typing.Optional[bool]image_id: typing.Optional[str]public_image_id: typing.Optional[str]public_image_name: typing.Optional[str]private_image_id: typing.Optional[str]image_name: typing.Optional[str]create_by: typing.Optional[str]nics: typing.Optional[typing.List[cudo_compute_sdk.schema.VMNic]]rules: typing.Optional[typing.List[cudo_compute_sdk.schema.SecurityGroupRule]]security_group_ids: typing.Optional[typing.List[str]]short_state: typing.Optional[str]boot_disk: typing.Optional[cudo_compute_sdk.schema.Disk]storage_disks: typing.Optional[typing.List[cudo_compute_sdk.schema.Disk]]metadata: typing.Optional[typing.Dict[str, typing.Any]]state: typing.Optional[str]create_time: typing.Optional[str]expire_time: typing.Optional[str]price: typing.Optional[cudo_compute_sdk.schema.VMPrice]commitment_term: typing.Optional[str]commitment_end_time: typing.Optional[str]ssh_key_source: typing.Optional[str]authorized_ssh_keys: typing.Optional[str]security_groups: typing.Optional[typing.List[cudo_compute_sdk.schema.SecurityGroup]]project_id: typing.Optional[str]
VMDataCenter
VM data center.
Fields:
id: <class 'str'>supplier_name: typing.Optional[str]renewable_energy: typing.Optional[bool]disk_pool_pricing: typing.Optional[typing.List[cudo_compute_sdk.schema.DiskPoolPricing]]network_pricing: typing.Optional[typing.List[cudo_compute_sdk.schema.NetworkPricing]]network_price_hr: typing.Optional[cudo_compute_sdk.schema.Price]ipv4_price_hr: typing.Optional[cudo_compute_sdk.schema.Price]ipv4_free: typing.Optional[int]s3_endpoint: typing.Optional[str]location: typing.Optional[cudo_compute_sdk.schema.Location]object_storage_gib_price_hr: typing.Optional[cudo_compute_sdk.schema.Price]
VMMachineType
VM machine type configuration and pricing.
Fields:
data_center_id: typing.Optional[str]machine_type: typing.Optional[str]cpu_model: typing.Optional[str]gpu_model: typing.Optional[str]gpu_model_id: typing.Optional[str]min_vcpu_per_memory_gib: typing.Optional[float]max_vcpu_per_memory_gib: typing.Optional[float]min_vcpu_per_gpu: typing.Optional[float]max_vcpu_per_gpu: typing.Optional[typing.Any]vcpu_price_hr: typing.Optional[cudo_compute_sdk.schema.Price]memory_gib_price_hr: typing.Optional[cudo_compute_sdk.schema.Price]gpu_price_hr: typing.Optional[cudo_compute_sdk.schema.Price]min_storage_gib_price_hr: typing.Optional[cudo_compute_sdk.schema.Price]ipv4_price_hr: typing.Optional[cudo_compute_sdk.schema.Price]renewable_energy: typing.Optional[bool]max_vcpu_free: typing.Optional[int]total_vcpu_free: typing.Optional[int]max_memory_gib_free: typing.Optional[int]total_memory_gib_free: typing.Optional[int]max_gpu_free: typing.Optional[int]total_gpu_free: typing.Optional[int]max_storage_gib_free: typing.Optional[int]total_storage_gib_free: typing.Optional[int]min_vcpu: typing.Optional[float]min_memory_gib: typing.Optional[float]prices: typing.Optional[typing.List[cudo_compute_sdk.schema.VMMachineTypePrice]]
VMMachineTypePrice
VM machine type pricing for commitment terms.
Fields:
vcpu_price_hr: typing.Optional[cudo_compute_sdk.schema.Price]memory_gib_price_hr: typing.Optional[cudo_compute_sdk.schema.Price]gpu_price_hr: typing.Optional[cudo_compute_sdk.schema.Price]commitment_term: typing.Optional[str]
VMNic
VM network interface.
Fields:
network_id: typing.Optional[str]external_ip_address: typing.Optional[str]internal_ip_address: typing.Optional[str]network_address: typing.Optional[str]security_group_ids: typing.Optional[typing.List[str]]
VMPrice
VM pricing breakdown.
Fields:
vcpu_price_hr: typing.Optional[cudo_compute_sdk.schema.Price]total_vcpu_price_hr: typing.Optional[cudo_compute_sdk.schema.Price]memory_gib_price_hr: typing.Optional[cudo_compute_sdk.schema.Price]total_memory_price_hr: typing.Optional[cudo_compute_sdk.schema.Price]gpu_price_hr: typing.Optional[cudo_compute_sdk.schema.Price]total_gpu_price_hr: typing.Optional[cudo_compute_sdk.schema.Price]storage_gib_price_hr: typing.Optional[cudo_compute_sdk.schema.Price]total_storage_price_hr: typing.Optional[cudo_compute_sdk.schema.Price]ipv4_address_price_hr: typing.Optional[cudo_compute_sdk.schema.Price]total_price_hr: typing.Optional[cudo_compute_sdk.schema.Price]
Volume
NFS volume.
Fields:
id: <class 'str'>project_id: typing.Optional[str]data_center_id: typing.Optional[str]size_gib: typing.Optional[int]state: typing.Optional[str]create_time: typing.Optional[str]price_hr: typing.Optional[cudo_compute_sdk.schema.Price]mount_point: typing.Optional[str]