Comments (3)
Hey @DravenJohnson,
the available server types are available through the Datacenter
API endpoint (Location <- Datacenter -> Server Types
): https://hcloud-python.readthedocs.io/en/stable/api.clients.datacenters.html#hcloud.datacenters.domain.DatacenterServerTypes
https://docs.hetzner.cloud/#datacenters-get-all-datacenters
Some untested pseudo-code:
server_type = client.server_types.get_by_name('cx21')
datacenter = random.choice(
[
dc for dc in client.datacenters.get_all() if any(
available_type.id == server_type.id for available_type in dc.server_types.available
)
]
)
instance = client.servers.create(
name="test-server"
server_type=server_type
datacenter=datacenter
)
By comparing the IDs of the server types, we can avoid additional API requests to get the name of each server type in the check. (available_type.id == server_type.id
)
Please note, that it is possible, that a server type is temporarily unavailable in all locations/datacenters.
from hcloud-python.
Thanks, we noticed that.
So technically, when creating a new server, we just have to pick one of the following right?
-
location – BoundLocation or Location
-
datacenter – BoundDatacenter or Datacenter
I can use datacenter
instead of location
Also datacenter
include a datacenter.location.country
which is the country code we currently using in location.country
.
from hcloud-python.
So technically, when creating a new server, we just have to pick one of the following right?
Yes.
Closing as completed, feel free to ask again if you think something is missing.
from hcloud-python.
Related Issues (20)
- doc: mention "python -m venv " because mkvirtualenv is not always installed
- Bug in hcloud-inventory: one server without public ip4v crashes the complete plugin HOT 1
- Transfer resources HOT 1
- Dependency Dashboard
- Move hcloud.hcloud module to hcloud._client HOT 2
- Ensure some keyword arguments are passed as such HOT 2
- Incompatible ISO8601 format returned by the API HOT 1
- Move package version from `hcloud.__version__.VERSION` to `hcloud.__version__` HOT 2
- Drop python 3.7 support
- Howto use wss link to open a console HOT 7
- Use timeouts on API requests HOT 2
- cannot import name 'Image' from 'hcloud.images' HOT 1
- Mirror the API responses in the returned values HOT 1
- Hang and failure when accessing attributes like Server and Images HOT 1
- Wrong filters combination in client.servers.get_all HOT 5
- Filter multiple machines with the similar name HOT 1
- Failed to update the labels for BoundImage HOT 1
- Client, APIException and HCloudException not properly exported
- v1.33.1 not uploaded to PyPI HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hcloud-python.