- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 DO API 和 Ansible 编写自动化脚本。我可以创建很多液滴,但如何知道创建的液滴是否已激活?
第一种(天真的)方法使用以下过程:
A. Create droplet with the Digital Ocean API
B. Call the API to get the created droplet informations
1. is active ?
yes :
no : go to B
在最好的世界里,在创建 droplet 之后,我会收到通知(就像在 droplet 创建完成时执行的 webhook)。可能吗?
最佳答案
查看 API 文档 https://developers.digitalocean.com/documentation/v2/
您应该能够看到 Droplet 的状态(参见 Droplet 部分)。
使用您的逻辑您可以:
更新
另一种方法是在创建液滴时对其进行修改。使用 Digital ocean 你可以传递 User Data
,之前我用它来自动配置服务器,这里是一个例子。
$user_data = <<<EOD
#!/bin/bash
apt-get update
apt-get -y install apache2
apt-get -y install php5
apt-get -y install php5-mysql
apt-get -y install unzip
service apache2 restart
cd /var/www/html
mkdir pack
cd pack
wget --user {$wgetUser} --password {$wgetPass} http://x.x.x.x/pack.tar.gz
tar -xvf pack.tar.gz
php update.php
EOD;
//Start of the droplet creation
$data = array(
"name"=>"AutoRes".$humanProv.strtoupper($lang),
"region"=>randomRegion(),
"size"=>"512mb",
"image"=>"ubuntu-14-04-x64",
"ssh_keys"=>$sshKey,
"backups"=>false,
"ipv6"=>false,
"user_data"=>$user_data,
"private_networking"=>null,
);
$chDroplet = curl_init('https://api.digitalocean.com/v2/droplets');
curl_setopt($chDroplet, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($chDroplet, CURLOPT_POSTFIELDS, json_encode($data) );
curl_setopt($chDroplet, CURLOPT_HTTPHEADER, array(
'Authorization: Bearer '.$apiKey,
'Content-Type: application/json',
'Content-Length: ' . strlen(json_encode($data)),
));
基本上,一旦 Droplet 处于事件状态,它将运行这些命令,然后从我的服务器下载一个 tar.gz 文件并执行它,您可能会创建 update.php 来调用您的服务器并因此更新它以表明 Droplet 在线。
关于api - 如何在 Droplet 创建后处于事件状态时收到通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35454961/
我有 2 个 Droplet,都带有 LAMP 堆栈 (Ubuntu 16.04)。两者都安装了 PHPMyAdmin,运行 PHP 应用程序,并拥有自动重定向到 https 的自签名 SSH 证书。
我正在使用 DO API 和 Ansible 编写自动化脚本。我可以创建很多液滴,但如何知道创建的液滴是否已激活? 第一种(天真的)方法使用以下过程: A. Create droplet with t
我有一个在Docker容器中运行的Web应用程序。当代码在travis中合并到master分支中时,我能够运行测试并创建构建。我需要将构建部署到 digital ocean 飞沫上,但是找不到有关如何
我无法连接到 digital ocean 上的液滴。我创建,使用它,在服务器上复制并启动我的项目,而我在本地笔记本电脑上所做的所有操作都没有问题。但是过了一会儿,服务器没有通过“ssh”连接。我可以从
这个问题不限于懂AppleScript的人,如果你会Cocoa等,你应该知道这个问题的答案: I'm making a droplet in AppleScript that compresses J
我正在尝试创建一个可以将其他文件拖放到其中的批处理文件。具体来说,我正在使用 ffmpeg编辑手持录音机制作的音频文件。问题是在使用带符号 (&) 的文件名时。即使在引用输入时, & 之后的任何内容都
我是 ATG 框架的新手,我想了解 ATG 中 Servlet 和 Droplet 之间的区别。我读了一些教程,但仍然没有明确的想法。 最佳答案 我已经有几年没有使用 ATG 了,您可能正在使用与我不
我有一个 DigitalOcean Ubuntu 16.04 Droplet,预装了 Wordpress。它有 SSH 登录启用并禁用 root 和密码登录。 UFW 已启用。 不是安全专家,只是网络
Type "help", "copyright", "credits" or "license" for more information. >>> import eve >>> from eve i
我正在将 Flask 服务器部署到 Digital Ocean Droplet。 from flask import Flask app = Flask(__name__) @app.route("/
这是我对cloudfoundry buildpacks和droplets的理解 buildpack 是运行时(比如 jdk)+ 容器(比如 tomcat)+ 框架(比如 spring)+ 服务配置(如
我有两个 django 项目。当此人访问 www.example.com 时,我希望为 django 项目 A 提供服务。 当此人访问 blog.example.com 时,我希望为 django 项
在 ATG 中,如果没有满足其他条件,Switch Droplet 将转到默认 oparam。 我有一个 Droplet,我希望它具有类似的行为。您可以在页面上调用它并将代码放入 oparam 条件内
背景:我使用 LF 在配置了多个站点的 digitalocean 上创建了一个 Droplet。我最近不得不将 Droplet 转移到另一个 Digitalocean 数据中心。 “移动 Drople
Cloud Foundry Droplet 和 Warden 容器有什么区别? droplet 是否只是一个 .zip 包,需要在warden 容器中执行和安装所有内容?据我所知,这是暂存过程的输出,
我创建了我的第一个 Droplet,但是当我尝试导航到提供的 IP 地址(如 http://my_ip_address)时,它显示 This site can't be reached在浏览器中。 T
我有一个生产服务器 - 一个 Digital Ocean Droplet - 上面运行着一个数据库和网站。我现在想继续制作一个临时服务器。我认为克隆它是一个好主意,但是执行此类操作的好方法是什么? 到
在 Xcode 中调试时,如何模拟用户通过将一个或多个文件拖放到应用程序图标上来启动我的 Cocoa Droplet 应用程序? 应用程序会打开,在显示进度的同时处理文件,然后再次关闭。 传递参数(通
在 Xcode3 中,曾经有一个模板来构建“Droplet”应用程序(头/无 block 应用程序,会在“打开时”Applescript 方法中抛出掉落在它们身上的任何内容)。 不幸的是,在 Xcod
几乎所有我经常使用的应用程序都实现了这个“看似简单”的场景,但我无法在我自己的 Cocoa 应用程序中复制它。请考虑以下步骤: 应用程序未运行 您将一个或一组文件拖放到应用的图标上。 应用程序运行并对
我是一名优秀的程序员,十分优秀!