本文整理汇总了Golang中github.com/hashicorp/terraform/terraform.NewResourceConfig函数的典型用法代码示例。如果您正苦于以下问题:Golang NewResourceConfig函数的具体用法?Golang NewResourceConfig怎么用?Golang NewResourceConfig使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了NewResourceConfig函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: TestProviderConfigure
func TestProviderConfigure(t *testing.T) {
var expectedKey string
var expectedEmail string
if v := os.Getenv("HEROKU_EMAIL"); v != "" {
expectedEmail = v
} else {
expectedEmail = "foo"
}
if v := os.Getenv("HEROKU_API_KEY"); v != "" {
expectedKey = v
} else {
expectedKey = "foo"
}
raw := map[string]interface{}{
"api_key": expectedKey,
"email": expectedEmail,
}
rawConfig, err := config.NewRawConfig(raw)
if err != nil {
t.Fatalf("err: %s", err)
}
rp := Provider()
err = rp.Configure(terraform.NewResourceConfig(rawConfig))
if err != nil {
t.Fatalf("err: %s", err)
}
}
开发者ID:EZTABLE,项目名称:terraform,代码行数:32,代码来源:provider_test.go
示例2: TestResourceProvider_Configure
func TestResourceProvider_Configure(t *testing.T) {
rp := new(ResourceProvider)
raw := map[string]interface{}{
"address": "demo.consul.io:80",
"datacenter": "nyc1",
}
rawConfig, err := config.NewRawConfig(raw)
if err != nil {
t.Fatalf("err: %s", err)
}
err = rp.Configure(terraform.NewResourceConfig(rawConfig))
if err != nil {
t.Fatalf("err: %s", err)
}
expected := Config{
Address: "demo.consul.io:80",
Datacenter: "nyc1",
}
if !reflect.DeepEqual(rp.Config, expected) {
t.Fatalf("bad: %#v", rp.Config)
}
}
开发者ID:EZTABLE,项目名称:terraform,代码行数:27,代码来源:resource_provider_test.go
示例3: TestResourceProvider_Configure
func TestResourceProvider_Configure(t *testing.T) {
rp := new(ResourceProvider)
raw := map[string]interface{}{
"access_key": "foo",
"secret_key": "bar",
"region": "us-east-1",
}
rawConfig, err := config.NewRawConfig(raw)
if err != nil {
t.Fatalf("err: %s", err)
}
err = rp.Configure(terraform.NewResourceConfig(rawConfig))
if err != nil {
t.Fatalf("err: %s", err)
}
expected := Config{
AccessKey: "foo",
SecretKey: "bar",
Region: "us-east-1",
}
if !reflect.DeepEqual(rp.Config, expected) {
t.Fatalf("bad: %#v", rp.Config)
}
}
开发者ID:jorgeng87,项目名称:terraform,代码行数:29,代码来源:resource_provider_test.go
示例4: TestProviderValidate
func TestProviderValidate(t *testing.T) {
cases := []struct {
P *Provider
Config map[string]interface{}
Err bool
}{
{
P: &Provider{
Schema: map[string]*Schema{
"foo": &Schema{},
},
},
Config: nil,
Err: true,
},
}
for i, tc := range cases {
c, err := config.NewRawConfig(tc.Config)
if err != nil {
t.Fatalf("err: %s", err)
}
_, es := tc.P.Validate(terraform.NewResourceConfig(c))
if len(es) > 0 != tc.Err {
t.Fatalf("%d: %#v", i, es)
}
}
}
开发者ID:paultyng,项目名称:terraform,代码行数:29,代码来源:provider_test.go
示例5: TestProviderConfigure
func TestProviderConfigure(t *testing.T) {
var expectedKey string
if v := os.Getenv("MAILGUN_API_KEY"); v != "" {
expectedKey = v
} else {
expectedKey = "foo"
}
raw := map[string]interface{}{
"api_key": expectedKey,
}
rawConfig, err := config.NewRawConfig(raw)
if err != nil {
t.Fatalf("err: %s", err)
}
rp := Provider()
err = rp.Configure(terraform.NewResourceConfig(rawConfig))
if err != nil {
t.Fatalf("err: %s", err)
}
config := rp.Meta().(*mailgun.Client)
if config.ApiKey != expectedKey {
t.Fatalf("bad: %#v", config)
}
}
开发者ID:GeorgeErickson,项目名称:terraform-1,代码行数:29,代码来源:provider_test.go
示例6: TestProviderConfigure
func TestProviderConfigure(t *testing.T) {
p := Provider().(*schema.Provider)
raw, err := config.NewRawConfig(map[string]interface{}{
"account": helpers.TestAccount,
"key": helpers.TestKeyFile,
"key_id": helpers.TestKeyID,
"url": "https://us-east-1.api.joyentcloud.com",
})
if err != nil {
t.Fatal(err)
}
providerConfig := terraform.NewResourceConfig(raw)
assert.Nil(t, p.Meta())
assert.Nil(t, p.Configure(providerConfig))
config, ok := p.Meta().(*Config)
if assert.True(t, ok) {
assert.NotNil(t, config)
assert.Equal(t, config.Account, helpers.TestAccount)
assert.Equal(t, config.Key, helpers.TestKeyFile)
assert.Equal(t, config.KeyID, helpers.TestKeyID)
assert.Equal(t, config.URL, "https://us-east-1.api.joyentcloud.com")
}
}
开发者ID:cehoffman,项目名称:triton-terraform,代码行数:26,代码来源:provider_test.go
示例7: testConfig
func testConfig(t *testing.T, c map[string]interface{}) *terraform.ResourceConfig {
r, err := config.NewRawConfig(c)
if err != nil {
t.Fatalf("bad: %s", err)
}
return terraform.NewResourceConfig(r)
}
开发者ID:Zordrak,项目名称:terraform,代码行数:8,代码来源:resource_provisioner_test.go
示例8: testConfigInterpolate
func testConfigInterpolate(
t *testing.T,
raw map[string]interface{},
vs map[string]ast.Variable) *terraform.ResourceConfig {
rc, err := config.NewRawConfig(raw)
if err != nil {
t.Fatalf("err: %s", err)
}
if len(vs) > 0 {
if err := rc.Interpolate(vs); err != nil {
t.Fatalf("err: %s", err)
}
}
return terraform.NewResourceConfig(rc)
}
开发者ID:morts1a,项目名称:terraform,代码行数:16,代码来源:field_reader_config_test.go
示例9: TestAzure_providerConfigure
func TestAzure_providerConfigure(t *testing.T) {
home, err := homedir.Dir()
if err != nil {
t.Fatalf("Error fetching homedir: %s", err)
}
fh, err := ioutil.TempFile(home, "tf-test-home")
if err != nil {
t.Fatalf("Error creating homedir-based temporary file: %s", err)
}
defer os.Remove(fh.Name())
_, err = io.WriteString(fh, testAzurePublishSettingsStr)
if err != nil {
t.Fatalf("err: %s", err)
}
fh.Close()
r := strings.NewReplacer(home, "~")
homePath := r.Replace(fh.Name())
cases := []struct {
SettingsFile string // String of XML or a path to an XML file
NilMeta bool // whether meta is expected to be nil
}{
{testAzurePublishSettingsStr, false},
{homePath, false},
}
for _, tc := range cases {
rp := Provider()
raw := map[string]interface{}{
"settings_file": tc.SettingsFile,
}
rawConfig, err := config.NewRawConfig(raw)
if err != nil {
t.Fatalf("err: %s", err)
}
err = rp.Configure(terraform.NewResourceConfig(rawConfig))
meta := rp.(*schema.Provider).Meta()
if (meta == nil) != tc.NilMeta {
t.Fatalf("expected NilMeta: %t, got meta: %#v, settings_file: %q",
tc.NilMeta, meta, tc.SettingsFile)
}
}
}
开发者ID:patrickdlee,项目名称:terraform,代码行数:47,代码来源:provider_test.go
示例10: TestAzure_providerConfigure
func TestAzure_providerConfigure(t *testing.T) {
rp := Provider()
raw := map[string]interface{}{
"publish_settings": testAzurePublishSettingsStr,
}
rawConfig, err := config.NewRawConfig(raw)
if err != nil {
t.Fatalf("err: %s", err)
}
err = rp.Configure(terraform.NewResourceConfig(rawConfig))
meta := rp.(*schema.Provider).Meta()
if meta == nil {
t.Fatalf("Expected metadata, got nil: err: %s", err)
}
}
开发者ID:AssertSelenium,项目名称:terraform,代码行数:17,代码来源:provider_test.go
示例11: TestResourceProvider_Configure
func TestResourceProvider_Configure(t *testing.T) {
rp := Provider()
raw := map[string]interface{}{
"address": "demo.consul.io:80",
"datacenter": "nyc3",
}
rawConfig, err := config.NewRawConfig(raw)
if err != nil {
t.Fatalf("err: %s", err)
}
err = rp.Configure(terraform.NewResourceConfig(rawConfig))
if err != nil {
t.Fatalf("err: %s", err)
}
}
开发者ID:packetloop,项目名称:terraform,代码行数:18,代码来源:resource_provider_test.go
示例12: TestResourceProvider_ConfigureBadRegion
func TestResourceProvider_ConfigureBadRegion(t *testing.T) {
rp := new(ResourceProvider)
raw := map[string]interface{}{
"access_key": "foo",
"secret_key": "bar",
"region": "blah",
}
rawConfig, err := config.NewRawConfig(raw)
if err != nil {
t.Fatalf("err: %s", err)
}
err = rp.Configure(terraform.NewResourceConfig(rawConfig))
if err == nil {
t.Fatalf("should have err: bad region")
}
}
开发者ID:EZTABLE,项目名称:terraform,代码行数:19,代码来源:resource_provider_test.go
示例13: TestResourceProvider_Configure
func TestResourceProvider_Configure(t *testing.T) {
rp := new(ResourceProvider)
var expectedToken string
var expectedEmail string
if v := os.Getenv("DNSIMPLE_EMAIL"); v != "" {
expectedEmail = v
} else {
expectedEmail = "foo"
}
if v := os.Getenv("DNSIMPLE_TOKEN"); v != "" {
expectedToken = v
} else {
expectedToken = "foo"
}
raw := map[string]interface{}{
"token": expectedToken,
"email": expectedEmail,
}
rawConfig, err := config.NewRawConfig(raw)
if err != nil {
t.Fatalf("err: %s", err)
}
err = rp.Configure(terraform.NewResourceConfig(rawConfig))
if err != nil {
t.Fatalf("err: %s", err)
}
expected := Config{
Token: expectedToken,
Email: expectedEmail,
}
if !reflect.DeepEqual(rp.Config, expected) {
t.Fatalf("bad: %#v", rp.Config)
}
}
开发者ID:GeorgeErickson,项目名称:terraform-1,代码行数:41,代码来源:resource_provider_test.go
示例14: TestResourceProvider_Configure
func TestResourceProvider_Configure(t *testing.T) {
rp := new(ResourceProvider)
var expectedKey string
var expectedEmail string
if v := os.Getenv("HEROKU_EMAIL"); v != "" {
expectedEmail = v
} else {
expectedEmail = "foo"
}
if v := os.Getenv("HEROKU_API_KEY"); v != "" {
expectedKey = v
} else {
expectedKey = "foo"
}
raw := map[string]interface{}{
"api_key": expectedKey,
"email": expectedEmail,
}
rawConfig, err := config.NewRawConfig(raw)
if err != nil {
t.Fatalf("err: %s", err)
}
err = rp.Configure(terraform.NewResourceConfig(rawConfig))
if err != nil {
t.Fatalf("err: %s", err)
}
expected := Config{
APIKey: expectedKey,
Email: expectedEmail,
}
if !reflect.DeepEqual(rp.Config, expected) {
t.Fatalf("bad: %#v", rp.Config)
}
}
开发者ID:JasonGiedymin,项目名称:terraform,代码行数:41,代码来源:resource_provider_test.go
示例15: testConfig
func testConfig(
t *testing.T,
c map[string]interface{},
vs map[string]string) *terraform.ResourceConfig {
rc, err := config.NewRawConfig(c)
if err != nil {
t.Fatalf("err: %s", err)
}
if len(vs) > 0 {
vars := make(map[string]ast.Variable)
for k, v := range vs {
vars[k] = ast.Variable{Value: v, Type: ast.TypeString}
}
if err := rc.Interpolate(vars); err != nil {
t.Fatalf("err: %s", err)
}
}
return terraform.NewResourceConfig(rc)
}
开发者ID:Zordrak,项目名称:terraform,代码行数:22,代码来源:diff_test.go
示例16: TestResourceProvider_ConfigureTLS
func TestResourceProvider_ConfigureTLS(t *testing.T) {
rp := Provider()
raw := map[string]interface{}{
"address": "demo.consul.io:80",
"ca_file": "test-fixtures/cacert.pem",
"cert_file": "test-fixtures/usercert.pem",
"datacenter": "nyc3",
"key_file": "test-fixtures/userkey.pem",
"scheme": "https",
}
rawConfig, err := config.NewRawConfig(raw)
if err != nil {
t.Fatalf("err: %s", err)
}
err = rp.Configure(terraform.NewResourceConfig(rawConfig))
if err != nil {
t.Fatalf("err: %s", err)
}
}
开发者ID:Originate,项目名称:terraform,代码行数:22,代码来源:resource_provider_test.go
示例17: TestProviderValidateResource
func TestProviderValidateResource(t *testing.T) {
cases := []struct {
P *Provider
Type string
Config map[string]interface{}
Err bool
}{
{
P: &Provider{},
Type: "foo",
Config: nil,
Err: true,
},
{
P: &Provider{
ResourcesMap: map[string]*Resource{
"foo": &Resource{},
},
},
Type: "foo",
Config: nil,
Err: false,
},
}
for i, tc := range cases {
c, err := config.NewRawConfig(tc.Config)
if err != nil {
t.Fatalf("err: %s", err)
}
_, es := tc.P.ValidateResource(tc.Type, terraform.NewResourceConfig(c))
if len(es) > 0 != tc.Err {
t.Fatalf("%d: %#v", i, es)
}
}
}
开发者ID:paultyng,项目名称:terraform,代码行数:38,代码来源:provider_test.go
示例18: TestProviderConfigure
func TestProviderConfigure(t *testing.T) {
var expectedUser string
var expectedPassword string
var expectedKey string
var expectedAccountEmail string
if v := os.Getenv("PINGDOM_USER"); v != "" {
expectedUser = v
} else {
expectedUser = "foo"
}
if v := os.Getenv("PINGDOM_PASSWORD"); v != "" {
expectedPassword = v
} else {
expectedPassword = "foo"
}
if v := os.Getenv("PINGDOM_API_KEY"); v != "" {
expectedKey = v
} else {
expectedKey = "foo"
}
if v := os.Getenv("PINGDOM_ACCOUNT_EMAIL"); v != "" {
expectedAccountEmail = v
} else {
expectedAccountEmail = "foo"
}
raw := map[string]interface{}{
"user": expectedUser,
"password": expectedPassword,
"api_key": expectedKey,
"account_email": expectedAccountEmail,
}
rawConfig, err := config.NewRawConfig(raw)
if err != nil {
t.Fatalf("err: %s", err)
}
rp := Provider().(*schema.Provider)
err = rp.Configure(terraform.NewResourceConfig(rawConfig))
if err != nil {
t.Fatalf("err: %s", err)
}
config := rp.Meta().(*pingdom.Client)
if config.User != expectedUser {
t.Fatalf("bad: %#v", config)
}
if config.Password != expectedPassword {
t.Fatalf("bad: %#v", config)
}
if config.APIKey != expectedKey {
t.Fatalf("bad: %#v", config)
}
}
开发者ID:russellcardullo,项目名称:terraform-provider-pingdom,代码行数:61,代码来源:provider_test.go
示例19: TestSchemaMap_Diff
//.........这里部分代码省略.........
// #43 - Computed maps
{
Schema: map[string]*Schema{
"vars": &Schema{
Type: TypeMap,
Computed: true,
},
},
State: nil,
Config: nil,
Diff: &terraform.InstanceDiff{
Attributes: map[string]*terraform.ResourceAttrDiff{
"vars.#": &terraform.ResourceAttrDiff{
Old: "",
NewComputed: true,
},
},
},
Err: false,
},
// #44 - Computed maps
{
Schema: map[string]*Schema{
"vars": &Schema{
Type: TypeMap,
Computed: true,
},
},
State: &terraform.InstanceState{
Attributes: map[string]string{
"vars.#": "0",
},
},
Config: map[string]interface{}{
"vars": map[string]interface{}{
"bar": "${var.foo}",
},
},
ConfigVariables: map[string]string{
"var.foo": config.UnknownVariableValue,
},
Diff: &terraform.InstanceDiff{
Attributes: map[string]*terraform.ResourceAttrDiff{
"vars.#": &terraform.ResourceAttrDiff{
Old: "",
NewComputed: true,
},
},
},
Err: false,
},
// #45 - Empty
{
Schema: map[string]*Schema{},
State: &terraform.InstanceState{},
Config: map[string]interface{}{},
Diff: nil,
Err: false,
},
}
for i, tc := range cases {
c, err := config.NewRawConfig(tc.Config)
if err != nil {
t.Fatalf("#%d err: %s", i, err)
}
if len(tc.ConfigVariables) > 0 {
if err := c.Interpolate(tc.ConfigVariables); err != nil {
t.Fatalf("#%d err: %s", i, err)
}
}
d, err := schemaMap(tc.Schema).Diff(
tc.State, terraform.NewResourceConfig(c))
if (err != nil) != tc.Err {
t.Fatalf("#%d err: %s", i, err)
}
if !reflect.DeepEqual(tc.Diff, d) {
t.Fatalf("#%d: bad:\n\n%#v", i, d)
}
}
}
开发者ID:packetloop,项目名称:terraform,代码行数:101,代码来源:schema_test.go
示例20: TestSchemaMap_Input
//.........这里部分代码省略.........
Config: map[string]interface{}{
"availability_zone": "bar",
},
Input: map[string]string{
"availability_zone": "foo",
},
Result: map[string]interface{}{},
Err: false,
},
{
Schema: map[string]*Schema{
"availability_zone": &Schema{
Type: TypeString,
Default: "foo",
Optional: true,
},
},
Input: map[string]string{
"availability_zone": "bar",
},
Result: map[string]interface{}{},
Err: false,
},
{
Schema: map[string]*Schema{
"availability_zone": &Schema{
Type: TypeString,
DefaultFunc: func() (interface{}, error) {
return "foo", nil
},
Optional: true,
},
},
Input: map[string]string{
"availability_zone": "bar",
},
Result: map[string]interface{}{},
Err: false,
},
{
Schema: map[string]*Schema{
"availability_zone": &Schema{
Type: TypeString,
DefaultFunc: func() (interface{}, error) {
return nil, nil
},
Optional: true,
},
},
Input: map[string]string{
"availability_zone": "bar",
},
Result: map[string]interface{}{
"availability_zone": "bar",
},
Err: false,
},
}
for i, tc := range cases {
if tc.Config == nil {
tc.Config = make(map[string]interface{})
}
c, err := config.NewRawConfig(tc.Config)
if err != nil {
t.Fatalf("err: %s", err)
}
input := new(terraform.MockUIInput)
input.InputReturnMap = tc.Input
rc := terraform.NewResourceConfig(c)
rc.Config = make(map[string]interface{})
actual, err := schemaMap(tc.Schema).Input(input, rc)
if (err != nil) != tc.Err {
t.Fatalf("#%d err: %s", i, err)
}
if !reflect.DeepEqual(tc.Result, actual.Config) {
t.Fatalf("#%d: bad:\n\n%#v", i, actual.Config)
}
}
}
开发者ID:packetloop,项目名称:terraform,代码行数:101,代码来源:schema_test.go
注:本文中的github.com/hashicorp/terraform/terraform.NewResourceConfig函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论