registry credentials: Update default expiry and don't ignore error (#467)
* Add test using the default expiry. * Don't ignore error when calling updateExpiredDockerCredentials. * Set default to the new max allowed by the API.
This commit is contained in:
parent
1f18243ebc
commit
11296f12ab
|
@ -10,7 +10,7 @@ import (
|
|||
"github.com/hashicorp/terraform-plugin-sdk/helper/validation"
|
||||
)
|
||||
|
||||
const expirySecondsDefault = 2147483647 // Max value of signed 32 bit integer
|
||||
const expirySecondsDefault = 1576800000 // Max allowed by the API, roughly 50 years
|
||||
|
||||
func resourceDigitalOceanContainerRegistryDockerCredentials() *schema.Resource {
|
||||
return &schema.Resource{
|
||||
|
@ -37,7 +37,7 @@ func resourceDigitalOceanContainerRegistryDockerCredentials() *schema.Resource {
|
|||
"expiry_seconds": {
|
||||
Type: schema.TypeInt,
|
||||
Optional: true,
|
||||
Default: expirySecondsDefault, // Relatively close to max value of Duration
|
||||
Default: expirySecondsDefault,
|
||||
},
|
||||
"docker_credentials": {
|
||||
Type: schema.TypeString,
|
||||
|
@ -73,7 +73,10 @@ func resourceDigitalOceanContainerRegistryDockerCredentialsRead(d *schema.Resour
|
|||
d.Set("registry_name", reg.Name)
|
||||
d.Set("write", write)
|
||||
|
||||
updateExpiredDockerCredentials(d, write, client)
|
||||
err = updateExpiredDockerCredentials(d, write, client)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
|
|
@ -20,6 +20,33 @@ func TestAccDigitalOceanContainerRegistryDockerCredentials_Basic(t *testing.T) {
|
|||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: testAccCheckDigitalOceanContainerRegistryDockerCredentialsConfig_basic,
|
||||
Check: resource.ComposeTestCheckFunc(
|
||||
testAccCheckDigitalOceanContainerRegistryDockerCredentialsExists("digitalocean_container_registry.foobar", ®),
|
||||
testAccCheckDigitalOceanContainerRegistryDockerCredentialsAttributes(®),
|
||||
resource.TestCheckResourceAttr(
|
||||
"digitalocean_container_registry_docker_credentials.foobar", "registry_name", "foobar"),
|
||||
resource.TestCheckResourceAttr(
|
||||
"digitalocean_container_registry_docker_credentials.foobar", "write", "true"),
|
||||
resource.TestCheckResourceAttrSet(
|
||||
"digitalocean_container_registry_docker_credentials.foobar", "docker_credentials"),
|
||||
resource.TestCheckResourceAttrSet(
|
||||
"digitalocean_container_registry_docker_credentials.foobar", "credential_expiration_time"),
|
||||
),
|
||||
},
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
func TestAccDigitalOceanContainerRegistryDockerCredentials_withExpiry(t *testing.T) {
|
||||
var reg godo.Registry
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
CheckDestroy: testAccCheckDigitalOceanContainerRegistryDockerCredentialsDestroy,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: testAccCheckDigitalOceanContainerRegistryDockerCredentialsConfig_withExpiry,
|
||||
Check: resource.ComposeTestCheckFunc(
|
||||
testAccCheckDigitalOceanContainerRegistryDockerCredentialsExists("digitalocean_container_registry.foobar", ®),
|
||||
testAccCheckDigitalOceanContainerRegistryDockerCredentialsAttributes(®),
|
||||
|
@ -101,6 +128,16 @@ resource "digitalocean_container_registry" "foobar" {
|
|||
name = "foobar"
|
||||
}
|
||||
|
||||
resource "digitalocean_container_registry_docker_credentials" "foobar" {
|
||||
registry_name = digitalocean_container_registry.foobar.name
|
||||
write = true
|
||||
}`
|
||||
|
||||
var testAccCheckDigitalOceanContainerRegistryDockerCredentialsConfig_withExpiry = `
|
||||
resource "digitalocean_container_registry" "foobar" {
|
||||
name = "foobar"
|
||||
}
|
||||
|
||||
resource "digitalocean_container_registry_docker_credentials" "foobar" {
|
||||
registry_name = digitalocean_container_registry.foobar.name
|
||||
write = true
|
||||
|
|
|
@ -49,10 +49,10 @@ provider "docker" {
|
|||
|
||||
### Kubernetes Example
|
||||
|
||||
Combined with the Kubernetes Provider's `kubernetes_secret` resource, you can
|
||||
Combined with the Kubernetes Provider's `kubernetes_secret` resource, you can
|
||||
access the registry from inside your cluster:
|
||||
|
||||
```
|
||||
```hcl
|
||||
resource "digitalocean_container_registry_docker_credentials" "example" {
|
||||
registry_name = "example"
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue