Skip to content

Commit ca751fd

Browse files
authored
Merge pull request #2 from outcompute/add-digitalocean-templating
Added template support for DigitalOcean
2 parents 09f0849 + add0e74 commit ca751fd

File tree

1 file changed

+31
-7
lines changed

1 file changed

+31
-7
lines changed

src/TemplateParser/DigitalOcean.php

Lines changed: 31 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,20 +11,44 @@
1111

1212
class DigitalOcean extends Base
1313
{
14-
private $_metaData;
14+
private $_metaData;
1515

16-
public function __construct($metaData) {
17-
parent::__construct($metaData);
18-
$this->_metaData = $metaData;
19-
}
16+
public function __construct($metaData) {
17+
parent::__construct($metaData);
18+
$this->_metaData = $metaData;
19+
}
2020

2121
public function get($token) {
2222
switch($token) {
23+
case '{{metadata.provider}}':
24+
return 'digitalocean';
25+
break;
26+
case '{{metadata.id}}':
27+
return $this->_metaData['droplet_id'];
28+
break;
29+
case '{{metadata.region}}':
30+
return strtolower($this->_metaData['region']);
31+
break;
32+
case '{{metadata.name}}':
33+
return strtolower($this->_metaData['hostname']);
34+
break;
35+
case '{{metadata.attributes}}':
36+
return $this->_metaData['tags'];
37+
break;
38+
case '{{devices.interfaces}}':
39+
return array(
40+
'public' => array(
41+
'ip' => $this->_metaData['interfaces']['public'][0]['ipv4']['ip_address']
42+
),
43+
'private' => array(
44+
'ip' => $this->_metaData['interfaces']['public'][0]['anchor_ipv4']['ip_address']
45+
)
46+
);
47+
break;
2348
default:
49+
return parent::get($token);
2450
break;
2551
}
26-
27-
return parent::get($token);
2852
}
2953
}
3054

0 commit comments

Comments
 (0)