Merge pull request #7295 from hashicorp/import-aws-cloudtrail
provider/aws: Support Import for `aws_cloudtrail`
This commit is contained in:
commit
c91e45604d
|
@ -0,0 +1,31 @@
|
||||||
|
package aws
|
||||||
|
|
||||||
|
import (
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"github.com/hashicorp/terraform/helper/acctest"
|
||||||
|
"github.com/hashicorp/terraform/helper/resource"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestAccAWSCloudTrail_importBasic(t *testing.T) {
|
||||||
|
resourceName := "aws_cloudtrail.foobar"
|
||||||
|
cloudTrailRandInt := acctest.RandInt()
|
||||||
|
|
||||||
|
resource.Test(t, resource.TestCase{
|
||||||
|
PreCheck: func() { testAccPreCheck(t) },
|
||||||
|
Providers: testAccProviders,
|
||||||
|
CheckDestroy: testAccCheckAWSCloudTrailDestroy,
|
||||||
|
Steps: []resource.TestStep{
|
||||||
|
resource.TestStep{
|
||||||
|
Config: testAccAWSCloudTrailConfig(cloudTrailRandInt),
|
||||||
|
},
|
||||||
|
|
||||||
|
resource.TestStep{
|
||||||
|
ResourceName: resourceName,
|
||||||
|
ImportState: true,
|
||||||
|
ImportStateVerify: true,
|
||||||
|
ImportStateVerifyIgnore: []string{"enable_log_file_validation", "is_multi_region_trail", "include_global_service_events", "enable_logging"},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
|
@ -15,6 +15,9 @@ func resourceAwsCloudTrail() *schema.Resource {
|
||||||
Read: resourceAwsCloudTrailRead,
|
Read: resourceAwsCloudTrailRead,
|
||||||
Update: resourceAwsCloudTrailUpdate,
|
Update: resourceAwsCloudTrailUpdate,
|
||||||
Delete: resourceAwsCloudTrailDelete,
|
Delete: resourceAwsCloudTrailDelete,
|
||||||
|
Importer: &schema.ResourceImporter{
|
||||||
|
State: schema.ImportStatePassthrough,
|
||||||
|
},
|
||||||
|
|
||||||
Schema: map[string]*schema.Schema{
|
Schema: map[string]*schema.Schema{
|
||||||
"name": &schema.Schema{
|
"name": &schema.Schema{
|
||||||
|
@ -136,10 +139,9 @@ func resourceAwsCloudTrailCreate(d *schema.ResourceData, meta interface{}) error
|
||||||
func resourceAwsCloudTrailRead(d *schema.ResourceData, meta interface{}) error {
|
func resourceAwsCloudTrailRead(d *schema.ResourceData, meta interface{}) error {
|
||||||
conn := meta.(*AWSClient).cloudtrailconn
|
conn := meta.(*AWSClient).cloudtrailconn
|
||||||
|
|
||||||
name := d.Get("name").(string)
|
|
||||||
input := cloudtrail.DescribeTrailsInput{
|
input := cloudtrail.DescribeTrailsInput{
|
||||||
TrailNameList: []*string{
|
TrailNameList: []*string{
|
||||||
aws.String(name),
|
aws.String(d.Id()),
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
resp, err := conn.DescribeTrails(&input)
|
resp, err := conn.DescribeTrails(&input)
|
||||||
|
@ -157,7 +159,7 @@ func resourceAwsCloudTrailRead(d *schema.ResourceData, meta interface{}) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
if trail == nil {
|
if trail == nil {
|
||||||
log.Printf("[WARN] CloudTrail (%s) not found", name)
|
log.Printf("[WARN] CloudTrail (%s) not found", d.Id())
|
||||||
d.SetId("")
|
d.SetId("")
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
@ -215,7 +217,7 @@ func resourceAwsCloudTrailUpdate(d *schema.ResourceData, meta interface{}) error
|
||||||
conn := meta.(*AWSClient).cloudtrailconn
|
conn := meta.(*AWSClient).cloudtrailconn
|
||||||
|
|
||||||
input := cloudtrail.UpdateTrailInput{
|
input := cloudtrail.UpdateTrailInput{
|
||||||
Name: aws.String(d.Get("name").(string)),
|
Name: aws.String(d.Id()),
|
||||||
}
|
}
|
||||||
|
|
||||||
if d.HasChange("s3_bucket_name") {
|
if d.HasChange("s3_bucket_name") {
|
||||||
|
@ -274,11 +276,10 @@ func resourceAwsCloudTrailUpdate(d *schema.ResourceData, meta interface{}) error
|
||||||
|
|
||||||
func resourceAwsCloudTrailDelete(d *schema.ResourceData, meta interface{}) error {
|
func resourceAwsCloudTrailDelete(d *schema.ResourceData, meta interface{}) error {
|
||||||
conn := meta.(*AWSClient).cloudtrailconn
|
conn := meta.(*AWSClient).cloudtrailconn
|
||||||
name := d.Get("name").(string)
|
|
||||||
|
|
||||||
log.Printf("[DEBUG] Deleting CloudTrail: %q", name)
|
log.Printf("[DEBUG] Deleting CloudTrail: %q", d.Id())
|
||||||
_, err := conn.DeleteTrail(&cloudtrail.DeleteTrailInput{
|
_, err := conn.DeleteTrail(&cloudtrail.DeleteTrailInput{
|
||||||
Name: aws.String(name),
|
Name: aws.String(d.Id()),
|
||||||
})
|
})
|
||||||
|
|
||||||
return err
|
return err
|
||||||
|
|
Loading…
Reference in New Issue