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\x84\x8e\xc1\x4e\xc3\x30\x0c\x86\xef\x79\x0a\xa3\xed\x9a\xee\x19\xa6\xd1" +
|
|
"\x1b\x4c\x68\x05\x71\xf6\x82\xc3\xa2\x25\x4e\x94\xb8\x6b\xab\x2e\xef\x8e\x86\x60\x9a\xd0\x24\x8e\xb6\xbf\xdf\xdf" +
|
|
"\xbf\x78\x58\xed\x1d\xaf\xca\x41\xa9\x05\xd0\xe8\x04\x86\x03\x31\x20\x4f\x60\x62\x08\xc8\x1f\x60\xd1\xf9\xa2\x0a" +
|
|
"\x09\x68\x52\x4a\x28\x67\xb4\x31\x07\x70\xec\xe4\x66\x1c\x62\x3e\x96\x84\x86\xa0\x90\x27\x23\x30\xcf\xd0\xb4\xa3" +
|
|
"\x64\xdc\x51\x89\x7d\x36\x54\x9a\xf7\x2b\x53\x2b\x9c\xcf\x70\x2f\xcd\x34\xfc\x17\xbd\xb1\x62\x4a\x7e\x02\x8d\xbd" +
|
|
"\x44\x8d\x29\xe5\x78\x22\xa5\x8e\xfd\x9e\x8c\x78\x30\x91\xad\xfb\x84\xbe\x90\x36\x91\x85\x46\x81\xe5\xbc\x79\x7a" +
|
|
"\xeb\x5e\xdb\x5d\xbd\x52\x3f\x2f\xec\xb7\xf5\x91\x92\x8f\x53\x20\x96\x66\x8b\xe1\x22\xd3\x77\xd6\x5d\x6f\xad\x1b" +
|
|
"\x7f\x8f\x7f\x9a\xb6\x7c\x72\x39\xf2\x05\x86\x5a\x9b\x09\x83\x07\xcd\xb0\x9c\xb7\xeb\xe7\xb6\x7b\x59\x6f\xda\xfa" +
|
|
"\x15\x00\x00\xff\xff\xb4\x7f\x25\x14\x76\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: 374,
|
|
md5checksum: "",
|
|
mode: os.FileMode(436),
|
|
modTime: time.Unix(1585549780, 0),
|
|
}
|
|
|
|
a := &asset{bytes: bytes, info: info}
|
|
|
|
return a, nil
|
|
}
|
|
|
|
var _bindataTemplatesAwsrolestfMaintf = []byte(
|
|
"\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x91\x41\x6b\xdc\x30\x10\x85\xef\xfe\x15\xc2\x77\xc9\x94\xde\x16\x02" +
|
|
"\x6d\x68\x2e\x3d\x94\x12\x17\x7a\x34\x5a\xed\xd8\x16\x96\x34\xee\x68\xb4\xc9\xb2\xf1\x7f\x2f\x92\x92\xb2\x65\xb7" +
|
|
"\xb4\xd5\xcd\xc3\x7b\x9f\xe7\xbd\x61\x20\xd2\x23\x92\x17\xe7\x46\x88\xbd\x36\x0b\x84\x83\x68\xe3\xfb\xb6\x0c\x84" +
|
|
"\xd8\x27\xb3\x00\x8b\xdf\xdf\x9d\x68\xcf\x67\xa1\x7a\xd6\x0c\x3d\x23\xc1\x7d\x35\xaa\xfb\xa2\xfe\xa2\x3d\x88\x6d" +
|
|
"\x6b\x0b\x80\x60\xb2\x18\xae\x01\x7a\x95\x11\x13\xcf\xf2\x5d\xd5\x2d\x70\x12\x57\xef\x4e\xb4\x11\xe8\x68\x0d\x48" +
|
|
"\xab\xbd\x24\x74\x10\xab\xfc\x09\x69\x89\xab\x36\x30\x2c\x70\x1a\x56\x82\xd1\x3e\x67\xb9\xd5\xbe\xa8\xba\xbc\xe0" +
|
|
"\xc3\x33\x93\x7e\x84\x88\x89\x0c\x44\xf5\x10\x8e\x96\x30\x78\x08\x2c\xb6\xad\x28\x3e\xc1\xea\xf0\x94\x27\xea\x75" +
|
|
"\x6b\x79\x63\xdc\xa7\x31\xe3\xdf\x22\xad\x84\xa3\x75\xf0\x8f\x9d\x7c\xfc\xde\x7f\x7d\x35\xbc\x01\xb4\x71\x37\xb3" +
|
|
"\xd6\xb2\x25\x3e\x05\x20\x39\x26\xe7\xa4\xc1\xc0\x84\x2e\xdb\xb6\x66\x6b\x1a\x8f\x87\xe4\xa0\xc4\x2c\x6d\xd4\x33" +
|
|
"\xd5\x80\x17\xa0\xc9\xf2\x6e\x17\xe3\xbc\xeb\xba\xc9\xf2\x87\xc9\xf2\x9c\xf6\xca\xf8\x83\x0a\xfa\x68\x25\x83\x99" +
|
|
"\x95\x0d\x5d\xf9\xb0\x61\x24\xdd\xfd\xaa\x57\x4d\x96\xf3\xef\xe0\xa2\xac\xcc\xfc\x4b\x9f\x2f\xe2\x47\x42\xce\x11" +
|
|
"\xf3\x3e\xf5\x66\x43\x06\xfe\xc1\xdb\x57\xc9\x63\x56\xbc\x08\x9f\x22\x7f\xc3\xcf\x11\x43\x05\x64\xe3\x10\xf2\x41" +
|
|
"\x2e\xaa\xfd\xef\x5b\x6d\xcd\xcf\x00\x00\x00\xff\xff\xd4\xd2\x05\x95\xdf\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: 735,
|
|
md5checksum: "",
|
|
mode: os.FileMode(436),
|
|
modTime: time.Unix(1585549780, 0),
|
|
}
|
|
|
|
a := &asset{bytes: bytes, info: info}
|
|
|
|
return a, nil
|
|
}
|
|
|
|
var _bindataTemplatesRdstfDeploysh = []byte(
|
|
"\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x8e\x31\x4e\xc4\x40\x0c\x45\x7b\x4e\x61\x44\x9d\xd9\x13\x50\x72\x01" +
|
|
"\x1a\xca\x91\x33\xf3\x59\x46\x24\xf6\xc8\x76\x12\xd0\xee\xde\x9d\x06\x41\x84\x90\x40\x82\xce\x96\xfd\xde\xff\x37" +
|
|
"\xd7\x87\xb1\xc9\xc1\x9f\xae\x02\x66\xfc\xa8\x36\x53\x93\x16\xbb\x75\x53\x7b\xf6\xce\x05\xe4\x98\x50\x82\x4e\x27" +
|
|
"\x4a\x77\x2f\x61\x7c\x0f\xd7\xc5\x0a\x3c\x3d\x7c\xfc\x5c\x2e\x74\x3e\xd3\x77\xb4\x60\xfb\x09\xdd\xa5\x72\xef\xd3" +
|
|
"\x2b\x0d\xc1\x76\x44\xdc\xce\x5a\x97\x09\xc9\xaa\xa7\xca\xc1\x89\x37\xcf\xbe\x8c\x82\xc8\xad\x7a\x2a\x3a\xcf\x2c" +
|
|
"\x35\x77\x6b\x2b\x07\xde\x4f\x4e\x03\x2f\xa1\x03\xf7\x6e\xba\xe2\x37\xf2\xcf\x31\x37\xf1\x60\x29\xf8\x17\x49\xc6" +
|
|
"\x0a\xf9\x43\xa1\xae\x1e\x47\x83\xe7\x3a\x7e\x71\xbc\x05\x00\x00\xff\xff\xb6\x6e\x64\x21\xc1\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: 449,
|
|
md5checksum: "",
|
|
mode: os.FileMode(436),
|
|
modTime: time.Unix(1585715612, 0),
|
|
}
|
|
|
|
a := &asset{bytes: bytes, info: info}
|
|
|
|
return a, nil
|
|
}
|
|
|
|
var _bindataTemplatesRdstfMaintf = []byte(
|
|
"\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xa4\x94\x41\x6f\xd3\x4e\x10\xc5\xef\xfe\x14\xa3\xdc\xed\xfc\xff\xe2\x80" +
|
|
"\x54\x29\x12\x85\x16\x54\x24\x50\x05\x85\x03\x17\x6b\xbc\x1e\x3b\x2b\xaf\x77\xdd\x9d\xd9\xa6\x6d\x9a\xef\x8e\xd6" +
|
|
"\x9b\x94\x44\x49\x9a\x22\x7c\x4a\xc6\xef\xfd\xf6\xcd\x73\x1c\x21\xef\xb1\x71\xbe\x87\x65\x06\x50\xa1\xea\xc8\xd6" +
|
|
"\x30\xe1\x37\x93\x71\x00\x50\x05\xd5\x91\xc0\xee\x35\x83\x89\xc5\x3b\x9d\x57\x68\xbb\xfc\x19\x91\x2b\xd7\xf7\x68" +
|
|
"\xeb\x9c\x05\x85\x26\xa3\xdd\x53\xab\x9d\xdd\xb7\xe3\x90\xb3\x0b\x32\xcf\xff\x4f\xba\x8e\x1e\x60\xef\x9a\xc1\xc4" +
|
|
"\xd7\x9c\x04\x0b\xe7\x3b\x1e\x50\x51\xd9\xd1\x43\x39\x78\x6a\xf4\xfd\x5a\x90\xce\xe3\xe9\x72\x09\xc5\xe5\xbd\x78" +
|
|
"\xfc\x46\xec\x82\x57\xc4\xc5\x05\x0a\x56\xc8\x54\x5c\x59\x16\xb4\x8a\xbe\x62\x4f\xb0\x5a\x25\xe6\xe0\x5d\xa3\x0d" +
|
|
"\xed\x1d\xaa\xfa\x3a\x09\x50\x99\x83\xa9\x52\x29\xb9\x5b\x58\xf2\x79\x13\x8c\xc9\x95\xb3\xe2\x9d\x89\xb6\x55\xb6" +
|
|
"\xca\xb2\xde\xd5\xc1\x50\xca\x3f\x36\x99\x12\x6d\x31\x5a\x2d\x67\x67\xcc\xf3\xb3\xe9\xb4\xd5\xf2\xae\xd5\x32\x0f" +
|
|
"\x55\xa1\xfa\xba\x18\xab\x15\x52\xf3\x42\xdb\xe9\xf8\x45\xdb\xc6\xe3\xd4\xd7\x5c\xb4\x5a\xe2\x19\x64\xef\xb4\x77" +
|
|
"\xb6\x27\x2b\x23\xed\xc0\xea\x97\x5b\x92\x27\xb8\x0d\x4e\xe2\xe2\x19\x80\x5e\x57\x51\xda\xd8\xc5\x41\xef\xe1\xda" +
|
|
"\x76\x28\x03\x32\x2f\x9c\xaf\x37\xfb\xbc\x44\xb9\xde\x68\x77\x08\xac\x1f\x69\xbb\xd5\x97\x08\xdf\xf5\x23\x5d\xd9" +
|
|
"\x4f\x55\x72\x06\x26\xff\x5a\xe7\x8f\xa8\xdd\x3a\x37\x03\xa8\xd7\xf7\xf8\x15\xf6\x8b\x2a\xae\xce\xf0\x04\x7d\x60" +
|
|
"\xb9\x71\x9f\xd9\xd9\x14\x62\x43\x29\x05\x5b\x8e\x94\x2c\xc5\xb9\x21\xec\xd7\xd0\xf8\xb1\xd8\xaf\x6e\x0c\x21\x27" +
|
|
"\x64\x19\xc0\x72\x99\x83\x6e\x8e\x67\x3b\x5f\xf0\xe6\xf9\x7c\x30\xc8\x9c\xe8\xb8\xe0\xf2\xf9\x11\xab\x71\xfe\xf2" +
|
|
"\x8a\x7b\x98\x9d\xb0\x31\x44\xfc\x4b\x78\x5d\xa4\xf7\xa8\xba\x30\x5c\x68\xc6\xca\x50\x9d\x08\xd5\x38\x2b\x3d\x09" +
|
|
"\x59\xd1\xce\x96\x03\x79\xed\x6a\x98\xc1\x7f\x1b\xbe\x61\x3a\xa5\x7d\x7b\x2c\x8b\x75\x72\x3c\xcf\x97\x60\x44\x9f" +
|
|
"\xff\xda\x0d\xd4\xc7\x61\x89\x8f\x30\x03\xf1\x81\xfe\x7a\xc9\x6b\xbe\x35\x1f\xb1\xd7\xe6\x61\xfd\x2a\xf0\xad\x29" +
|
|
"\x9b\x34\x38\xf1\x22\xfc\x71\xfe\x43\xc9\x91\x72\x69\x5b\x6d\xe9\x27\x79\xd6\x9b\x1f\xe4\x18\x83\xc6\x79\x79\xb7" +
|
|
"\xbe\x71\x3a\xce\x2e\xe8\x68\xaa\x55\xf6\x3b\x00\x00\xff\xff\xf1\x7c\xe4\x55\x2a\x06\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: 1578,
|
|
md5checksum: "",
|
|
mode: os.FileMode(436),
|
|
modTime: time.Unix(1585825744, 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, "/")...)...)
|
|
}
|