Skip to content

Commit acd7320

Browse files
raphinkstack72
authored andcommitted
rancher: set environment_id on import (hashicorp#11594)
1 parent d421829 commit acd7320

4 files changed

Lines changed: 44 additions & 4 deletions

File tree

builtin/providers/rancher/resource_rancher_registration_token.go

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ func resourceRancherRegistrationToken() *schema.Resource {
1616
Read: resourceRancherRegistrationTokenRead,
1717
Delete: resourceRancherRegistrationTokenDelete,
1818
Importer: &schema.ResourceImporter{
19-
State: schema.ImportStatePassthrough,
19+
State: resourceRancherRegistrationTokenImport,
2020
},
2121

2222
Schema: map[string]*schema.Schema{
@@ -204,6 +204,16 @@ func resourceRancherRegistrationTokenDelete(d *schema.ResourceData, meta interfa
204204
return nil
205205
}
206206

207+
func resourceRancherRegistrationTokenImport(d *schema.ResourceData, meta interface{}) ([]*schema.ResourceData, error) {
208+
client := meta.(*Config)
209+
regT, err := client.RegistrationToken.ById(d.Id())
210+
if err != nil {
211+
return []*schema.ResourceData{}, err
212+
}
213+
d.Set("environment_id", regT.AccountId)
214+
return []*schema.ResourceData{d}, nil
215+
}
216+
207217
// RegistrationTokenStateRefreshFunc returns a resource.StateRefreshFunc that is used to watch
208218
// a Rancher RegistrationToken.
209219
func RegistrationTokenStateRefreshFunc(client *rancherClient.RancherClient, regTID string) resource.StateRefreshFunc {

builtin/providers/rancher/resource_rancher_registry.go

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ func resourceRancherRegistry() *schema.Resource {
1717
Update: resourceRancherRegistryUpdate,
1818
Delete: resourceRancherRegistryDelete,
1919
Importer: &schema.ResourceImporter{
20-
State: schema.ImportStatePassthrough,
20+
State: resourceRancherRegistryImport,
2121
},
2222

2323
Schema: map[string]*schema.Schema{
@@ -210,6 +210,16 @@ func resourceRancherRegistryDelete(d *schema.ResourceData, meta interface{}) err
210210
return nil
211211
}
212212

213+
func resourceRancherRegistryImport(d *schema.ResourceData, meta interface{}) ([]*schema.ResourceData, error) {
214+
client := meta.(*Config)
215+
reg, err := client.Registry.ById(d.Id())
216+
if err != nil {
217+
return []*schema.ResourceData{}, err
218+
}
219+
d.Set("environment_id", reg.AccountId)
220+
return []*schema.ResourceData{d}, nil
221+
}
222+
213223
// RegistryStateRefreshFunc returns a resource.StateRefreshFunc that is used to watch
214224
// a Rancher Environment.
215225
func RegistryStateRefreshFunc(client *rancherClient.RancherClient, registryID string) resource.StateRefreshFunc {

builtin/providers/rancher/resource_rancher_registry_credential.go

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ func resourceRancherRegistryCredential() *schema.Resource {
1717
Update: resourceRancherRegistryCredentialUpdate,
1818
Delete: resourceRancherRegistryCredentialDelete,
1919
Importer: &schema.ResourceImporter{
20-
State: schema.ImportStatePassthrough,
20+
State: resourceRancherRegistryCredentialImport,
2121
},
2222

2323
Schema: map[string]*schema.Schema{
@@ -232,6 +232,16 @@ func resourceRancherRegistryCredentialDelete(d *schema.ResourceData, meta interf
232232
return nil
233233
}
234234

235+
func resourceRancherRegistryCredentialImport(d *schema.ResourceData, meta interface{}) ([]*schema.ResourceData, error) {
236+
client := meta.(*Config)
237+
regC, err := client.RegistryCredential.ById(d.Id())
238+
if err != nil {
239+
return []*schema.ResourceData{}, err
240+
}
241+
d.Set("environment_id", regC.AccountId)
242+
return []*schema.ResourceData{d}, nil
243+
}
244+
235245
// RegistryCredentialStateRefreshFunc returns a resource.StateRefreshFunc that is used to watch
236246
// a Rancher Environment.
237247
func RegistryCredentialStateRefreshFunc(client *rancherClient.RancherClient, registryCredID string) resource.StateRefreshFunc {

builtin/providers/rancher/resource_rancher_stack.go

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ func resourceRancherStack() *schema.Resource {
1919
Update: resourceRancherStackUpdate,
2020
Delete: resourceRancherStackDelete,
2121
Importer: &schema.ResourceImporter{
22-
State: schema.ImportStatePassthrough,
22+
State: resourceRancherStackImport,
2323
},
2424

2525
Schema: map[string]*schema.Schema{
@@ -333,6 +333,16 @@ func resourceRancherStackDelete(d *schema.ResourceData, meta interface{}) error
333333
return nil
334334
}
335335

336+
func resourceRancherStackImport(d *schema.ResourceData, meta interface{}) ([]*schema.ResourceData, error) {
337+
client := meta.(*Config)
338+
stack, err := client.Environment.ById(d.Id())
339+
if err != nil {
340+
return []*schema.ResourceData{}, err
341+
}
342+
d.Set("environment_id", stack.AccountId)
343+
return []*schema.ResourceData{d}, nil
344+
}
345+
336346
// StackStateRefreshFunc returns a resource.StateRefreshFunc that is used to watch
337347
// a Rancher Stack.
338348
func StackStateRefreshFunc(client *rancherClient.RancherClient, stackID string) resource.StateRefreshFunc {

0 commit comments

Comments
 (0)