429 lines
14 KiB
Go
429 lines
14 KiB
Go
// Code generated by go-bindata. DO NOT EDIT.
|
|
// sources:
|
|
// templates/aws-roles-tf/deploy.sh
|
|
// templates/aws-roles-tf/main.tf
|
|
// templates/rds-tf/deploy.sh
|
|
// templates/rds-tf/main.tf
|
|
|
|
package main
|
|
|
|
|
|
import (
|
|
"bytes"
|
|
"compress/gzip"
|
|
"fmt"
|
|
"io"
|
|
"io/ioutil"
|
|
"os"
|
|
"path/filepath"
|
|
"strings"
|
|
"time"
|
|
)
|
|
|
|
func bindataRead(data []byte, name string) ([]byte, error) {
|
|
gz, err := gzip.NewReader(bytes.NewBuffer(data))
|
|
if err != nil {
|
|
return nil, fmt.Errorf("Read %q: %v", name, err)
|
|
}
|
|
|
|
var buf bytes.Buffer
|
|
_, err = io.Copy(&buf, gz)
|
|
clErr := gz.Close()
|
|
|
|
if err != nil {
|
|
return nil, fmt.Errorf("Read %q: %v", name, err)
|
|
}
|
|
if clErr != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return buf.Bytes(), nil
|
|
}
|
|
|
|
|
|
type asset struct {
|
|
bytes []byte
|
|
info fileInfoEx
|
|
}
|
|
|
|
type fileInfoEx interface {
|
|
os.FileInfo
|
|
MD5Checksum() string
|
|
}
|
|
|
|
type bindataFileInfo struct {
|
|
name string
|
|
size int64
|
|
mode os.FileMode
|
|
modTime time.Time
|
|
md5checksum string
|
|
}
|
|
|
|
func (fi bindataFileInfo) Name() string {
|
|
return fi.name
|
|
}
|
|
func (fi bindataFileInfo) Size() int64 {
|
|
return fi.size
|
|
}
|
|
func (fi bindataFileInfo) Mode() os.FileMode {
|
|
return fi.mode
|
|
}
|
|
func (fi bindataFileInfo) ModTime() time.Time {
|
|
return fi.modTime
|
|
}
|
|
func (fi bindataFileInfo) MD5Checksum() string {
|
|
return fi.md5checksum
|
|
}
|
|
func (fi bindataFileInfo) IsDir() bool {
|
|
return false
|
|
}
|
|
func (fi bindataFileInfo) Sys() interface{} {
|
|
return nil
|
|
}
|
|
|
|
var _bindataTemplatesAwsrolestfDeploysh = []byte(
|
|
"\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x6c\x8f\xd1\xee\xd2\x30\x14\xc6\xef\xfb\x14\x9f\xdb\x12\xae\xb6\xff\x03" +
|
|
"\x18\x62\x06\x2c\x6a\x22\x68\x18\x44\x2f\x48\x48\xe9\xce\x58\xb3\xae\x5d\xda\x8e\x41\xc6\xde\xdd\x80\x88\x44\xbd" +
|
|
"\xec\xd7\xdf\x39\xbf\xf3\x85\xef\xde\x0e\x52\xbf\xb9\x8a\xb1\x10\x74\x96\x1e\x7d\x45\x1a\x5c\x5f\x20\x4c\xd3\x70" +
|
|
"\x5d\xa0\xe4\x52\x39\xe6\xc8\x23\x26\x16\xa2\x26\x6a\xe1\x2d\x17\x35\x4c\x09\x5f\x11\x14\x77\x1e\x74\x26\xd1\x79" +
|
|
"\x2a\x7e\x8f\x31\x6f\x79\x8b\xc9\xed\x6f\xff\x88\xa6\x91\xe8\xac\x25\xfd\x0c\xde\xe3\xaf\x60\x1a\xcd\xd2\xfc\xd3" +
|
|
"\x7e\xfe\x75\xb9\x4c\x57\x8b\x09\x16\xd9\x6c\xfb\xf1\x76\x98\xa8\x0c\xb8\x06\x59\x6b\x2c\x1a\x72\x8e\x1f\x09\x07" +
|
|
"\x2a\x8d\xa5\xfb\xd5\x52\x1f\x1f\xc2\x3b\x1a\xec\x82\x68\x78\x55\x8f\xbb\xe0\x4f\x1f\xa9\xa8\x40\x2f\x7d\xf5\xab" +
|
|
"\xb0\x30\x05\x21\xfa\x90\x04\x13\x64\x3f\x3e\x6f\x98\x27\x6b\x79\x69\x6c\x03\xa9\xa5\x7f\x79\xf6\xc6\xd6\xae\xe5" +
|
|
"\x82\xe0\x48\x91\xf0\x18\x06\x24\xdf\x9f\xe1\x38\xe2\x7a\xc5\xff\x70\x4d\xfd\x3f\xec\xcb\x5e\xde\xb6\xea\x82\x98" +
|
|
"\x77\xde\xc4\xbc\x6d\xad\x39\x11\xab\xbb\x03\x09\xaf\x20\x8c\x2e\xe5\x11\x9d\xa3\x58\x18\xed\xe9\xec\x11\x0e\xf3" +
|
|
"\x2f\xdb\x7c\x93\xad\xc7\x27\xf5\xd8\x50\xde\x2d\x39\xd9\x93\x14\xb4\x36\x8a\x92\x15\x6f\x6e\xb2\xe4\xc2\x1b\x85" +
|
|
"\x58\x23\x1c\x56\xe9\x32\xcb\xbf\xa5\xf3\x6c\x64\x3f\x03\x00\x00\xff\xff\xa2\x4c\xce\x13\xfc\x01\x00\x00")
|
|
|
|
func bindataTemplatesAwsrolestfDeployshBytes() ([]byte, error) {
|
|
return bindataRead(
|
|
_bindataTemplatesAwsrolestfDeploysh,
|
|
"templates/aws-roles-tf/deploy.sh",
|
|
)
|
|
}
|
|
|
|
|
|
|
|
func bindataTemplatesAwsrolestfDeploysh() (*asset, error) {
|
|
bytes, err := bindataTemplatesAwsrolestfDeployshBytes()
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
info := bindataFileInfo{
|
|
name: "templates/aws-roles-tf/deploy.sh",
|
|
size: 508,
|
|
md5checksum: "",
|
|
mode: os.FileMode(420),
|
|
modTime: time.Unix(1582717401, 0),
|
|
}
|
|
|
|
a := &asset{bytes: bytes, info: info}
|
|
|
|
return a, nil
|
|
}
|
|
|
|
var _bindataTemplatesAwsrolestfMaintf = []byte(
|
|
"\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x6c\x90\x31\x8f\xe3\x20\x10\x85\x7b\xff\x8a\x91\x7b\x6c\x9d\xae\x8b\x14" +
|
|
"\xe9\x9a\x6b\xae\xb8\x62\x77\xfb\x08\xe3\xb1\x8d\x0c\x8c\x17\x86\x64\xa3\x84\xff\xbe\x02\xb4\x51\x36\x59\x3a\x46" +
|
|
"\xef\xbd\x79\xf3\x31\x7a\x2f\x27\xf2\x16\x2e\x0d\xc0\x20\xd5\x8a\x6e\x84\x36\xfc\x6e\xcb\x00\x60\x88\x6a\x45\x86" +
|
|
"\xef\x6f\x0f\xad\x93\x47\x2d\x06\xe9\x56\x71\x8b\x10\x8a\xac\x95\x6e\x14\x81\x25\x63\x5b\xec\x1e\x67\x4d\xee\xd9" +
|
|
"\x2e\x37\x11\x28\xf2\x22\x7e\x55\xdd\x8a\x67\x78\x7a\x7b\x68\x03\xfa\xa3\x56\x28\xb4\xb4\xc2\x93\xc1\x50\xe5\x27" +
|
|
"\xf2\x6b\xd8\xa4\xc2\xc3\x8a\xe7\xc3\xe6\x71\xd2\x1f\x59\xae\xa5\x2d\xaa\xfe\x72\x81\xee\xaf\x3b\x6a\x4f\xce\xa2" +
|
|
"\x63\x48\xa9\x8c\x5e\x6b\xdc\x0b\x19\xec\xfe\x4b\x8b\x90\x52\x0d\xdc\x3c\x4d\xda\xe0\xd3\x7e\x65\xc7\x2a\x90\xca" +
|
|
"\xfc\x58\xb0\xf2\x11\x74\x72\xe8\xc5\x14\x8d\x11\x8a\x1c\x7b\x32\xd9\x96\x9a\xd4\x34\x96\xc6\x68\xb0\x74\x2b\x27" +
|
|
"\x54\xb2\x81\xa2\x57\x78\x17\x34\x6b\xde\xed\x42\x58\x76\x7d\x3f\x6b\xfe\x33\x6b\x5e\xe2\xd0\x29\x3b\x76\x05\x35" +
|
|
"\xa3\x5a\x3a\xed\xfa\xf2\xd1\x6e\xf2\xb2\xbf\x31\xe9\x66\xcd\x79\x1d\xde\x1d\x9c\x33\x1f\x21\x5c\xe1\x3d\x12\xe7" +
|
|
"\xa3\x73\x81\x8a\xe2\x90\x13\xbe\x4a\x3c\x20\x82\x2b\xd8\x18\xf8\x8d\xfe\x05\x72\xd9\x95\x9a\xcf\x00\x00\x00\xff" +
|
|
"\xff\x48\x68\xe4\x76\x30\x02\x00\x00")
|
|
|
|
func bindataTemplatesAwsrolestfMaintfBytes() ([]byte, error) {
|
|
return bindataRead(
|
|
_bindataTemplatesAwsrolestfMaintf,
|
|
"templates/aws-roles-tf/main.tf",
|
|
)
|
|
}
|
|
|
|
|
|
|
|
func bindataTemplatesAwsrolestfMaintf() (*asset, error) {
|
|
bytes, err := bindataTemplatesAwsrolestfMaintfBytes()
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
info := bindataFileInfo{
|
|
name: "templates/aws-roles-tf/main.tf",
|
|
size: 560,
|
|
md5checksum: "",
|
|
mode: os.FileMode(420),
|
|
modTime: time.Unix(1582717401, 0),
|
|
}
|
|
|
|
a := &asset{bytes: bytes, info: info}
|
|
|
|
return a, nil
|
|
}
|
|
|
|
var _bindataTemplatesRdstfDeploysh = []byte(
|
|
"\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x8d\x41\x4e\xc4\x30\x0c\x45\xf7\x9c\xc2\x88\x75\xd3\x13\xb0\xe4\x02" +
|
|
"\x6c\x58\x46\x6e\x62\x4a\x44\x13\x47\xb6\xd3\x82\xda\xde\x9d\x0d\x9a\xa9\x46\x23\xcd\x68\x76\xb6\xfe\x7f\xef\xbf" +
|
|
"\x3c\xf7\x43\x2a\xbd\x7e\x3d\x19\x89\xe0\x27\x4b\x86\x54\x92\x1d\xde\x85\xe5\x5b\x2b\x06\x02\xa5\x89\x82\xc1\xba" +
|
|
"\x82\x7b\xfb\x31\xc1\x77\x52\x6e\x12\x48\xdd\xc7\xa9\xb3\xef\xb0\x6d\x70\x8d\x2e\xb4\xdc\x42\x0f\xab\x58\xeb\xf4" +
|
|
"\x0b\x9d\xa1\x8c\x64\xaf\x99\x63\x9b\xc8\x49\x54\x17\xd1\xd0\xe1\xa2\x5e\xdb\x50\xc8\x7c\x8a\xea\x02\xe7\x8c\x25" +
|
|
"\xfa\x2a\x69\x46\xa3\xff\x48\xa1\xc3\x66\xdc\x61\xad\xc2\x33\xdd\x23\x3f\x9f\x3e\x15\x35\x2c\x81\x1e\x96\x54\x56" +
|
|
"\x1b\x85\xd4\xc7\xe1\xc2\xf1\x17\x00\x00\xff\xff\x61\x91\x15\xf4\x75\x01\x00\x00")
|
|
|
|
func bindataTemplatesRdstfDeployshBytes() ([]byte, error) {
|
|
return bindataRead(
|
|
_bindataTemplatesRdstfDeploysh,
|
|
"templates/rds-tf/deploy.sh",
|
|
)
|
|
}
|
|
|
|
|
|
|
|
func bindataTemplatesRdstfDeploysh() (*asset, error) {
|
|
bytes, err := bindataTemplatesRdstfDeployshBytes()
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
info := bindataFileInfo{
|
|
name: "templates/rds-tf/deploy.sh",
|
|
size: 373,
|
|
md5checksum: "",
|
|
mode: os.FileMode(420),
|
|
modTime: time.Unix(1582717365, 0),
|
|
}
|
|
|
|
a := &asset{bytes: bytes, info: info}
|
|
|
|
return a, nil
|
|
}
|
|
|
|
var _bindataTemplatesRdstfMaintf = []byte(
|
|
"\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xa4\x53\x5d\x6b\xdb\x30\x14\x7d\xf7\xaf\xb8\xe4\x5d\x0e\x63\x6f\x85\xc2" +
|
|
"\xc6\x9a\x8d\xee\x61\x94\xad\xdb\xab\xb9\x96\xaf\x1d\x61\x7d\x24\xba\x72\xd2\x34\xcd\x7f\x1f\xb2\x9c\x2e\xc6\x69" +
|
|
"\x52\x98\xc0\x60\x5f\x9d\x73\xee\xb9\x47\x72\x20\xef\xb1\x76\xde\xc0\x3e\x03\x28\x51\xb6\x64\x2b\x98\xf1\xc7\x59" +
|
|
"\x5f\x00\x28\x3b\xd9\x52\x80\xf1\xba\x85\x99\xc5\x8d\x12\x25\xda\x56\xbc\x4a\x08\xe9\x8c\x41\x5b\x09\x0e\x18\x68" +
|
|
"\xd6\xd3\x3d\x35\xca\xd9\x29\x1d\x57\x82\x5d\x17\x96\xe2\x43\xc2\xb5\xb4\x83\xc9\xba\x85\x99\xaf\x38\x01\xb6\xce" +
|
|
"\xb7\xbc\x42\x49\x45\x4b\xbb\x62\xe5\xa9\x56\x4f\x03\x20\xf5\xe3\xf9\x7e\x0f\xf9\xe2\x29\x78\xfc\x49\xec\x3a\x2f" +
|
|
"\x89\xf3\x3b\x0c\x58\x22\x53\x7e\x6f\x39\xa0\x95\xf4\x03\x0d\xc1\xe1\x90\x34\x57\xde\xd5\x4a\xd3\xa4\xa9\x34\x55" +
|
|
"\x02\xa0\xd4\x67\x5d\xa5\x50\x84\xdb\x5a\xf2\xa2\xee\xb4\x16\xd2\xd9\xe0\x9d\x8e\xb4\x43\x76\xc8\x32\xe3\xaa\x4e" +
|
|
"\x53\xf2\xdf\x27\x99\x1c\x9d\x68\x34\x2a\xdc\xdc\x30\x2f\x6f\xe6\xf3\x46\x85\x4f\x8d\x0a\xcb\xae\xcc\xa5\xa9\xf2" +
|
|
"\x3e\xda\x40\x72\x99\x2b\x3b\xef\x3f\x94\xad\x3d\xce\x7d\xc5\x79\xa3\x42\xec\x41\x76\xa3\xbc\xb3\x86\x6c\xe8\xd5" +
|
|
"\xce\x8c\xbe\x38\x81\xbc\xc0\xba\x73\x21\x0e\x9e\x01\xa8\x21\x8a\xc2\xc6\x2c\xce\x72\xcf\xc7\x36\x52\x59\x21\xf3" +
|
|
"\xd6\xf9\xea\x38\xcf\x25\x95\x87\x23\x76\xa4\xc0\xea\x99\x4e\x53\xbd\xa4\xf0\x4b\x3d\xd3\xbd\xfd\x56\x26\x66\xc7" +
|
|
"\xe4\xdf\xcb\xfc\x1d\xb1\x27\x7d\x33\x80\x6a\xd8\xe3\x77\xd0\xef\xca\x38\x3a\xc3\x0b\x98\x8e\xc3\xa3\xfb\xce\xce" +
|
|
"\x26\x13\x47\x95\x22\x60\xc3\x51\x25\x4b\x76\x1e\x09\xcd\x20\x1a\x5f\xf3\x69\x74\xf1\xc9\x00\xf6\x7b\x01\xaa\x7e" +
|
|
"\xbb\xf5\xe7\x2d\x1f\xe3\xff\xa2\x91\x39\x91\x71\xcb\xc5\xeb\x09\xca\xbe\x7e\x79\x82\x89\xcc\xc8\x4b\x34\x11\xff" +
|
|
"\xf8\x94\xcc\x35\x4b\x0f\xbc\xd6\x5f\xd1\x28\xbd\x1b\x2e\x01\xaf\x75\x51\xa7\xc2\x95\x2b\xf0\x8f\xf9\x9f\xfd\x17" +
|
|
"\xb6\x51\x96\xfe\x90\x67\x75\x3c\x8a\xde\x06\xf5\xf5\x62\x33\x6c\x5c\xb7\x33\x16\x7a\xd3\xd5\x21\xfb\x1b\x00\x00" +
|
|
"\xff\xff\xa5\x20\x97\xf0\x24\x05\x00\x00")
|
|
|
|
func bindataTemplatesRdstfMaintfBytes() ([]byte, error) {
|
|
return bindataRead(
|
|
_bindataTemplatesRdstfMaintf,
|
|
"templates/rds-tf/main.tf",
|
|
)
|
|
}
|
|
|
|
|
|
|
|
func bindataTemplatesRdstfMaintf() (*asset, error) {
|
|
bytes, err := bindataTemplatesRdstfMaintfBytes()
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
info := bindataFileInfo{
|
|
name: "templates/rds-tf/main.tf",
|
|
size: 1316,
|
|
md5checksum: "",
|
|
mode: os.FileMode(420),
|
|
modTime: time.Unix(1582717365, 0),
|
|
}
|
|
|
|
a := &asset{bytes: bytes, info: info}
|
|
|
|
return a, nil
|
|
}
|
|
|
|
|
|
//
|
|
// Asset loads and returns the asset for the given name.
|
|
// It returns an error if the asset could not be found or
|
|
// could not be loaded.
|
|
//
|
|
func Asset(name string) ([]byte, error) {
|
|
cannonicalName := strings.Replace(name, "\\", "/", -1)
|
|
if f, ok := _bindata[cannonicalName]; ok {
|
|
a, err := f()
|
|
if err != nil {
|
|
return nil, fmt.Errorf("Asset %s can't read by error: %v", name, err)
|
|
}
|
|
return a.bytes, nil
|
|
}
|
|
return nil, &os.PathError{Op: "open", Path: name, Err: os.ErrNotExist}
|
|
}
|
|
|
|
//
|
|
// MustAsset is like Asset but panics when Asset would return an error.
|
|
// It simplifies safe initialization of global variables.
|
|
// nolint: deadcode
|
|
//
|
|
func MustAsset(name string) []byte {
|
|
a, err := Asset(name)
|
|
if err != nil {
|
|
panic("asset: Asset(" + name + "): " + err.Error())
|
|
}
|
|
|
|
return a
|
|
}
|
|
|
|
//
|
|
// AssetInfo loads and returns the asset info for the given name.
|
|
// It returns an error if the asset could not be found or could not be loaded.
|
|
//
|
|
func AssetInfo(name string) (os.FileInfo, error) {
|
|
cannonicalName := strings.Replace(name, "\\", "/", -1)
|
|
if f, ok := _bindata[cannonicalName]; ok {
|
|
a, err := f()
|
|
if err != nil {
|
|
return nil, fmt.Errorf("AssetInfo %s can't read by error: %v", name, err)
|
|
}
|
|
return a.info, nil
|
|
}
|
|
return nil, &os.PathError{Op: "open", Path: name, Err: os.ErrNotExist}
|
|
}
|
|
|
|
//
|
|
// AssetNames returns the names of the assets.
|
|
// nolint: deadcode
|
|
//
|
|
func AssetNames() []string {
|
|
names := make([]string, 0, len(_bindata))
|
|
for name := range _bindata {
|
|
names = append(names, name)
|
|
}
|
|
return names
|
|
}
|
|
|
|
//
|
|
// _bindata is a table, holding each asset generator, mapped to its name.
|
|
//
|
|
var _bindata = map[string]func() (*asset, error){
|
|
"templates/aws-roles-tf/deploy.sh": bindataTemplatesAwsrolestfDeploysh,
|
|
"templates/aws-roles-tf/main.tf": bindataTemplatesAwsrolestfMaintf,
|
|
"templates/rds-tf/deploy.sh": bindataTemplatesRdstfDeploysh,
|
|
"templates/rds-tf/main.tf": bindataTemplatesRdstfMaintf,
|
|
}
|
|
|
|
//
|
|
// AssetDir returns the file names below a certain
|
|
// directory embedded in the file by go-bindata.
|
|
// For example if you run go-bindata on data/... and data contains the
|
|
// following hierarchy:
|
|
// data/
|
|
// foo.txt
|
|
// img/
|
|
// a.png
|
|
// b.png
|
|
// then AssetDir("data") would return []string{"foo.txt", "img"}
|
|
// AssetDir("data/img") would return []string{"a.png", "b.png"}
|
|
// AssetDir("foo.txt") and AssetDir("notexist") would return an error
|
|
// AssetDir("") will return []string{"data"}.
|
|
//
|
|
func AssetDir(name string) ([]string, error) {
|
|
node := _bintree
|
|
if len(name) != 0 {
|
|
cannonicalName := strings.Replace(name, "\\", "/", -1)
|
|
pathList := strings.Split(cannonicalName, "/")
|
|
for _, p := range pathList {
|
|
node = node.Children[p]
|
|
if node == nil {
|
|
return nil, &os.PathError{
|
|
Op: "open",
|
|
Path: name,
|
|
Err: os.ErrNotExist,
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if node.Func != nil {
|
|
return nil, &os.PathError{
|
|
Op: "open",
|
|
Path: name,
|
|
Err: os.ErrNotExist,
|
|
}
|
|
}
|
|
rv := make([]string, 0, len(node.Children))
|
|
for childName := range node.Children {
|
|
rv = append(rv, childName)
|
|
}
|
|
return rv, nil
|
|
}
|
|
|
|
|
|
type bintree struct {
|
|
Func func() (*asset, error)
|
|
Children map[string]*bintree
|
|
}
|
|
|
|
var _bintree = &bintree{Func: nil, Children: map[string]*bintree{
|
|
"templates": {Func: nil, Children: map[string]*bintree{
|
|
"aws-roles-tf": {Func: nil, Children: map[string]*bintree{
|
|
"deploy.sh": {Func: bindataTemplatesAwsrolestfDeploysh, Children: map[string]*bintree{}},
|
|
"main.tf": {Func: bindataTemplatesAwsrolestfMaintf, Children: map[string]*bintree{}},
|
|
}},
|
|
"rds-tf": {Func: nil, Children: map[string]*bintree{
|
|
"deploy.sh": {Func: bindataTemplatesRdstfDeploysh, Children: map[string]*bintree{}},
|
|
"main.tf": {Func: bindataTemplatesRdstfMaintf, Children: map[string]*bintree{}},
|
|
}},
|
|
}},
|
|
}}
|
|
|
|
// RestoreAsset restores an asset under the given directory
|
|
func RestoreAsset(dir, name string) error {
|
|
data, err := Asset(name)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
info, err := AssetInfo(name)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
err = os.MkdirAll(_filePath(dir, filepath.Dir(name)), os.FileMode(0755))
|
|
if err != nil {
|
|
return err
|
|
}
|
|
err = ioutil.WriteFile(_filePath(dir, name), data, info.Mode())
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return os.Chtimes(_filePath(dir, name), info.ModTime(), info.ModTime())
|
|
}
|
|
|
|
// RestoreAssets restores an asset under the given directory recursively
|
|
func RestoreAssets(dir, name string) error {
|
|
children, err := AssetDir(name)
|
|
// File
|
|
if err != nil {
|
|
return RestoreAsset(dir, name)
|
|
}
|
|
// Dir
|
|
for _, child := range children {
|
|
err = RestoreAssets(dir, filepath.Join(name, child))
|
|
if err != nil {
|
|
return err
|
|
}
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func _filePath(dir, name string) string {
|
|
cannonicalName := strings.Replace(name, "\\", "/", -1)
|
|
return filepath.Join(append([]string{dir}, strings.Split(cannonicalName, "/")...)...)
|
|
}
|