Skip to content

An unofficial Rust client implementation for the exoscale API

Notifications You must be signed in to change notification settings

SonicFrog/exoscale

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rust API client for openapi

GitHub Workflow Status GitHub Crates.io (recent)

Infrastructure automation API, allowing programmatic access to all Exoscale products and services.

The OpenAPI Specification source of this documentation can be obtained here:

For more information, please visit https://portal.exoscale.com/tickets

Overview

This API client was generated by the OpenAPI Generator project. Minor fixes were required in order to fix wrong generated code.

  • API version: 2.0.0
  • Package version: 2.0.0
  • Build package: org.openapitools.codegen.languages.RustClientCodegen

Usage

Simply add the following to your Cargo.toml

exoscale = "2.0.0". 

Documentation for API Endpoints

All URIs are relative to https://api-ch-gva-2.exoscale.com/v2

Class Method HTTP request Description
AntiAffinityGroupApi create_anti_affinity_group POST /anti-affinity-group Create an Anti-affinity Group
AntiAffinityGroupApi delete_anti_affinity_group DELETE /anti-affinity-group/{id} Delete an Anti-affinity Group
AntiAffinityGroupApi get_anti_affinity_group GET /anti-affinity-group/{id} Retrieve Anti-affinity Group details
AntiAffinityGroupApi list_anti_affinity_groups GET /anti-affinity-group List Anti-affinity Groups
ComputeApi reset_load_balancer_service_field DELETE /load-balancer/{id}/service/{service-id}/{field} Reset a Load Balancer Service field to its default value
DbaasApi create_dbaas_integration POST /dbaas-integration Create a new DBaaS integration between two services
DbaasApi create_dbaas_service_kafka POST /dbaas-kafka/{name} Create a DBaaS Kafka service
DbaasApi create_dbaas_service_mysql POST /dbaas-mysql/{name} Create a DBaaS MySQL service
DbaasApi create_dbaas_service_opensearch POST /dbaas-opensearch/{name} Create a DBaaS OpenSearch service
DbaasApi create_dbaas_service_pg POST /dbaas-postgres/{name} Create a DBaaS PostgreSQL service
DbaasApi create_dbaas_service_redis POST /dbaas-redis/{name} Create a DBaaS Redis service
DbaasApi create_dbaas_task_migration_check POST /dbaas-task-migration-check/{service} Create a DBaaS task to check migration
DbaasApi delete_dbaas_integration DELETE /dbaas-integration/{id} Delete a DBaaS Integration
DbaasApi delete_dbaas_service DELETE /dbaas-service/{name} Delete a DBaaS service
DbaasApi get_dbaas_ca_certificate GET /dbaas-ca-certificate Get DBaaS CA Certificate
DbaasApi get_dbaas_integration GET /dbaas-integration/{id} Get a DBaaS Integration
DbaasApi get_dbaas_migration_status GET /dbaas-migration-status/{name} Get a DBaaS migration status
DbaasApi get_dbaas_service_kafka GET /dbaas-kafka/{name} Get a DBaaS Kafka service
DbaasApi get_dbaas_service_logs POST /dbaas-service-logs/{service-name} Get logs of DBaaS service
DbaasApi get_dbaas_service_metrics POST /dbaas-service-metrics/{service-name} Get metrics of DBaaS service
DbaasApi get_dbaas_service_mysql GET /dbaas-mysql/{name} Get a DBaaS MySQL service
DbaasApi get_dbaas_service_opensearch GET /dbaas-opensearch/{name} Get a DBaaS OpenSearch service
DbaasApi get_dbaas_service_pg GET /dbaas-postgres/{name} Get a DBaaS PostgreSQL service
DbaasApi get_dbaas_service_redis GET /dbaas-redis/{name} Get a DBaaS Redis service
DbaasApi get_dbaas_service_type GET /dbaas-service-type/{service-type-name} Get a DBaaS service type
DbaasApi get_dbaas_settings_kafka GET /dbaas-settings-kafka Get DBaaS Kafka settings
DbaasApi get_dbaas_settings_mysql GET /dbaas-settings-mysql Get DBaaS MySQL settings
DbaasApi get_dbaas_settings_opensearch GET /dbaas-settings-opensearch Get DBaaS OpenSearch settings
DbaasApi get_dbaas_settings_pg GET /dbaas-settings-pg Get DBaaS PostgreSQL settings
DbaasApi get_dbaas_settings_redis GET /dbaas-settings-redis Get DBaaS Redis settings
DbaasApi get_dbaas_task GET /dbaas-task/{service}/{id} Get a DBaaS task
DbaasApi list_dbaas_integration_settings GET /dbaas-integration-settings/{integration-type}/{source-type}/{dest-type} Get DBaaS integration settings
DbaasApi list_dbaas_integration_types GET /dbaas-integration-types Get DBaaS integration types
DbaasApi list_dbaas_service_types GET /dbaas-service-type DBaaS Service Types
DbaasApi list_dbaas_services GET /dbaas-service List DBaaS services
DbaasApi stop_dbaas_mysql_migration POST /dbaas-mysql/{name}/migration/stop Stop a DBaaS MySQL migration
DbaasApi stop_dbaas_pg_migration POST /dbaas-postgres/{name}/migration/stop Stop a DBaaS PostgreSQL migration
DbaasApi stop_dbaas_redis_migration POST /dbaas-redis/{name}/migration/stop Stop a DBaaS Redis migration
DbaasApi update_dbaas_integration PUT /dbaas-integration/{id} Update a existing DBaaS integration
DbaasApi update_dbaas_service_kafka PUT /dbaas-kafka/{name} Update a DBaaS Kafka service
DbaasApi update_dbaas_service_mysql PUT /dbaas-mysql/{name} Update a DBaaS MySQL service
DbaasApi update_dbaas_service_opensearch PUT /dbaas-opensearch/{name} Update a DBaaS OpenSearch service
DbaasApi update_dbaas_service_pg PUT /dbaas-postgres/{name} Update a DBaaS PostgreSQL service
DbaasApi update_dbaas_service_redis PUT /dbaas-redis/{name} Update a DBaaS Redis service
DeployTargetApi get_deploy_target GET /deploy-target/{id} Retrieve Deploy Target details
DeployTargetApi list_deploy_targets GET /deploy-target List Deploy Targets
DnsApi create_dns_domain POST /dns-domain Create DNS domain
DnsApi create_dns_domain_record POST /dns-domain/{domain-id}/record Create DNS domain record
DnsApi delete_dns_domain DELETE /dns-domain/{id} Delete DNS Domain
DnsApi delete_dns_domain_record DELETE /dns-domain/{domain-id}/record/{record-id} Delete DNS domain record
DnsApi get_dns_domain GET /dns-domain/{id} Retrieve DNS domain details
DnsApi get_dns_domain_record GET /dns-domain/{domain-id}/record/{record-id} Retrieve DNS domain record details
DnsApi get_dns_domain_zone_file GET /dns-domain/{id}/zone Retrieve DNS domain zone file
DnsApi list_dns_domain_records GET /dns-domain/{domain-id}/record List DNS domain records
DnsApi list_dns_domains GET /dns-domain List DNS domains
DnsApi update_dns_domain_record PUT /dns-domain/{domain-id}/record/{record-id} Update DNS domain record
ElasticIpApi attach_instance_to_elastic_ip PUT /elastic-ip/{id}:attach Attach a Compute instance to an Elastic IP
ElasticIpApi create_elastic_ip POST /elastic-ip Create an Elastic IP
ElasticIpApi delete_elastic_ip DELETE /elastic-ip/{id} Delete an Elastic IP
ElasticIpApi detach_instance_from_elastic_ip PUT /elastic-ip/{id}:detach Detach a Compute instance from an Elastic IP
ElasticIpApi get_elastic_ip GET /elastic-ip/{id} Retrieve Elastic IP details
ElasticIpApi list_elastic_ips GET /elastic-ip List Elastic IPs
ElasticIpApi reset_elastic_ip_field DELETE /elastic-ip/{id}/{field} Reset an Elastic IP field to its default value
ElasticIpApi update_elastic_ip PUT /elastic-ip/{id} Update an Elastic IP
EventApi list_events GET /event List Events
IamApi create_access_key POST /access-key Create an IAM Access Key
IamApi get_access_key GET /access-key/{key} Retrieve IAM Access Key details
IamApi list_access_key_known_operations GET /access-key-known-operations Retrieve all known available IAM Access Key operations and associated tags
IamApi list_access_key_operations GET /access-key-operations Retrieve IAM Access Key operations and associated tags for the signing key
IamApi list_access_keys GET /access-key List IAM Access Keys
IamApi revoke_access_key DELETE /access-key/{key} Revoke an IAM Access Key
InstanceApi add_instance_protection PUT /instance/{id}:add-protection Set instance destruction protection
InstanceApi create_instance POST /instance Create a Compute instance
InstanceApi create_snapshot POST /instance/{id}:create-snapshot Create a Snapshot of a Compute instance
InstanceApi delete_instance DELETE /instance/{id} Delete a Compute instance
InstanceApi get_instance GET /instance/{id} Retrieve Compute instance details
InstanceApi list_instances GET /instance List Compute instances
InstanceApi reboot_instance PUT /instance/{id}:reboot Reboot a Compute instance
InstanceApi remove_instance_protection PUT /instance/{id}:remove-protection Remove instance destruction protection
InstanceApi reset_instance PUT /instance/{id}:reset Reset a Compute instance to a base/target template
InstanceApi reset_instance_field DELETE /instance/{id}/{field} Reset Instance field
InstanceApi resize_instance_disk PUT /instance/{id}:resize-disk Resize a Compute instance disk
InstanceApi revert_instance_to_snapshot POST /instance/{instance-id}:revert-snapshot Revert a snapshot for an instance
InstanceApi scale_instance PUT /instance/{id}:scale Scale a Compute instance to a new Instance Type
InstanceApi start_instance PUT /instance/{id}:start Start a Compute instance
InstanceApi stop_instance PUT /instance/{id}:stop Stop a Compute instance
InstanceApi update_instance PUT /instance/{id} Update a Compute instance
InstancePoolApi create_instance_pool POST /instance-pool Create an Instance Pool
InstancePoolApi delete_instance_pool DELETE /instance-pool/{id} Delete an Instance Pool
InstancePoolApi evict_instance_pool_members PUT /instance-pool/{id}:evict Evict Instance Pool members
InstancePoolApi get_instance_pool GET /instance-pool/{id} Retrieve Instance Pool details
InstancePoolApi list_instance_pools GET /instance-pool List Instance Pools
InstancePoolApi reset_instance_pool_field DELETE /instance-pool/{id}/{field} Reset an Instance Pool field to its default value
InstancePoolApi scale_instance_pool PUT /instance-pool/{id}:scale Scale an Instance Pool
InstancePoolApi update_instance_pool PUT /instance-pool/{id} Update an Instance Pool
InstanceTypeApi get_instance_type GET /instance-type/{id} Retrieve Instance Type details
InstanceTypeApi list_instance_types GET /instance-type List Compute instance Types
NetworkLoadBalancerApi add_service_to_load_balancer POST /load-balancer/{id}/service Add a Load Balancer Service
NetworkLoadBalancerApi create_load_balancer POST /load-balancer Create a Load Balancer
NetworkLoadBalancerApi delete_load_balancer DELETE /load-balancer/{id} Delete a Load Balancer
NetworkLoadBalancerApi delete_load_balancer_service DELETE /load-balancer/{id}/service/{service-id} Delete a Load Balancer Service
NetworkLoadBalancerApi get_load_balancer GET /load-balancer/{id} Retrieve Load Balancer details
NetworkLoadBalancerApi get_load_balancer_service GET /load-balancer/{id}/service/{service-id} Retrieve Load Balancer Service details
NetworkLoadBalancerApi list_load_balancers GET /load-balancer List Load Balancers
NetworkLoadBalancerApi reset_load_balancer_field DELETE /load-balancer/{id}/{field} Reset a Load Balancer field to its default value
NetworkLoadBalancerApi reset_load_balancer_service_field DELETE /load-balancer/{id}/service/{service-id}/{field} Reset a Load Balancer Service field to its default value
NetworkLoadBalancerApi update_load_balancer PUT /load-balancer/{id} Update a Load Balancer
NetworkLoadBalancerApi update_load_balancer_service PUT /load-balancer/{id}/service/{service-id} Update a Load Balancer Service
OperationApi get_operation GET /operation/{id} Retrieve Operation details
PrivateNetworkApi attach_instance_to_private_network PUT /private-network/{id}:attach Attach a Compute instance to a Private Network
PrivateNetworkApi create_private_network POST /private-network Create a Private Network
PrivateNetworkApi delete_private_network DELETE /private-network/{id} Delete a Private Network
PrivateNetworkApi detach_instance_from_private_network PUT /private-network/{id}:detach Detach a Compute instance from a Private Network
PrivateNetworkApi get_private_network GET /private-network/{id} Retrieve Private Network details
PrivateNetworkApi list_private_networks GET /private-network List Private Networks
PrivateNetworkApi reset_private_network_field DELETE /private-network/{id}/{field} Reset Private Network field
PrivateNetworkApi update_private_network PUT /private-network/{id} Update a Private Network
PrivateNetworkApi update_private_network_instance_ip PUT /private-network/{id}:update-ip Update the IP address of an instance attached to a managed private network
QuotasApi get_quota GET /quota/{entity} Retrieve Resource Quota
QuotasApi list_quotas GET /quota List Organization Quotas
ReverseDnsApi delete_reverse_dns_elastic_ip DELETE /reverse-dns/elastic-ip/{id} Delete the PTR DNS record for an elastic IP
ReverseDnsApi delete_reverse_dns_instance DELETE /reverse-dns/instance/{id} Delete the PTR DNS record for an instance
ReverseDnsApi get_reverse_dns_elastic_ip GET /reverse-dns/elastic-ip/{id} Query the PTR DNS records for an elastic IP
ReverseDnsApi get_reverse_dns_instance GET /reverse-dns/instance/{id} Query the PTR DNS records for an instance
ReverseDnsApi update_reverse_dns_elastic_ip POST /reverse-dns/elastic-ip/{id} Update/Create the PTR DNS record for an elastic IP
ReverseDnsApi update_reverse_dns_instance POST /reverse-dns/instance/{id} Update/Create the PTR DNS record for an instance
SecurityGroupApi add_external_source_to_security_group PUT /security-group/{id}:add-source Add an external source as a member of a Security Group
SecurityGroupApi add_rule_to_security_group POST /security-group/{id}/rules Create a Security Group rule
SecurityGroupApi attach_instance_to_security_group PUT /security-group/{id}:attach Attach a Compute instance to a Security Group
SecurityGroupApi create_security_group POST /security-group Create a Security Group
SecurityGroupApi delete_rule_from_security_group DELETE /security-group/{id}/rules/{rule-id} Delete a Security Group rule
SecurityGroupApi delete_security_group DELETE /security-group/{id} Delete a Security Group
SecurityGroupApi detach_instance_from_security_group PUT /security-group/{id}:detach Detach a Compute instance from a Security Group
SecurityGroupApi get_security_group GET /security-group/{id} Retrieve Security Group details
SecurityGroupApi list_security_groups GET /security-group List Security Groups
SecurityGroupApi remove_external_source_from_security_group PUT /security-group/{id}:remove-source Remove an external source from a Security Group
SksApi create_sks_cluster POST /sks-cluster Create an SKS cluster
SksApi create_sks_nodepool POST /sks-cluster/{id}/nodepool Create a new SKS Nodepool
SksApi delete_sks_cluster DELETE /sks-cluster/{id} Delete an SKS cluster
SksApi delete_sks_nodepool DELETE /sks-cluster/{id}/nodepool/{sks-nodepool-id} Delete an SKS Nodepool
SksApi evict_sks_nodepool_members PUT /sks-cluster/{id}/nodepool/{sks-nodepool-id}:evict Evict Nodepool members
SksApi generate_sks_cluster_kubeconfig POST /sks-cluster-kubeconfig/{id} Generate a new Kubeconfig file for a SKS cluster
SksApi get_sks_cluster GET /sks-cluster/{id} Retrieve SKS cluster details
SksApi get_sks_cluster_authority_cert GET /sks-cluster/{id}/authority/{authority}/cert Get the certificate for a SKS cluster authority
SksApi get_sks_nodepool GET /sks-cluster/{id}/nodepool/{sks-nodepool-id} Retrieve SKS Nodepool details
SksApi list_sks_cluster_deprecated_resources GET /sks-cluster-deprecated-resources/{id} Resources that are scheduled to be removed in future kubernetes releases
SksApi list_sks_cluster_versions GET /sks-cluster-version List available versions for SKS clusters
SksApi list_sks_clusters GET /sks-cluster List SKS clusters
SksApi reset_sks_cluster_field DELETE /sks-cluster/{id}/{field} Reset an SKS cluster field to its default value
SksApi reset_sks_nodepool_field DELETE /sks-cluster/{id}/nodepool/{sks-nodepool-id}/{field} Reset an SKS Nodepool field to its default value
SksApi rotate_sks_ccm_credentials PUT /sks-cluster/{id}/rotate-ccm-credentials Rotate Exoscale CCM credentials
SksApi rotate_sks_operators_ca PUT /sks-cluster/{id}/rotate-operators-ca Rotate operators certificate authority
SksApi scale_sks_nodepool PUT /sks-cluster/{id}/nodepool/{sks-nodepool-id}:scale Scale a SKS Nodepool
SksApi update_sks_cluster PUT /sks-cluster/{id} Update an SKS cluster
SksApi update_sks_nodepool PUT /sks-cluster/{id}/nodepool/{sks-nodepool-id} Update an SKS Nodepool
SksApi upgrade_sks_cluster PUT /sks-cluster/{id}/upgrade Upgrade an SKS cluster
SksApi upgrade_sks_cluster_service_level PUT /sks-cluster/{id}/upgrade-service-level Upgrade a SKS cluster to pro
SnapshotApi create_snapshot POST /instance/{id}:create-snapshot Create a Snapshot of a Compute instance
SnapshotApi delete_snapshot DELETE /snapshot/{id} Delete a Snapshot
SnapshotApi export_snapshot POST /snapshot/{id}:export Export a Snapshot
SnapshotApi get_snapshot GET /snapshot/{id} Retrieve Snapshot details
SnapshotApi list_snapshots GET /snapshot List Snapshots
SnapshotApi promote_snapshot_to_template POST /snapshot/{id}:promote Promote a Snapshot to a Template
SosApi get_sos_presigned_url GET /sos/{bucket}/presigned-url Retrieve Presigned Download URL for SOS object
SosApi list_sos_buckets_usage GET /sos-buckets-usage List SOS Buckets Usage
SshKeyApi delete_ssh_key DELETE /ssh-key/{name} Delete a SSH key
SshKeyApi get_ssh_key GET /ssh-key/{name} Retrieve SSH key details
SshKeyApi list_ssh_keys GET /ssh-key List SSH keys
SshKeyApi register_ssh_key POST /ssh-key Import SSH key
TemplateApi copy_template POST /template/{id} Copy a Template from a zone to another
TemplateApi delete_template DELETE /template/{id} Delete a Template
TemplateApi get_template GET /template/{id} Retrieve Template details
TemplateApi list_templates GET /template List Templates
TemplateApi promote_snapshot_to_template POST /snapshot/{id}:promote Promote a Snapshot to a Template
TemplateApi register_template POST /template Register a Template
TemplateApi update_template PUT /template/{id} Update template attributes
ZoneApi list_zones GET /zone List Zones

Documentation For Models

To get access to the crate's generated documentation, use:

cargo doc --open --no-deps

Author

api@exoscale.com

About

An unofficial Rust client implementation for the exoscale API

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages