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.

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 | createantiaffinitygroup | POST /anti-affinity-group | Create an Anti-affinity Group *AntiAffinityGroupApi* | deleteantiaffinitygroup | DELETE /anti-affinity-group/{id} | Delete an Anti-affinity Group AntiAffinityGroupApi | getantiaffinitygroup | GET /anti-affinity-group/{id} | Retrieve Anti-affinity Group details *AntiAffinityGroupApi* | listantiaffinitygroups | GET /anti-affinity-group | List Anti-affinity Groups ComputeApi | resetloadbalancerservicefield | DELETE /load-balancer/{id}/service/{service-id}/{field} | Reset a Load Balancer Service field to its default value DbaasApi | createdbaasintegration | POST /dbaas-integration | Create a new DBaaS integration between two services DbaasApi | createdbaasservicekafka | POST /dbaas-kafka/{name} | Create a DBaaS Kafka service *DbaasApi* | createdbaasservicemysql | POST /dbaas-mysql/{name} | Create a DBaaS MySQL service DbaasApi | createdbaasserviceopensearch | POST /dbaas-opensearch/{name} | Create a DBaaS OpenSearch service *DbaasApi* | createdbaasservicepg | POST /dbaas-postgres/{name} | Create a DBaaS PostgreSQL service DbaasApi | createdbaasserviceredis | POST /dbaas-redis/{name} | Create a DBaaS Redis service *DbaasApi* | createdbaastaskmigrationcheck | POST /dbaas-task-migration-check/{service} | Create a DBaaS task to check migration *DbaasApi* | deletedbaasintegration | DELETE /dbaas-integration/{id} | Delete a DBaaS Integration *DbaasApi* | deletedbaasservice | DELETE /dbaas-service/{name} | Delete a DBaaS service *DbaasApi* | getdbaascacertificate | GET /dbaas-ca-certificate | Get DBaaS CA Certificate DbaasApi | getdbaasintegration | GET /dbaas-integration/{id} | Get a DBaaS Integration DbaasApi | getdbaasmigrationstatus | GET /dbaas-migration-status/{name} | Get a DBaaS migration status *DbaasApi* | getdbaasservicekafka | GET /dbaas-kafka/{name} | Get a DBaaS Kafka service DbaasApi | getdbaasservicelogs | POST /dbaas-service-logs/{service-name} | Get logs of DBaaS service *DbaasApi* | getdbaasservicemetrics | POST /dbaas-service-metrics/{service-name} | Get metrics of DBaaS service DbaasApi | getdbaasservicemysql | GET /dbaas-mysql/{name} | Get a DBaaS MySQL service *DbaasApi* | getdbaasserviceopensearch | GET /dbaas-opensearch/{name} | Get a DBaaS OpenSearch service DbaasApi | getdbaasservicepg | GET /dbaas-postgres/{name} | Get a DBaaS PostgreSQL service *DbaasApi* | getdbaasserviceredis | GET /dbaas-redis/{name} | Get a DBaaS Redis service DbaasApi | getdbaasservicetype | GET /dbaas-service-type/{service-type-name} | Get a DBaaS service type *DbaasApi* | getdbaassettingskafka | GET /dbaas-settings-kafka | Get DBaaS Kafka settings DbaasApi | getdbaassettingsmysql | GET /dbaas-settings-mysql | Get DBaaS MySQL settings *DbaasApi* | getdbaassettingsopensearch | GET /dbaas-settings-opensearch | Get DBaaS OpenSearch settings DbaasApi | getdbaassettingspg | GET /dbaas-settings-pg | Get DBaaS PostgreSQL settings *DbaasApi* | getdbaassettingsredis | GET /dbaas-settings-redis | Get DBaaS Redis settings DbaasApi | getdbaastask | GET /dbaas-task/{service}/{id} | Get a DBaaS task DbaasApi | listdbaasintegrationsettings | GET /dbaas-integration-settings/{integration-type}/{source-type}/{dest-type} | Get DBaaS integration settings *DbaasApi* | listdbaasintegrationtypes | GET /dbaas-integration-types | Get DBaaS integration types DbaasApi | listdbaasservicetypes | GET /dbaas-service-type | DBaaS Service Types *DbaasApi* | listdbaasservices | GET /dbaas-service | List DBaaS services *DbaasApi* | stopdbaasmysqlmigration | POST /dbaas-mysql/{name}/migration/stop | Stop a DBaaS MySQL migration DbaasApi | stopdbaaspgmigration | POST /dbaas-postgres/{name}/migration/stop | Stop a DBaaS PostgreSQL migration *DbaasApi* | stopdbaasredismigration | POST /dbaas-redis/{name}/migration/stop | Stop a DBaaS Redis migration DbaasApi | updatedbaasintegration | PUT /dbaas-integration/{id} | Update a existing DBaaS integration DbaasApi | updatedbaasservicekafka | PUT /dbaas-kafka/{name} | Update a DBaaS Kafka service *DbaasApi* | updatedbaasservicemysql | PUT /dbaas-mysql/{name} | Update a DBaaS MySQL service DbaasApi | updatedbaasserviceopensearch | PUT /dbaas-opensearch/{name} | Update a DBaaS OpenSearch service *DbaasApi* | updatedbaasservicepg | PUT /dbaas-postgres/{name} | Update a DBaaS PostgreSQL service DbaasApi | updatedbaasserviceredis | PUT /dbaas-redis/{name} | Update a DBaaS Redis service *DeployTargetApi* | getdeploytarget | GET /deploy-target/{id} | Retrieve Deploy Target details *DeployTargetApi* | listdeploytargets | GET /deploy-target | List Deploy Targets *DnsApi* | creatednsdomain | POST /dns-domain | Create DNS domain *DnsApi* | creatednsdomainrecord | POST /dns-domain/{domain-id}/record | Create DNS domain record DnsApi | deletednsdomain | DELETE /dns-domain/{id} | Delete DNS Domain DnsApi | deletednsdomainrecord | DELETE /dns-domain/{domain-id}/record/{record-id} | Delete DNS domain record *DnsApi* | getdnsdomain | GET /dns-domain/{id} | Retrieve DNS domain details *DnsApi* | getdnsdomainrecord | GET /dns-domain/{domain-id}/record/{record-id} | Retrieve DNS domain record details DnsApi | getdnsdomainzonefile | GET /dns-domain/{id}/zone | Retrieve DNS domain zone file DnsApi | listdnsdomainrecords | GET /dns-domain/{domain-id}/record | List DNS domain records *DnsApi* | listdnsdomains | GET /dns-domain | List DNS domains *DnsApi* | updatednsdomainrecord | PUT /dns-domain/{domain-id}/record/{record-id} | Update DNS domain record ElasticIpApi | attachinstancetoelasticip | PUT /elastic-ip/{id}:attach | Attach a Compute instance to an Elastic IP ElasticIpApi | createelasticip | POST /elastic-ip | Create an Elastic IP ElasticIpApi | deleteelasticip | DELETE /elastic-ip/{id} | Delete an Elastic IP ElasticIpApi | detachinstancefromelasticip | PUT /elastic-ip/{id}:detach | Detach a Compute instance from an Elastic IP ElasticIpApi | getelasticip | GET /elastic-ip/{id} | Retrieve Elastic IP details ElasticIpApi | listelasticips | GET /elastic-ip | List Elastic IPs ElasticIpApi | resetelasticipfield | DELETE /elastic-ip/{id}/{field} | Reset an Elastic IP field to its default value *ElasticIpApi* | updateelasticip | PUT /elastic-ip/{id} | Update an Elastic IP *EventApi* | listevents | GET /event | List Events IamApi | createaccesskey | POST /access-key | Create an IAM Access Key IamApi | getaccesskey | GET /access-key/{key} | Retrieve IAM Access Key details IamApi | listaccesskeyknownoperations | GET /access-key-known-operations | Retrieve all known available IAM Access Key operations and associated tags IamApi | listaccesskeyoperations | GET /access-key-operations | Retrieve IAM Access Key operations and associated tags for the signing key *IamApi* | listaccesskeys | GET /access-key | List IAM Access Keys *IamApi* | revokeaccesskey | DELETE /access-key/{key} | Revoke an IAM Access Key *InstanceApi* | addinstanceprotection | PUT /instance/{id}:add-protection | Set instance destruction protection *InstanceApi* | createinstance | POST /instance | Create a Compute instance InstanceApi | createsnapshot | POST /instance/{id}:create-snapshot | Create a Snapshot of a Compute instance *InstanceApi* | deleteinstance | DELETE /instance/{id} | Delete a Compute instance InstanceApi | getinstance | GET /instance/{id} | Retrieve Compute instance details *InstanceApi* | listinstances | GET /instance | List Compute instances InstanceApi | rebootinstance | PUT /instance/{id}:reboot | Reboot a Compute instance *InstanceApi* | removeinstanceprotection | PUT /instance/{id}:remove-protection | Remove instance destruction protection *InstanceApi* | resetinstance | PUT /instance/{id}:reset | Reset a Compute instance to a base/target template InstanceApi | resetinstancefield | DELETE /instance/{id}/{field} | Reset Instance field InstanceApi | resizeinstancedisk | PUT /instance/{id}:resize-disk | Resize a Compute instance disk InstanceApi | revertinstancetosnapshot | POST /instance/{instance-id}:revert-snapshot | Revert a snapshot for an instance *InstanceApi* | scaleinstance | PUT /instance/{id}:scale | Scale a Compute instance to a new Instance Type InstanceApi | startinstance | PUT /instance/{id}:start | Start a Compute instance *InstanceApi* | stopinstance | PUT /instance/{id}:stop | Stop a Compute instance InstanceApi | updateinstance | PUT /instance/{id} | Update a Compute instance *InstancePoolApi* | createinstancepool | POST /instance-pool | Create an Instance Pool *InstancePoolApi* | deleteinstancepool | DELETE /instance-pool/{id} | Delete an Instance Pool *InstancePoolApi* | evictinstancepoolmembers | PUT /instance-pool/{id}:evict | Evict Instance Pool members InstancePoolApi | getinstancepool | GET /instance-pool/{id} | Retrieve Instance Pool details InstancePoolApi | listinstancepools | GET /instance-pool | List Instance Pools InstancePoolApi | resetinstancepoolfield | DELETE /instance-pool/{id}/{field} | Reset an Instance Pool field to its default value *InstancePoolApi* | scaleinstancepool | PUT /instance-pool/{id}:scale | Scale an Instance Pool *InstancePoolApi* | updateinstancepool | PUT /instance-pool/{id} | Update an Instance Pool *InstanceTypeApi* | getinstancetype | GET /instance-type/{id} | Retrieve Instance Type details *InstanceTypeApi* | listinstancetypes | GET /instance-type | List Compute instance Types *NetworkLoadBalancerApi* | addservicetoloadbalancer | POST /load-balancer/{id}/service | Add a Load Balancer Service *NetworkLoadBalancerApi* | createloadbalancer | POST /load-balancer | Create a Load Balancer *NetworkLoadBalancerApi* | deleteloadbalancer | DELETE /load-balancer/{id} | Delete a Load Balancer *NetworkLoadBalancerApi* | deleteloadbalancerservice | DELETE /load-balancer/{id}/service/{service-id} | Delete a Load Balancer Service NetworkLoadBalancerApi | getloadbalancer | GET /load-balancer/{id} | Retrieve Load Balancer details NetworkLoadBalancerApi | getloadbalancerservice | GET /load-balancer/{id}/service/{service-id} | Retrieve Load Balancer Service details *NetworkLoadBalancerApi* | listloadbalancers | GET /load-balancer | List Load Balancers *NetworkLoadBalancerApi* | resetloadbalancerfield | DELETE /load-balancer/{id}/{field} | Reset a Load Balancer field to its default value NetworkLoadBalancerApi | resetloadbalancerservicefield | DELETE /load-balancer/{id}/service/{service-id}/{field} | Reset a Load Balancer Service field to its default value NetworkLoadBalancerApi | updateloadbalancer | PUT /load-balancer/{id} | Update a Load Balancer NetworkLoadBalancerApi | updateloadbalancerservice | PUT /load-balancer/{id}/service/{service-id} | Update a Load Balancer Service *OperationApi* | getoperation | GET /operation/{id} | Retrieve Operation details PrivateNetworkApi | attachinstancetoprivatenetwork | PUT /private-network/{id}:attach | Attach a Compute instance to a Private Network PrivateNetworkApi | createprivatenetwork | POST /private-network | Create a Private Network PrivateNetworkApi | deleteprivatenetwork | DELETE /private-network/{id} | Delete a Private Network PrivateNetworkApi | detachinstancefromprivatenetwork | PUT /private-network/{id}:detach | Detach a Compute instance from a Private Network PrivateNetworkApi | getprivatenetwork | GET /private-network/{id} | Retrieve Private Network details PrivateNetworkApi | listprivatenetworks | GET /private-network | List Private Networks PrivateNetworkApi | resetprivatenetworkfield | DELETE /private-network/{id}/{field} | Reset Private Network field *PrivateNetworkApi* | updateprivatenetwork | PUT /private-network/{id} | Update a Private Network *PrivateNetworkApi* | updateprivatenetworkinstanceip | PUT /private-network/{id}:update-ip | Update the IP address of an instance attached to a managed private network *QuotasApi* | getquota | GET /quota/{entity} | Retrieve Resource Quota QuotasApi | listquotas | GET /quota | List Organization Quotas *ReverseDnsApi* | deletereversednselasticip | DELETE /reverse-dns/elastic-ip/{id} | Delete the PTR DNS record for an elastic IP *ReverseDnsApi* | deletereversednsinstance | DELETE /reverse-dns/instance/{id} | Delete the PTR DNS record for an instance ReverseDnsApi | getreversednselasticip | GET /reverse-dns/elastic-ip/{id} | Query the PTR DNS records for an elastic IP ReverseDnsApi | getreversednsinstance | GET /reverse-dns/instance/{id} | Query the PTR DNS records for an instance *ReverseDnsApi* | updatereversednselasticip | POST /reverse-dns/elastic-ip/{id} | Update/Create the PTR DNS record for an elastic IP *ReverseDnsApi* | updatereversednsinstance | POST /reverse-dns/instance/{id} | Update/Create the PTR DNS record for an instance SecurityGroupApi | addexternalsourcetosecuritygroup | PUT /security-group/{id}:add-source | Add an external source as a member of a Security Group *SecurityGroupApi* | addruletosecuritygroup | POST /security-group/{id}/rules | Create a Security Group rule *SecurityGroupApi* | attachinstancetosecuritygroup | PUT /security-group/{id}:attach | Attach a Compute instance to a Security Group *SecurityGroupApi* | createsecuritygroup | POST /security-group | Create a Security Group *SecurityGroupApi* | deleterulefromsecuritygroup | DELETE /security-group/{id}/rules/{rule-id} | Delete a Security Group rule *SecurityGroupApi* | deletesecuritygroup | DELETE /security-group/{id} | Delete a Security Group *SecurityGroupApi* | detachinstancefromsecuritygroup | PUT /security-group/{id}:detach | Detach a Compute instance from a Security Group *SecurityGroupApi* | getsecuritygroup | GET /security-group/{id} | Retrieve Security Group details *SecurityGroupApi* | listsecuritygroups | GET /security-group | List Security Groups *SecurityGroupApi* | removeexternalsourcefromsecuritygroup | PUT /security-group/{id}:remove-source | Remove an external source from a Security Group SksApi | createskscluster | POST /sks-cluster | Create an SKS cluster SksApi | createsksnodepool | POST /sks-cluster/{id}/nodepool | Create a new SKS Nodepool SksApi | deleteskscluster | DELETE /sks-cluster/{id} | Delete an SKS cluster SksApi | deletesksnodepool | DELETE /sks-cluster/{id}/nodepool/{sks-nodepool-id} | Delete an SKS Nodepool SksApi | evictsksnodepoolmembers | PUT /sks-cluster/{id}/nodepool/{sks-nodepool-id}:evict | Evict Nodepool members *SksApi* | generatesksclusterkubeconfig | POST /sks-cluster-kubeconfig/{id} | Generate a new Kubeconfig file for a SKS cluster SksApi | getskscluster | GET /sks-cluster/{id} | Retrieve SKS cluster details SksApi | getsksclusterauthoritycert | GET /sks-cluster/{id}/authority/{authority}/cert | Get the certificate for a SKS cluster authority SksApi | getsksnodepool | GET /sks-cluster/{id}/nodepool/{sks-nodepool-id} | Retrieve SKS Nodepool details SksApi | listsksclusterdeprecatedresources | GET /sks-cluster-deprecated-resources/{id} | Resources that are scheduled to be removed in future kubernetes releases SksApi | listsksclusterversions | GET /sks-cluster-version | List available versions for SKS clusters *SksApi* | listsksclusters | GET /sks-cluster | List SKS clusters *SksApi* | resetsksclusterfield | DELETE /sks-cluster/{id}/{field} | Reset an SKS cluster field to its default value SksApi | resetsksnodepoolfield | DELETE /sks-cluster/{id}/nodepool/{sks-nodepool-id}/{field} | Reset an SKS Nodepool field to its default value *SksApi* | rotatesksccmcredentials | PUT /sks-cluster/{id}/rotate-ccm-credentials | Rotate Exoscale CCM credentials SksApi | rotatesksoperatorsca | PUT /sks-cluster/{id}/rotate-operators-ca | Rotate operators certificate authority *SksApi* | scalesksnodepool | PUT /sks-cluster/{id}/nodepool/{sks-nodepool-id}:scale | Scale a SKS Nodepool *SksApi* | updateskscluster | PUT /sks-cluster/{id} | Update an SKS cluster *SksApi* | updatesksnodepool | PUT /sks-cluster/{id}/nodepool/{sks-nodepool-id} | Update an SKS Nodepool *SksApi* | upgradeskscluster | PUT /sks-cluster/{id}/upgrade | Upgrade an SKS cluster *SksApi* | upgradesksclusterservicelevel | PUT /sks-cluster/{id}/upgrade-service-level | Upgrade a SKS cluster to pro *SnapshotApi* | createsnapshot | POST /instance/{id}:create-snapshot | Create a Snapshot of a Compute instance SnapshotApi | deletesnapshot | DELETE /snapshot/{id} | Delete a Snapshot *SnapshotApi* | exportsnapshot | POST /snapshot/{id}:export | Export a Snapshot SnapshotApi | getsnapshot | GET /snapshot/{id} | Retrieve Snapshot details *SnapshotApi* | listsnapshots | GET /snapshot | List Snapshots SnapshotApi | promotesnapshottotemplate | POST /snapshot/{id}:promote | Promote a Snapshot to a Template *SosApi* | getsospresignedurl | GET /sos/{bucket}/presigned-url | Retrieve Presigned Download URL for SOS object SosApi | listsosbucketsusage | GET /sos-buckets-usage | List SOS Buckets Usage *SshKeyApi* | deletesshkey | DELETE /ssh-key/{name} | Delete a SSH key *SshKeyApi* | getsshkey | GET /ssh-key/{name} | Retrieve SSH key details *SshKeyApi* | listsshkeys | GET /ssh-key | List SSH keys *SshKeyApi* | registersshkey | POST /ssh-key | Import SSH key *TemplateApi* | copytemplate | POST /template/{id} | Copy a Template from a zone to another TemplateApi | deletetemplate | DELETE /template/{id} | Delete a Template *TemplateApi* | gettemplate | GET /template/{id} | Retrieve Template details TemplateApi | listtemplates | GET /template | List Templates *TemplateApi* | promotesnapshottotemplate | POST /snapshot/{id}:promote | Promote a Snapshot to a Template TemplateApi | registertemplate | POST /template | Register a Template *TemplateApi* | updatetemplate | 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