mirror of
https://github.com/kreuzwerker/terraform-provider-docker.git
synced 2025-12-20 22:59:42 -05:00
Provider Docker: (#6376)
- Add option keep_locally - Add unit test - Add documentation
This commit is contained in:
parent
5cdb31fec1
commit
c943ed4b78
3 changed files with 46 additions and 2 deletions
|
|
@ -26,6 +26,11 @@ func resourceDockerImage() *schema.Resource {
|
|||
Type: schema.TypeString,
|
||||
Computed: true,
|
||||
},
|
||||
|
||||
"keep_locally": &schema.Schema{
|
||||
Type: schema.TypeBool,
|
||||
Optional: true,
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -63,6 +63,11 @@ func searchLocalImages(data Data, imageName string) *dc.APIImages {
|
|||
|
||||
func removeImage(d *schema.ResourceData, client *dc.Client) error {
|
||||
var data Data
|
||||
|
||||
if keepLocally := d.Get("keep_locally").(bool); keepLocally {
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := fetchLocalImages(&data, client); err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
|
|||
|
|
@ -44,9 +44,36 @@ func TestAccDockerImage_private(t *testing.T) {
|
|||
})
|
||||
}
|
||||
|
||||
func testAccDockerImageDestroy(s *terraform.State) error {
|
||||
//client := testAccProvider.Meta().(*dc.Client)
|
||||
func TestAccDockerImage_destroy(t *testing.T) {
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
CheckDestroy: func(s *terraform.State) error {
|
||||
for _, rs := range s.RootModule().Resources {
|
||||
if rs.Type != "docker_image" {
|
||||
continue
|
||||
}
|
||||
|
||||
client := testAccProvider.Meta().(*dc.Client)
|
||||
_, err := client.InspectImage(rs.Primary.Attributes["latest"])
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
return nil
|
||||
},
|
||||
Steps: []resource.TestStep{
|
||||
resource.TestStep{
|
||||
Config: testAccDockerImageKeepLocallyConfig,
|
||||
Check: resource.ComposeTestCheckFunc(
|
||||
resource.TestMatchResourceAttr("docker_image.foobarzoo", "latest", contentDigestRegexp),
|
||||
),
|
||||
},
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
func testAccDockerImageDestroy(s *terraform.State) error {
|
||||
for _, rs := range s.RootModule().Resources {
|
||||
if rs.Type != "docker_image" {
|
||||
continue
|
||||
|
|
@ -76,3 +103,10 @@ resource "docker_image" "foobar" {
|
|||
keep_updated = true
|
||||
}
|
||||
`
|
||||
|
||||
const testAccDockerImageKeepLocallyConfig = `
|
||||
resource "docker_image" "foobarzoo" {
|
||||
name = "crux:3.1"
|
||||
keep_locally = true
|
||||
}
|
||||
`
|
||||
|
|
|
|||
Loading…
Reference in a new issue