diff --git a/lib/binarylane/models/account.py b/lib/binarylane/models/account.py index ff4452b..b9675d0 100644 --- a/lib/binarylane/models/account.py +++ b/lib/binarylane/models/account.py @@ -33,6 +33,8 @@ class Account: tax_code (TaxCode): The tax code that currently applies to transactions for this account. configured_payment_methods (List[PaymentMethod]): The payment methods that are configured (available) for this account. + additional_ipv4_limit (int): The maximum additional IPv4 addresses this account may assign across all servers. + You may contact support to request this limit be increased. """ email: str @@ -41,6 +43,7 @@ class Account: status: AccountStatus tax_code: TaxCode configured_payment_methods: List[PaymentMethod] + additional_ipv4_limit: int additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict) def to_dict(self) -> Dict[str, Any]: @@ -57,6 +60,8 @@ def to_dict(self) -> Dict[str, Any]: configured_payment_methods.append(configured_payment_methods_item) + additional_ipv4_limit = self.additional_ipv4_limit + field_dict: Dict[str, Any] = {} field_dict.update(self.additional_properties) field_dict.update( @@ -67,6 +72,7 @@ def to_dict(self) -> Dict[str, Any]: "status": status, "tax_code": tax_code, "configured_payment_methods": configured_payment_methods, + "additional_ipv4_limit": additional_ipv4_limit, } ) @@ -92,6 +98,8 @@ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T: configured_payment_methods.append(configured_payment_methods_item) + additional_ipv4_limit = d.pop("additional_ipv4_limit") + account = cls( email=email, email_verified=email_verified, @@ -99,6 +107,7 @@ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T: status=status, tax_code=tax_code, configured_payment_methods=configured_payment_methods, + additional_ipv4_limit=additional_ipv4_limit, ) account.additional_properties = d diff --git a/lib/binarylane/models/action.py b/lib/binarylane/models/action.py index e721e75..5b58920 100644 --- a/lib/binarylane/models/action.py +++ b/lib/binarylane/models/action.py @@ -35,6 +35,16 @@ class Action: completed_at (Union[Unset, None, datetime.datetime]): The timestamp in ISO8601 format of when processing of this action completed. If this value is null the action is currently in progress. resource_type (Union[Unset, None, ResourceType]): The resource type (if any) associated with this action. + + | Value | Description | + | ----- | ----------- | + | server | Server | + | load-balancer | Load Balancer | + | ssh-key | SSH Key | + | vpc | Virtual Private Network | + | image | Backup or Operating System Image | + | registered-domain-name | Registered Domain Name | + resource_id (Union[Unset, None, int]): The resource id of the resource (if any) associated with this action. region (Union[Unset, None, Region]): The region (if any) of the resource associated with this action. region_slug (Union[Unset, None, str]): The region slug (if any) of the resource associated with this action. diff --git a/lib/binarylane/models/advanced_firewall_rule.py b/lib/binarylane/models/advanced_firewall_rule.py index 7537ce0..cfbc563 100644 --- a/lib/binarylane/models/advanced_firewall_rule.py +++ b/lib/binarylane/models/advanced_firewall_rule.py @@ -20,7 +20,21 @@ class AdvancedFirewallRule: destination_addresses (List[str]): The destination addresses to match for this rule. Each address may be an individual IPv4 address or a range in IPv4 CIDR notation. protocol (AdvancedFirewallRuleProtocol): The protocol to match for this rule. + + | Value | Description | + | ----- | ----------- | + | all | This rule will match any protocol. | + | icmp | This rule will match ICMP traffic only. | + | tcp | This rule will match TCP traffic only. | + | udp | This rule will match UDP traffic only. | + action (AdvancedFirewallRuleAction): The action to take when there is a match on this rule. + + | Value | Description | + | ----- | ----------- | + | drop | Traffic matching this rule will be dropped. | + | accept | Traffic matching this rule will be accepted. | + destination_ports (Union[Unset, None, List[str]]): The destination ports to match for this rule. Leave null or empty to match on all ports. description (Union[Unset, None, str]): A description to assist in identifying this rule. Commonly used to record diff --git a/lib/binarylane/models/advanced_firewall_rule_request.py b/lib/binarylane/models/advanced_firewall_rule_request.py new file mode 100644 index 0000000..48290b0 --- /dev/null +++ b/lib/binarylane/models/advanced_firewall_rule_request.py @@ -0,0 +1,128 @@ +from __future__ import annotations + +from typing import Any, Dict, List, Type, TypeVar, Union, cast + +import attr + +from binarylane.models.advanced_firewall_rule_action import AdvancedFirewallRuleAction +from binarylane.models.advanced_firewall_rule_protocol import AdvancedFirewallRuleProtocol +from binarylane.types import UNSET, Unset + +T = TypeVar("T", bound="AdvancedFirewallRuleRequest") + + +@attr.s(auto_attribs=True) +class AdvancedFirewallRuleRequest: + """ + Attributes: + source_addresses (List[str]): The source addresses to match for this rule. Each address may be an individual + IPv4 address or a range in IPv4 CIDR notation. + destination_addresses (List[str]): The destination addresses to match for this rule. Each address may be an + individual IPv4 address or a range in IPv4 CIDR notation. + protocol (AdvancedFirewallRuleProtocol): The protocol to match for this rule. + + | Value | Description | + | ----- | ----------- | + | all | This rule will match any protocol. | + | icmp | This rule will match ICMP traffic only. | + | tcp | This rule will match TCP traffic only. | + | udp | This rule will match UDP traffic only. | + + action (AdvancedFirewallRuleAction): The action to take when there is a match on this rule. + + | Value | Description | + | ----- | ----------- | + | drop | Traffic matching this rule will be dropped. | + | accept | Traffic matching this rule will be accepted. | + + destination_ports (Union[Unset, None, List[str]]): The destination ports to match for this rule. Leave null or + empty to match on all ports. + description (Union[Unset, None, str]): A description to assist in identifying this rule. Commonly used to record + the reason for the rule or the intent behind it, e.g. "Block access to RDP" or "Allow access from HQ". + """ + + source_addresses: List[str] + destination_addresses: List[str] + protocol: AdvancedFirewallRuleProtocol + action: AdvancedFirewallRuleAction + destination_ports: Union[Unset, None, List[str]] = UNSET + description: Union[Unset, None, str] = UNSET + additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict) + + def to_dict(self) -> Dict[str, Any]: + source_addresses = self.source_addresses + + destination_addresses = self.destination_addresses + + protocol = self.protocol.value + + action = self.action.value + + destination_ports: Union[Unset, None, List[str]] = UNSET + if not isinstance(self.destination_ports, Unset): + if self.destination_ports is None: + destination_ports = None + else: + destination_ports = self.destination_ports + + description = self.description + + field_dict: Dict[str, Any] = {} + field_dict.update(self.additional_properties) + field_dict.update( + { + "source_addresses": source_addresses, + "destination_addresses": destination_addresses, + "protocol": protocol, + "action": action, + } + ) + if destination_ports is not UNSET: + field_dict["destination_ports"] = destination_ports + if description is not UNSET: + field_dict["description"] = description + + return field_dict + + @classmethod + def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T: + d = src_dict.copy() + source_addresses = cast(List[str], d.pop("source_addresses")) + + destination_addresses = cast(List[str], d.pop("destination_addresses")) + + protocol = AdvancedFirewallRuleProtocol(d.pop("protocol")) + + action = AdvancedFirewallRuleAction(d.pop("action")) + + destination_ports = cast(List[str], d.pop("destination_ports", UNSET)) + + description = d.pop("description", UNSET) + + advanced_firewall_rule_request = cls( + source_addresses=source_addresses, + destination_addresses=destination_addresses, + protocol=protocol, + action=action, + destination_ports=destination_ports, + description=description, + ) + + advanced_firewall_rule_request.additional_properties = d + return advanced_firewall_rule_request + + @property + def additional_keys(self) -> List[str]: + return list(self.additional_properties.keys()) + + def __getitem__(self, key: str) -> Any: + return self.additional_properties[key] + + def __setitem__(self, key: str, value: Any) -> None: + self.additional_properties[key] = value + + def __delitem__(self, key: str) -> None: + del self.additional_properties[key] + + def __contains__(self, key: str) -> bool: + return key in self.additional_properties diff --git a/lib/binarylane/models/advanced_server_features.py b/lib/binarylane/models/advanced_server_features.py index d4a6343..bfc51e7 100644 --- a/lib/binarylane/models/advanced_server_features.py +++ b/lib/binarylane/models/advanced_server_features.py @@ -34,6 +34,18 @@ class AdvancedServerFeatures: machine_type (Union[Unset, None, VmMachineType]): The machine_type (corresponding to a KVM version) used for this server. A null value indicates automatic selection of the best KVM machine type supported by the host node. + + | Value | Description | + | ----- | ----------- | + | pc_i440fx_1point5 | PC i440FX 1.5 | + | pc_i440fx_2point11 | PC i440FX 2.11 | + | pc_i440fx_4point1 | PC i440FX 4.1 | + | pc_i440fx_4point2 | PC i440FX 4.2 | + | pc_i440fx_5point0 | PC i440FX 5.0 | + | pc_i440fx_5point1 | PC i440FX 5.1 | + | pc_i440fx_7point2 | PC i440FX 7.2 | + | pc_i440fx_8point2 | PC i440FX 8.2 | + """ video_device: VideoDevice diff --git a/lib/binarylane/models/change_advanced_features.py b/lib/binarylane/models/change_advanced_features.py index d8cd29e..33fed0b 100644 --- a/lib/binarylane/models/change_advanced_features.py +++ b/lib/binarylane/models/change_advanced_features.py @@ -27,9 +27,29 @@ class ChangeAdvancedFeatures: automatic_processor_model (Union[Unset, None, bool]): Set to true to use best available processor model. If this is provided the processor_model property must not be provided. machine_type (Union[Unset, None, VmMachineType]): Do not provide or set to null to keep existing machine type. + + | Value | Description | + | ----- | ----------- | + | pc_i440fx_1point5 | PC i440FX 1.5 | + | pc_i440fx_2point11 | PC i440FX 2.11 | + | pc_i440fx_4point1 | PC i440FX 4.1 | + | pc_i440fx_4point2 | PC i440FX 4.2 | + | pc_i440fx_5point0 | PC i440FX 5.0 | + | pc_i440fx_5point1 | PC i440FX 5.1 | + | pc_i440fx_7point2 | PC i440FX 7.2 | + | pc_i440fx_8point2 | PC i440FX 8.2 | + automatic_machine_type (Union[Unset, None, bool]): Set to true to use best available machine type. If this is provided the machine_type property must not be provided. video_device (Union[Unset, None, VideoDevice]): Do not provide or set to null to keep existing video device. + + | Value | Description | + | ----- | ----------- | + | cirrus-logic | Cirrus Logic GD5446 | + | standard | Standard VGA with VESA 2.0 extensions | + | virtio | Virtio VGA (800x600) | + | virtio-wide | Virtio VGA (1600x900) | + """ type: ChangeAdvancedFeaturesType diff --git a/lib/binarylane/models/change_advanced_firewall_rules.py b/lib/binarylane/models/change_advanced_firewall_rules.py index 46c4ce4..a5e1a64 100644 --- a/lib/binarylane/models/change_advanced_firewall_rules.py +++ b/lib/binarylane/models/change_advanced_firewall_rules.py @@ -4,7 +4,7 @@ import attr -from binarylane.models.advanced_firewall_rule import AdvancedFirewallRule +from binarylane.models.advanced_firewall_rule_request import AdvancedFirewallRuleRequest from binarylane.models.change_advanced_firewall_rules_type import ChangeAdvancedFirewallRulesType T = TypeVar("T", bound="ChangeAdvancedFirewallRules") @@ -16,12 +16,12 @@ class ChangeAdvancedFirewallRules: Attributes: type (ChangeAdvancedFirewallRulesType): - firewall_rules (List[AdvancedFirewallRule]): A list of rules for the server. NB: that any existing rules that - are not included will be removed. Submit an empty list to clear all rules. + firewall_rules (List[AdvancedFirewallRuleRequest]): A list of rules for the server. NB: that any existing rules + that are not included will be removed. Submit an empty list to clear all rules. """ type: ChangeAdvancedFirewallRulesType - firewall_rules: List[AdvancedFirewallRule] + firewall_rules: List[AdvancedFirewallRuleRequest] additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict) def to_dict(self) -> Dict[str, Any]: @@ -52,7 +52,7 @@ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T: firewall_rules = [] _firewall_rules = d.pop("firewall_rules") for firewall_rules_item_data in _firewall_rules: - firewall_rules_item = AdvancedFirewallRule.from_dict(firewall_rules_item_data) + firewall_rules_item = AdvancedFirewallRuleRequest.from_dict(firewall_rules_item_data) firewall_rules.append(firewall_rules_item) diff --git a/lib/binarylane/models/domain_record_request.py b/lib/binarylane/models/domain_record_request.py index 3e7a3f4..b718e72 100644 --- a/lib/binarylane/models/domain_record_request.py +++ b/lib/binarylane/models/domain_record_request.py @@ -15,12 +15,26 @@ class DomainRecordRequest: """ Attributes: type (DomainRecordType): The type of the DNS record. + + | Value | Description | + | ----- | ----------- | + | A | Map an IPv4 address to a hostname. | + | AAAA | Map an IPv6 address to a hostname. | + | CAA | Restrict which certificate authorities are permitted to issue certificates for a domain. | + | CNAME | Define an alias for your canonical hostname. | + | MX | Define the mail exchanges that handle mail for the domain. | + | NS | Define the nameservers that manage the domain. | + | SOA | The Start of Authority record for the zone. | + | SRV | Specify a server by hostname and port to handle a service or services. | + | TXT | Define a string of text that is associated with a hostname. | + name (str): The subdomain for this record. Use @ for records on the domain itself, and * to create a wildcard record. data (str): A general data field that has different functions depending on the record type. priority (Union[Unset, None, int]): A priority value that is only relevant for SRV and MX records. port (Union[Unset, None, int]): A port value that is only relevant for SRV records. - ttl (Union[Unset, None, int]): This value is the time to live for the record, in seconds. + ttl (Union[Unset, None, int]): This value is the time to live for the record, in seconds. The default and only + supported value is 3600. Leave null to accept this default. weight (Union[Unset, None, int]): The weight value that is only relevant for SRV records. flags (Union[Unset, None, int]): An unsigned integer between 0-255 that is only relevant for CAA records. tag (Union[Unset, None, str]): A parameter tag that is only relevant for CAA records. diff --git a/lib/binarylane/models/forwarding_rule.py b/lib/binarylane/models/forwarding_rule.py index 2351a69..6f631fb 100644 --- a/lib/binarylane/models/forwarding_rule.py +++ b/lib/binarylane/models/forwarding_rule.py @@ -15,6 +15,12 @@ class ForwardingRule: Attributes: entry_protocol (LoadBalancerRuleProtocol): The protocol that traffic must match for this load balancer to forward traffic according to this rule. + + | Value | Description | + | ----- | ----------- | + | http | The load balancer will forward HTTP traffic that matches this rule. | + | https | The load balancer will forward HTTPS traffic that matches this rule. | + """ entry_protocol: LoadBalancerRuleProtocol diff --git a/lib/binarylane/models/health_check.py b/lib/binarylane/models/health_check.py index b4642a9..ae3b988 100644 --- a/lib/binarylane/models/health_check.py +++ b/lib/binarylane/models/health_check.py @@ -15,6 +15,14 @@ class HealthCheck: """ Attributes: protocol (Union[Unset, None, HealthCheckProtocol]): Leave null to accept the default HTTP protocol. + + | Value | Description | + | ----- | ----------- | + | http | The health check will be performed via HTTP. | + | https | The health check will be performed via HTTPS. | + | both | The health check will be performed via both HTTP and HTTPS. Failing a health check on one protocol will + remove the server from the pool of servers only for that protocol. | + path (Union[Unset, None, str]): Leave null to accept the default '/' path. """ diff --git a/lib/binarylane/models/image_request.py b/lib/binarylane/models/image_request.py index a7c5e1f..aba0497 100644 --- a/lib/binarylane/models/image_request.py +++ b/lib/binarylane/models/image_request.py @@ -16,7 +16,8 @@ class ImageRequest: name (Union[Unset, None, str]): Optional: a new display name for this image. Do not provide to leave the display name unchanged, submit an empty string to clear the display name. locked (Union[Unset, None, bool]): Optional: you may choose to lock an individual backup in which case we will - not update that backup until you unlock it. Do not provide to leave the locked status unchanged. + not update that backup until you unlock it. Do not provide to leave the locked status unchanged. You may not + lock or unlock a temporary backup or a backup that is attached to a server. """ name: Union[Unset, None, str] = UNSET diff --git a/lib/binarylane/models/take_backup.py b/lib/binarylane/models/take_backup.py index b2ac963..ee50911 100644 --- a/lib/binarylane/models/take_backup.py +++ b/lib/binarylane/models/take_backup.py @@ -19,8 +19,27 @@ class TakeBackup: Attributes: type (TakeBackupType): replacement_strategy (BackupReplacementStrategy): The strategy for selecting which backup to replace (if any). + + | Value | Description | + | ----- | ----------- | + | none | Do not replace any existing backup: use a free slot of the provided backup type. If there are no free + slots an error will occur. | + | specified | Replace the specific backup id provided. | + | oldest | Use any free slots of the provided backup type, and if there are no free slots replace the oldest + unlocked and un-attached backup of the provided backup type. | + | newest | Use any free slots of the provided backup type, and if there are no free slots replace the newest + unlocked and un-attached backup of the provided backup type. | + backup_type (Union[Unset, None, BackupSlot]): If replacement_strategy is anything other than 'specified', this must be provided. + + | Value | Description | + | ----- | ----------- | + | daily | A backup which is scheduled to be taken each day. | + | weekly | A backup which is scheduled to be taken each week. | + | monthly | A backup which is scheduled to be taken each month. | + | temporary | A backup which is created on demand and only retained for a maximum of seven days. | + backup_id_to_replace (Union[Unset, None, int]): If replacement_strategy is 'specified' this property must be set to an existing backup. label (Union[Unset, None, str]): An optional label to identify the backup. diff --git a/lib/binarylane/models/update_domain_record_request.py b/lib/binarylane/models/update_domain_record_request.py index 18f6bc2..6cbdfe5 100644 --- a/lib/binarylane/models/update_domain_record_request.py +++ b/lib/binarylane/models/update_domain_record_request.py @@ -17,6 +17,19 @@ class UpdateDomainRecordRequest: Attributes: type (Union[Unset, None, DomainRecordType]): The type of the DNS record. + + | Value | Description | + | ----- | ----------- | + | A | Map an IPv4 address to a hostname. | + | AAAA | Map an IPv6 address to a hostname. | + | CAA | Restrict which certificate authorities are permitted to issue certificates for a domain. | + | CNAME | Define an alias for your canonical hostname. | + | MX | Define the mail exchanges that handle mail for the domain. | + | NS | Define the nameservers that manage the domain. | + | SOA | The Start of Authority record for the zone. | + | SRV | Specify a server by hostname and port to handle a service or services. | + | TXT | Define a string of text that is associated with a hostname. | + name (Union[Unset, None, str]): The subdomain for this record. Use @ for records on the domain itself, and * to create a wildcard record. data (Union[Unset, None, str]): A general data field that has different functions depending on the record type. diff --git a/lib/binarylane/models/upload_image_request.py b/lib/binarylane/models/upload_image_request.py index dbb2f48..6fefe99 100644 --- a/lib/binarylane/models/upload_image_request.py +++ b/lib/binarylane/models/upload_image_request.py @@ -16,9 +16,28 @@ class UploadImageRequest: """ Attributes: replacement_strategy (BackupReplacementStrategy): The strategy for selecting which backup to replace (if any). + + | Value | Description | + | ----- | ----------- | + | none | Do not replace any existing backup: use a free slot of the provided backup type. If there are no free + slots an error will occur. | + | specified | Replace the specific backup id provided. | + | oldest | Use any free slots of the provided backup type, and if there are no free slots replace the oldest + unlocked and un-attached backup of the provided backup type. | + | newest | Use any free slots of the provided backup type, and if there are no free slots replace the newest + unlocked and un-attached backup of the provided backup type. | + url (str): The source URL for the image to upload. Only HTTP and HTTPS sources are currently supported. backup_type (Union[Unset, None, BackupSlot]): If replacement_strategy is anything other than 'specified', this must be provided. + + | Value | Description | + | ----- | ----------- | + | daily | A backup which is scheduled to be taken each day. | + | weekly | A backup which is scheduled to be taken each week. | + | monthly | A backup which is scheduled to be taken each month. | + | temporary | A backup which is created on demand and only retained for a maximum of seven days. | + backup_id_to_replace (Union[Unset, None, int]): If replacement_strategy is 'specified' this property must be set to an existing backup. label (Union[Unset, None, str]): An optional label to identify the backup. diff --git a/src/binarylane/console/commands/api/delete_v2_load_balancers_load_balancer_id_forwarding_rules.py b/src/binarylane/console/commands/api/delete_v2_load_balancers_load_balancer_id_forwarding_rules.py index 6d71238..f66942e 100644 --- a/src/binarylane/console/commands/api/delete_v2_load_balancers_load_balancer_id_forwarding_rules.py +++ b/src/binarylane/console/commands/api/delete_v2_load_balancers_load_balancer_id_forwarding_rules.py @@ -62,7 +62,14 @@ def create_mapping(self) -> Mapping: LoadBalancerRuleProtocol, required=True, option_name="entry-protocol", - description="""The protocol that traffic must match for this load balancer to forward traffic according to this rule.""", + description="""The protocol that traffic must match for this load balancer to forward traffic according to this rule. + +| Value | Description | +| ----- | ----------- | +| http | The load balancer will forward HTTP traffic that matches this rule. | +| https | The load balancer will forward HTTPS traffic that matches this rule. | + +""", ) ) diff --git a/src/binarylane/console/commands/api/get_v2_actions.py b/src/binarylane/console/commands/api/get_v2_actions.py index 9e55b32..ccb4166 100644 --- a/src/binarylane/console/commands/api/get_v2_actions.py +++ b/src/binarylane/console/commands/api/get_v2_actions.py @@ -53,7 +53,18 @@ def fields(self) -> Dict[str, str]: "started_at": """The timestamp in ISO8601 format of when processing of this action started.""", "progress": """Information about the current progress of the action. Some actions are divided into 'steps' and this may also contain information about the current and completed steps.""", "completed_at": """The timestamp in ISO8601 format of when processing of this action completed. If this value is null the action is currently in progress.""", - "resource_type": """The resource type (if any) associated with this action.""", + "resource_type": """The resource type (if any) associated with this action. + +| Value | Description | +| ----- | ----------- | +| server | Server | +| load-balancer | Load Balancer | +| ssh-key | SSH Key | +| vpc | Virtual Private Network | +| image | Backup or Operating System Image | +| registered-domain-name | Registered Domain Name | + +""", "resource_id": """The resource id of the resource (if any) associated with this action.""", "region": """The region (if any) of the resource associated with this action.""", "region_slug": """The region slug (if any) of the resource associated with this action.""", diff --git a/src/binarylane/console/commands/api/get_v2_servers_server_id_actions.py b/src/binarylane/console/commands/api/get_v2_servers_server_id_actions.py index a03dc84..168bb13 100644 --- a/src/binarylane/console/commands/api/get_v2_servers_server_id_actions.py +++ b/src/binarylane/console/commands/api/get_v2_servers_server_id_actions.py @@ -58,7 +58,18 @@ def fields(self) -> Dict[str, str]: "started_at": """The timestamp in ISO8601 format of when processing of this action started.""", "progress": """Information about the current progress of the action. Some actions are divided into 'steps' and this may also contain information about the current and completed steps.""", "completed_at": """The timestamp in ISO8601 format of when processing of this action completed. If this value is null the action is currently in progress.""", - "resource_type": """The resource type (if any) associated with this action.""", + "resource_type": """The resource type (if any) associated with this action. + +| Value | Description | +| ----- | ----------- | +| server | Server | +| load-balancer | Load Balancer | +| ssh-key | SSH Key | +| vpc | Virtual Private Network | +| image | Backup or Operating System Image | +| registered-domain-name | Registered Domain Name | + +""", "resource_id": """The resource id of the resource (if any) associated with this action.""", "region": """The region (if any) of the resource associated with this action.""", "region_slug": """The region slug (if any) of the resource associated with this action.""", diff --git a/src/binarylane/console/commands/api/get_v2_servers_server_id_advanced_firewall_rules.py b/src/binarylane/console/commands/api/get_v2_servers_server_id_advanced_firewall_rules.py index 3eaf32f..13db303 100644 --- a/src/binarylane/console/commands/api/get_v2_servers_server_id_advanced_firewall_rules.py +++ b/src/binarylane/console/commands/api/get_v2_servers_server_id_advanced_firewall_rules.py @@ -45,8 +45,24 @@ def fields(self) -> Dict[str, str]: return { "source_addresses": """The source addresses to match for this rule. Each address may be an individual IPv4 address or a range in IPv4 CIDR notation.""", "destination_addresses": """The destination addresses to match for this rule. Each address may be an individual IPv4 address or a range in IPv4 CIDR notation.""", - "protocol": """The protocol to match for this rule.""", - "action": """The action to take when there is a match on this rule.""", + "protocol": """The protocol to match for this rule. + +| Value | Description | +| ----- | ----------- | +| all | This rule will match any protocol. | +| icmp | This rule will match ICMP traffic only. | +| tcp | This rule will match TCP traffic only. | +| udp | This rule will match UDP traffic only. | + +""", + "action": """The action to take when there is a match on this rule. + +| Value | Description | +| ----- | ----------- | +| drop | Traffic matching this rule will be dropped. | +| accept | Traffic matching this rule will be accepted. | + +""", "destination_ports": """The destination ports to match for this rule. Leave null or empty to match on all ports.""", "description": """A description to assist in identifying this rule. Commonly used to record the reason for the rule or the intent behind it, e.g. "Block access to RDP" or "Allow access from HQ".""", } diff --git a/src/binarylane/console/commands/api/post_v2_domains_domain_name_records.py b/src/binarylane/console/commands/api/post_v2_domains_domain_name_records.py index 3943bc7..f3c9582 100644 --- a/src/binarylane/console/commands/api/post_v2_domains_domain_name_records.py +++ b/src/binarylane/console/commands/api/post_v2_domains_domain_name_records.py @@ -55,7 +55,21 @@ def create_mapping(self) -> Mapping: DomainRecordType, required=True, option_name="type", - description="""The type of the DNS record.""", + description="""The type of the DNS record. + +| Value | Description | +| ----- | ----------- | +| A | Map an IPv4 address to a hostname. | +| AAAA | Map an IPv6 address to a hostname. | +| CAA | Restrict which certificate authorities are permitted to issue certificates for a domain. | +| CNAME | Define an alias for your canonical hostname. | +| MX | Define the mail exchanges that handle mail for the domain. | +| NS | Define the nameservers that manage the domain. | +| SOA | The Start of Authority record for the zone. | +| SRV | Specify a server by hostname and port to handle a service or services. | +| TXT | Define a string of text that is associated with a hostname. | + +""", ) ) @@ -105,7 +119,7 @@ def create_mapping(self) -> Mapping: Union[Unset, None, int], required=False, option_name="ttl", - description="""This value is the time to live for the record, in seconds.""", + description="""This value is the time to live for the record, in seconds. The default and only supported value is 3600. Leave null to accept this default.""", ) ) diff --git a/src/binarylane/console/commands/api/post_v2_load_balancers.py b/src/binarylane/console/commands/api/post_v2_load_balancers.py index cbfa088..75989a9 100644 --- a/src/binarylane/console/commands/api/post_v2_load_balancers.py +++ b/src/binarylane/console/commands/api/post_v2_load_balancers.py @@ -63,7 +63,14 @@ def create_mapping(self) -> Mapping: LoadBalancerRuleProtocol, required=True, option_name="entry-protocol", - description="""The protocol that traffic must match for this load balancer to forward traffic according to this rule.""", + description="""The protocol that traffic must match for this load balancer to forward traffic according to this rule. + +| Value | Description | +| ----- | ----------- | +| http | The load balancer will forward HTTP traffic that matches this rule. | +| https | The load balancer will forward HTTPS traffic that matches this rule. | + +""", ) ) @@ -83,7 +90,15 @@ def create_mapping(self) -> Mapping: Union[Unset, None, HealthCheckProtocol], required=False, option_name="protocol", - description="""Leave null to accept the default HTTP protocol.""", + description="""Leave null to accept the default HTTP protocol. + +| Value | Description | +| ----- | ----------- | +| http | The health check will be performed via HTTP. | +| https | The health check will be performed via HTTPS. | +| both | The health check will be performed via both HTTP and HTTPS. Failing a health check on one protocol will remove the server from the pool of servers only for that protocol. | + +""", ) ) diff --git a/src/binarylane/console/commands/api/post_v2_load_balancers_load_balancer_id_forwarding_rules.py b/src/binarylane/console/commands/api/post_v2_load_balancers_load_balancer_id_forwarding_rules.py index 612af0d..b315750 100644 --- a/src/binarylane/console/commands/api/post_v2_load_balancers_load_balancer_id_forwarding_rules.py +++ b/src/binarylane/console/commands/api/post_v2_load_balancers_load_balancer_id_forwarding_rules.py @@ -62,7 +62,14 @@ def create_mapping(self) -> Mapping: LoadBalancerRuleProtocol, required=True, option_name="entry-protocol", - description="""The protocol that traffic must match for this load balancer to forward traffic according to this rule.""", + description="""The protocol that traffic must match for this load balancer to forward traffic according to this rule. + +| Value | Description | +| ----- | ----------- | +| http | The load balancer will forward HTTP traffic that matches this rule. | +| https | The load balancer will forward HTTPS traffic that matches this rule. | + +""", ) ) diff --git a/src/binarylane/console/commands/api/post_v2_servers_server_id_backups.py b/src/binarylane/console/commands/api/post_v2_servers_server_id_backups.py index 6e9dfd2..72d069c 100644 --- a/src/binarylane/console/commands/api/post_v2_servers_server_id_backups.py +++ b/src/binarylane/console/commands/api/post_v2_servers_server_id_backups.py @@ -60,7 +60,16 @@ def lookup_server_id(ref: str) -> Union[None, int]: BackupReplacementStrategy, required=True, option_name="replacement-strategy", - description="""The strategy for selecting which backup to replace (if any).""", + description="""The strategy for selecting which backup to replace (if any). + +| Value | Description | +| ----- | ----------- | +| none | Do not replace any existing backup: use a free slot of the provided backup type. If there are no free slots an error will occur. | +| specified | Replace the specific backup id provided. | +| oldest | Use any free slots of the provided backup type, and if there are no free slots replace the oldest unlocked and un-attached backup of the provided backup type. | +| newest | Use any free slots of the provided backup type, and if there are no free slots replace the newest unlocked and un-attached backup of the provided backup type. | + +""", ) ) @@ -80,7 +89,16 @@ def lookup_server_id(ref: str) -> Union[None, int]: Union[Unset, None, BackupSlot], required=False, option_name="backup-type", - description="""If replacement_strategy is anything other than 'specified', this must be provided.""", + description="""If replacement_strategy is anything other than 'specified', this must be provided. + +| Value | Description | +| ----- | ----------- | +| daily | A backup which is scheduled to be taken each day. | +| weekly | A backup which is scheduled to be taken each week. | +| monthly | A backup which is scheduled to be taken each month. | +| temporary | A backup which is created on demand and only retained for a maximum of seven days. | + +""", ) ) diff --git a/src/binarylane/console/commands/api/post_v_2_servers_server_id_actions_change_advanced_features.py b/src/binarylane/console/commands/api/post_v_2_servers_server_id_actions_change_advanced_features.py index 69ceced..c69b0a0 100644 --- a/src/binarylane/console/commands/api/post_v_2_servers_server_id_actions_change_advanced_features.py +++ b/src/binarylane/console/commands/api/post_v_2_servers_server_id_actions_change_advanced_features.py @@ -101,7 +101,20 @@ def lookup_server_id(ref: str) -> Union[None, int]: Union[Unset, None, VmMachineType], required=False, option_name="machine-type", - description="""Do not provide or set to null to keep existing machine type.""", + description="""Do not provide or set to null to keep existing machine type. + +| Value | Description | +| ----- | ----------- | +| pc_i440fx_1point5 | PC i440FX 1.5 | +| pc_i440fx_2point11 | PC i440FX 2.11 | +| pc_i440fx_4point1 | PC i440FX 4.1 | +| pc_i440fx_4point2 | PC i440FX 4.2 | +| pc_i440fx_5point0 | PC i440FX 5.0 | +| pc_i440fx_5point1 | PC i440FX 5.1 | +| pc_i440fx_7point2 | PC i440FX 7.2 | +| pc_i440fx_8point2 | PC i440FX 8.2 | + +""", ) ) @@ -121,7 +134,16 @@ def lookup_server_id(ref: str) -> Union[None, int]: Union[Unset, None, VideoDevice], required=False, option_name="video-device", - description="""Do not provide or set to null to keep existing video device.""", + description="""Do not provide or set to null to keep existing video device. + +| Value | Description | +| ----- | ----------- | +| cirrus-logic | Cirrus Logic GD5446 | +| standard | Standard VGA with VESA 2.0 extensions | +| virtio | Virtio VGA (800x600) | +| virtio-wide | Virtio VGA (1600x900) | + +""", ) ) diff --git a/src/binarylane/console/commands/api/post_v_2_servers_server_id_actions_change_advanced_firewall_rules.py b/src/binarylane/console/commands/api/post_v_2_servers_server_id_actions_change_advanced_firewall_rules.py index 5f07013..2482751 100644 --- a/src/binarylane/console/commands/api/post_v_2_servers_server_id_actions_change_advanced_firewall_rules.py +++ b/src/binarylane/console/commands/api/post_v_2_servers_server_id_actions_change_advanced_firewall_rules.py @@ -7,9 +7,9 @@ sync_detailed, ) from binarylane.models.action_response import ActionResponse -from binarylane.models.advanced_firewall_rule import AdvancedFirewallRule from binarylane.models.advanced_firewall_rule_action import AdvancedFirewallRuleAction from binarylane.models.advanced_firewall_rule_protocol import AdvancedFirewallRuleProtocol +from binarylane.models.advanced_firewall_rule_request import AdvancedFirewallRuleRequest from binarylane.models.change_advanced_firewall_rules import ChangeAdvancedFirewallRules from binarylane.models.change_advanced_firewall_rules_type import ChangeAdvancedFirewallRulesType from binarylane.models.problem_details import ProblemDetails @@ -67,17 +67,17 @@ def lookup_server_id(ref: str) -> Union[None, int]: ) ) - json_body_advanced_firewall_rule = json_body.add( + json_body_advanced_firewall_rule_request = json_body.add( ListAttribute( "firewall_rules", - AdvancedFirewallRule, + AdvancedFirewallRuleRequest, required=True, option_name="firewall-rules", description="""A list of rules for the server. NB: that any existing rules that are not included will be removed. Submit an empty list to clear all rules.""", ) ) - json_body_advanced_firewall_rule.add( + json_body_advanced_firewall_rule_request.add( PrimitiveAttribute( "source_addresses", List[str], @@ -87,7 +87,7 @@ def lookup_server_id(ref: str) -> Union[None, int]: ) ) - json_body_advanced_firewall_rule.add( + json_body_advanced_firewall_rule_request.add( PrimitiveAttribute( "destination_addresses", List[str], @@ -97,27 +97,43 @@ def lookup_server_id(ref: str) -> Union[None, int]: ) ) - json_body_advanced_firewall_rule.add( + json_body_advanced_firewall_rule_request.add( PrimitiveAttribute( "protocol", AdvancedFirewallRuleProtocol, required=True, option_name="protocol", - description="""The protocol to match for this rule.""", + description="""The protocol to match for this rule. + +| Value | Description | +| ----- | ----------- | +| all | This rule will match any protocol. | +| icmp | This rule will match ICMP traffic only. | +| tcp | This rule will match TCP traffic only. | +| udp | This rule will match UDP traffic only. | + +""", ) ) - json_body_advanced_firewall_rule.add( + json_body_advanced_firewall_rule_request.add( PrimitiveAttribute( "action", AdvancedFirewallRuleAction, required=True, option_name="action", - description="""The action to take when there is a match on this rule.""", + description="""The action to take when there is a match on this rule. + +| Value | Description | +| ----- | ----------- | +| drop | Traffic matching this rule will be dropped. | +| accept | Traffic matching this rule will be accepted. | + +""", ) ) - json_body_advanced_firewall_rule.add( + json_body_advanced_firewall_rule_request.add( PrimitiveAttribute( "destination_ports", Union[Unset, None, List[str]], @@ -127,7 +143,7 @@ def lookup_server_id(ref: str) -> Union[None, int]: ) ) - json_body_advanced_firewall_rule.add( + json_body_advanced_firewall_rule_request.add( PrimitiveAttribute( "description", Union[Unset, None, str], diff --git a/src/binarylane/console/commands/api/post_v_2_servers_server_id_actions_resize.py b/src/binarylane/console/commands/api/post_v_2_servers_server_id_actions_resize.py index cb0c307..bd95502 100644 --- a/src/binarylane/console/commands/api/post_v_2_servers_server_id_actions_resize.py +++ b/src/binarylane/console/commands/api/post_v_2_servers_server_id_actions_resize.py @@ -341,7 +341,16 @@ def lookup_server_id(ref: str) -> Union[None, int]: BackupReplacementStrategy, required=True, option_name="replacement-strategy", - description="""The strategy for selecting which backup to replace (if any).""", + description="""The strategy for selecting which backup to replace (if any). + +| Value | Description | +| ----- | ----------- | +| none | Do not replace any existing backup: use a free slot of the provided backup type. If there are no free slots an error will occur. | +| specified | Replace the specific backup id provided. | +| oldest | Use any free slots of the provided backup type, and if there are no free slots replace the oldest unlocked and un-attached backup of the provided backup type. | +| newest | Use any free slots of the provided backup type, and if there are no free slots replace the newest unlocked and un-attached backup of the provided backup type. | + +""", ) ) @@ -351,7 +360,16 @@ def lookup_server_id(ref: str) -> Union[None, int]: Union[Unset, None, BackupSlot], required=False, option_name="backup-type", - description="""If replacement_strategy is anything other than 'specified', this must be provided.""", + description="""If replacement_strategy is anything other than 'specified', this must be provided. + +| Value | Description | +| ----- | ----------- | +| daily | A backup which is scheduled to be taken each day. | +| weekly | A backup which is scheduled to be taken each week. | +| monthly | A backup which is scheduled to be taken each month. | +| temporary | A backup which is created on demand and only retained for a maximum of seven days. | + +""", ) ) diff --git a/src/binarylane/console/commands/api/post_v_2_servers_server_id_actions_take_backup.py b/src/binarylane/console/commands/api/post_v_2_servers_server_id_actions_take_backup.py index affa2d1..de9b705 100644 --- a/src/binarylane/console/commands/api/post_v_2_servers_server_id_actions_take_backup.py +++ b/src/binarylane/console/commands/api/post_v_2_servers_server_id_actions_take_backup.py @@ -70,7 +70,16 @@ def lookup_server_id(ref: str) -> Union[None, int]: BackupReplacementStrategy, required=True, option_name="replacement-strategy", - description="""The strategy for selecting which backup to replace (if any).""", + description="""The strategy for selecting which backup to replace (if any). + +| Value | Description | +| ----- | ----------- | +| none | Do not replace any existing backup: use a free slot of the provided backup type. If there are no free slots an error will occur. | +| specified | Replace the specific backup id provided. | +| oldest | Use any free slots of the provided backup type, and if there are no free slots replace the oldest unlocked and un-attached backup of the provided backup type. | +| newest | Use any free slots of the provided backup type, and if there are no free slots replace the newest unlocked and un-attached backup of the provided backup type. | + +""", ) ) @@ -80,7 +89,16 @@ def lookup_server_id(ref: str) -> Union[None, int]: Union[Unset, None, BackupSlot], required=False, option_name="backup-type", - description="""If replacement_strategy is anything other than 'specified', this must be provided.""", + description="""If replacement_strategy is anything other than 'specified', this must be provided. + +| Value | Description | +| ----- | ----------- | +| daily | A backup which is scheduled to be taken each day. | +| weekly | A backup which is scheduled to be taken each week. | +| monthly | A backup which is scheduled to be taken each month. | +| temporary | A backup which is created on demand and only retained for a maximum of seven days. | + +""", ) ) diff --git a/src/binarylane/console/commands/api/put_v2_domains_domain_name_records_record_id.py b/src/binarylane/console/commands/api/put_v2_domains_domain_name_records_record_id.py index b4abead..b22fe24 100644 --- a/src/binarylane/console/commands/api/put_v2_domains_domain_name_records_record_id.py +++ b/src/binarylane/console/commands/api/put_v2_domains_domain_name_records_record_id.py @@ -64,7 +64,21 @@ def create_mapping(self) -> Mapping: Union[Unset, None, DomainRecordType], required=False, option_name="type", - description="""The type of the DNS record.""", + description="""The type of the DNS record. + +| Value | Description | +| ----- | ----------- | +| A | Map an IPv4 address to a hostname. | +| AAAA | Map an IPv6 address to a hostname. | +| CAA | Restrict which certificate authorities are permitted to issue certificates for a domain. | +| CNAME | Define an alias for your canonical hostname. | +| MX | Define the mail exchanges that handle mail for the domain. | +| NS | Define the nameservers that manage the domain. | +| SOA | The Start of Authority record for the zone. | +| SRV | Specify a server by hostname and port to handle a service or services. | +| TXT | Define a string of text that is associated with a hostname. | + +""", ) ) diff --git a/src/binarylane/console/commands/api/put_v2_images_image_id.py b/src/binarylane/console/commands/api/put_v2_images_image_id.py index 0f0d3fd..14c1394 100644 --- a/src/binarylane/console/commands/api/put_v2_images_image_id.py +++ b/src/binarylane/console/commands/api/put_v2_images_image_id.py @@ -62,7 +62,7 @@ def create_mapping(self) -> Mapping: Union[Unset, None, bool], required=False, option_name="locked", - description="""Optional: you may choose to lock an individual backup in which case we will not update that backup until you unlock it. Do not provide to leave the locked status unchanged.""", + description="""Optional: you may choose to lock an individual backup in which case we will not update that backup until you unlock it. Do not provide to leave the locked status unchanged. You may not lock or unlock a temporary backup or a backup that is attached to a server.""", ) ) diff --git a/src/binarylane/console/commands/api/put_v2_load_balancers_load_balancer_id.py b/src/binarylane/console/commands/api/put_v2_load_balancers_load_balancer_id.py index d67904b..87a72dd 100644 --- a/src/binarylane/console/commands/api/put_v2_load_balancers_load_balancer_id.py +++ b/src/binarylane/console/commands/api/put_v2_load_balancers_load_balancer_id.py @@ -76,7 +76,14 @@ def create_mapping(self) -> Mapping: LoadBalancerRuleProtocol, required=True, option_name="entry-protocol", - description="""The protocol that traffic must match for this load balancer to forward traffic according to this rule.""", + description="""The protocol that traffic must match for this load balancer to forward traffic according to this rule. + +| Value | Description | +| ----- | ----------- | +| http | The load balancer will forward HTTP traffic that matches this rule. | +| https | The load balancer will forward HTTPS traffic that matches this rule. | + +""", ) ) @@ -96,7 +103,15 @@ def create_mapping(self) -> Mapping: Union[Unset, None, HealthCheckProtocol], required=False, option_name="protocol", - description="""Leave null to accept the default HTTP protocol.""", + description="""Leave null to accept the default HTTP protocol. + +| Value | Description | +| ----- | ----------- | +| http | The health check will be performed via HTTP. | +| https | The health check will be performed via HTTPS. | +| both | The health check will be performed via both HTTP and HTTPS. Failing a health check on one protocol will remove the server from the pool of servers only for that protocol. | + +""", ) )