Comments (3)
Actually this is possible.
Every Action object has the wait() method.
https://github.com/koalalorenzo/python-digitalocean/blob/master/digitalocean/Action.py
This will allow you to wait until the action is completed. Just let the method (reboot, start, destroy) return an action object, not the dictionary, and use the method wait()
So as described in the other issue #112 , it should be different.
from python-digitalocean.
@koalalorenzo droplet.create()
and droplet.destroy()
do not return Actions or dictionaries so it is not possible to use the wait()
method. The DigitalOcean API does not return an Action for the destroy command. However, for the create command, it sends something that looks like an Action ID. This fact is not well documented so I'm not sure if this is a Droplet Action that can be queried at /droplets/DROPLET_ID/actions/ACTION_ID
or just an Action which needs to be queried at /actions/ACTION_ID
.
@artfullyContrived You can try to do this so long
droplet.create()
action = Action(id=droplet.action_ids[0], token=droplet.token, droplet_id=droplet.id)
action.wait()
I doubt that this will work, but you can try it.
from python-digitalocean.
@moyamo your example almost worked for me, I needed to add a "load" call to the action before waiting for it. Thanks, your comment helped me out.
droplet.create()
action = Action(id=droplet.action_ids[0], token=droplet.token, droplet_id=droplet.id)
action.load()
action.wait(5)
# now the droplet has been created, therefore I can use it to attach a floatingip
fip = digitalocean.FloatingIP(ip='45.55.xxx.xxx', token=droplet.token)
fip.assign(droplet_id=droplet.id)
from python-digitalocean.
Related Issues (20)
- Load balancer and certificate APIs are returning digitalocean.NotFoundError
- Unable to import module 'Manager' HOT 1
- the API v2 does not seem to provide account name aka team name aka user name. Can advise?
- droplet shutdown is not working HOT 1
- Delete a domain record HOT 4
- Make droplet.create() return a value - so it can be used with 'await' ? HOT 1
- Getting Credits information HOT 1
- No get_actions() for Volume? HOT 1
- Proposing a PR to fix a few small typos
- New release HOT 3
- RedRocket.pssss HOT 1
- Domain.create_new_domain_record ttl kwarg is ignored HOT 1
- Kuberenetes Support HOT 1
- Floating IP Error - digitalocean.DataReadError: HOT 1
- DigitalOcean Api token HOT 2
- Error (400/500) responses with no body raise JSONReadError
- Monitoring metrics from API
- Apps Support
- Add with_droplet_agent support
- Adding type annotation
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 python-digitalocean.