diff --git a/README.md b/README.md index dd313c6..4be5506 100644 --- a/README.md +++ b/README.md @@ -174,7 +174,7 @@ $ terraform import bitbucketserver_user.test mreynolds ### Set Server License ```hcl -resource "bitbucketserver_admin_license" "main" { +resource "bitbucketserver_license" "main" { license = "AAACLg0ODAoPeNqNVEtv4jAQvudXRNpbp" } ``` @@ -200,14 +200,14 @@ Additional to the above, the following attributes are emitted: #### Import License ```bash -$ terraform import bitbucketserver_admin_license.main license +$ terraform import bitbucketserver_license.main license ``` ### Set Mail Server Configuration ```hcl -resource "bitbucketserver_admin_mail_server" "mail" { +resource "bitbucketserver_mail_server" "mail" { hostname = "mail.example.com" port = 465 protocol = "SMTPS" @@ -227,7 +227,7 @@ resource "bitbucketserver_admin_mail_server" "mail" { #### Import Mail Configuration ```bash -$ terraform import bitbucketserver_admin_mail_server.mail mail.example.com +$ terraform import bitbucketserver_mail_server.mail mail.example.com ``` --- diff --git a/bitbucket/client.go b/bitbucket/client.go index 0e38742..5d713c8 100644 --- a/bitbucket/client.go +++ b/bitbucket/client.go @@ -69,7 +69,7 @@ func (c *BitbucketClient) Do(method, endpoint string, payload *bytes.Buffer) (*h resp, err := c.HTTPClient.Do(req) log.Printf("[DEBUG] Resp: %v Err: %v", resp, err) - if resp.StatusCode >= 400 || resp.StatusCode < 200 { + if resp != nil && (resp.StatusCode >= 400 || resp.StatusCode < 200) { apiError := Error{ StatusCode: resp.StatusCode, Endpoint: endpoint, diff --git a/bitbucket/provider.go b/bitbucket/provider.go index 0916bab..659db50 100644 --- a/bitbucket/provider.go +++ b/bitbucket/provider.go @@ -34,8 +34,8 @@ func Provider() terraform.ResourceProvider { "bitbucketserver_project_permissions_users": dataSourceProjectPermissionsUsers(), }, ResourcesMap: map[string]*schema.Resource{ - "bitbucketserver_admin_license": resourceAdminLicense(), - "bitbucketserver_admin_mail_server": resourceAdminMailServer(), + "bitbucketserver_license": resourceLicense(), + "bitbucketserver_mail_server": resourceMailServer(), "bitbucketserver_project": resourceProject(), "bitbucketserver_project_permissions_group": resourceProjectPermissionsGroup(), "bitbucketserver_project_permissions_user": resourceProjectPermissionsUser(), diff --git a/bitbucket/resource_admin_license.go b/bitbucket/resource_license.go similarity index 85% rename from bitbucket/resource_admin_license.go rename to bitbucket/resource_license.go index d5d553f..871c840 100644 --- a/bitbucket/resource_admin_license.go +++ b/bitbucket/resource_license.go @@ -26,12 +26,12 @@ type LicenseResponse struct { SupportEntitlementNumber string `json:"supportEntitlementNumber,omitempty"` } -func resourceAdminLicense() *schema.Resource { +func resourceLicense() *schema.Resource { return &schema.Resource{ - Create: resourceAdminLicenseCreate, - Update: resourceAdminLicenseUpdate, - Read: resourceAdminLicenseRead, - Delete: resourceAdminLicenseDelete, + Create: resourceLicenseCreate, + Update: resourceLicenseUpdate, + Read: resourceLicenseRead, + Delete: resourceLicenseDelete, Importer: &schema.ResourceImporter{ State: schema.ImportStatePassthrough, }, @@ -90,7 +90,7 @@ func newLicenseFromResource(d *schema.ResourceData) *License { return license } -func resourceAdminLicenseUpdate(d *schema.ResourceData, m interface{}) error { +func resourceLicenseUpdate(d *schema.ResourceData, m interface{}) error { client := m.(*BitbucketClient) license := newLicenseFromResource(d) @@ -106,14 +106,14 @@ func resourceAdminLicenseUpdate(d *schema.ResourceData, m interface{}) error { } d.SetId(fmt.Sprintf("%x", sha256.Sum256([]byte(license.License)))) - return resourceAdminLicenseRead(d, m) + return resourceLicenseRead(d, m) } -func resourceAdminLicenseCreate(d *schema.ResourceData, m interface{}) error { - return resourceAdminLicenseUpdate(d, m) +func resourceLicenseCreate(d *schema.ResourceData, m interface{}) error { + return resourceLicenseUpdate(d, m) } -func resourceAdminLicenseRead(d *schema.ResourceData, m interface{}) error { +func resourceLicenseRead(d *schema.ResourceData, m interface{}) error { client := m.(*BitbucketClient) req, err := client.Get("/rest/api/1.0/admin/license") @@ -151,7 +151,7 @@ func resourceAdminLicenseRead(d *schema.ResourceData, m interface{}) error { return nil } -func resourceAdminLicenseDelete(d *schema.ResourceData, m interface{}) error { +func resourceLicenseDelete(d *schema.ResourceData, m interface{}) error { client := m.(*BitbucketClient) _, err := client.Delete("/rest/api/1.0/admin/mail-server") return err diff --git a/bitbucket/resource_admin_license_test.go b/bitbucket/resource_license_test.go similarity index 69% rename from bitbucket/resource_admin_license_test.go rename to bitbucket/resource_license_test.go index 3437f24..94a3b01 100644 --- a/bitbucket/resource_admin_license_test.go +++ b/bitbucket/resource_license_test.go @@ -8,9 +8,9 @@ import ( "github.com/hashicorp/terraform/terraform" ) -func TestAccBitbucketAdminLicense(t *testing.T) { - testAccBitbucketAdminLicenseConfig := ` - resource "bitbucketserver_admin_license" "test" { +func TestAccBitbucketLicense(t *testing.T) { + testAccBitbucketLicenseConfig := ` + resource "bitbucketserver_license" "test" { license = "AAACLg0ODAoPeNqNVEtv4jAQvudXRNpbpUSEx6FIOQBxW3ZZiCB0V1WllXEG8DbYke3A8u/XdUgVQyg9ZvLN+HuM/e1BUHdGlNvuuEHQ73X73Y4bR4nbbgU9ZwFiD2IchcPH+8T7vXzuej9eXp68YSv45UwoASYhOeYwxTsIE7RIxtNHhwh+SP3a33D0XnntuxHsIeM5CIdwtvYxUXQPoRIF6KaC0FUGVlEB3v0hOAOWYiH9abFbgZith3i34nwOO65gsAGmZBhUbNC/nIpjhBWEcefJWelzqIDPWz/OtjmXRYv2XyqwnwueFkT57x8e4cLmbCD1QnX0UoKQoRc4EUgiaK4oZ2ECUrlZeay75sLNs2JDmZtWR8oPCfWZGwHAtjzXgIo0SqmZiKYJmsfz8QI5aI+zApuq6fqJKVPAMCPnNpk4LPW6kBWgkZb+kQAzzzS2g6Dnte69Tqvsr4SOskIqEFOeggz1v4zrHbr0yLJR8rU64FpQpVtBy1mZxM4CnHC9Faf8tKMnTF1AiXORFixyQaWto3RZ+ncWLXtMg6EnKZZRpmQNb2R8tnJXFulCfXmXLry7TrHBWn2HNVyH8WYxj9AzmsxiNL/R88Xg6rA1lVs4QpO5titxhplJcCY2mFFZLutAZVhKipm15/VhJx36YVqyN8YP7IaGC1+lwnJ7Q5pJpNmxk5hP3qovutY8Pi4E2WIJ59esnr1p+T6eD67teBVCHf+ga+ho4/4D9YItZDAsAhQ5qQ6pASJ+SA7YG9zthbLxRoBBEwIURQr5Zy1B8PonepyLz3UhL7kMVEs=X02q6" } ` @@ -18,28 +18,28 @@ func TestAccBitbucketAdminLicense(t *testing.T) { resource.Test(t, resource.TestCase{ PreCheck: func() { testAccPreCheck(t) }, Providers: testAccProviders, - CheckDestroy: testAccCheckBitbucketAdminLicenseDestroy, + CheckDestroy: testAccCheckBitbucketLicenseDestroy, Steps: []resource.TestStep{ { - Config: testAccBitbucketAdminLicenseConfig, + Config: testAccBitbucketLicenseConfig, Check: resource.ComposeTestCheckFunc( - testAccCheckBitbucketAdminLicenseExists("bitbucketserver_admin_license.test"), + testAccCheckBitbucketLicenseExists("bitbucketserver_license.test"), ), }, }, }) } -func testAccCheckBitbucketAdminLicenseDestroy(s *terraform.State) error { - _, ok := s.RootModule().Resources["bitbucketserver_admin_license.test"] +func testAccCheckBitbucketLicenseDestroy(s *terraform.State) error { + _, ok := s.RootModule().Resources["bitbucketserver_license.test"] if !ok { - return fmt.Errorf("not found %s", "bitbucketserver_admin_license.test") + return fmt.Errorf("not found %s", "bitbucketserver_license.test") } return nil } -func testAccCheckBitbucketAdminLicenseExists(n string) resource.TestCheckFunc { +func testAccCheckBitbucketLicenseExists(n string) resource.TestCheckFunc { return func(s *terraform.State) error { rs, ok := s.RootModule().Resources[n] if !ok { diff --git a/bitbucket/resource_admin_mail_server.go b/bitbucket/resource_mail_server.go similarity index 83% rename from bitbucket/resource_admin_mail_server.go rename to bitbucket/resource_mail_server.go index fb3750a..f14c5d3 100644 --- a/bitbucket/resource_admin_mail_server.go +++ b/bitbucket/resource_mail_server.go @@ -18,12 +18,12 @@ type MailConfiguration struct { SenderAddress string `json:"sender-address,omitempty"` } -func resourceAdminMailServer() *schema.Resource { +func resourceMailServer() *schema.Resource { return &schema.Resource{ - Create: resourceAdminMailServerCreate, - Update: resourceAdminMailServerUpdate, - Read: resourceAdminMailServerRead, - Delete: resourceAdminMailServerDelete, + Create: resourceMailServerCreate, + Update: resourceMailServerUpdate, + Read: resourceMailServerRead, + Delete: resourceMailServerDelete, Importer: &schema.ResourceImporter{ State: schema.ImportStatePassthrough, }, @@ -85,7 +85,7 @@ func newMailConfigurationFromResource(d *schema.ResourceData) *MailConfiguration return mailConfiguration } -func resourceAdminMailServerUpdate(d *schema.ResourceData, m interface{}) error { +func resourceMailServerUpdate(d *schema.ResourceData, m interface{}) error { client := m.(*BitbucketClient) mailConfiguration := newMailConfigurationFromResource(d) @@ -102,14 +102,14 @@ func resourceAdminMailServerUpdate(d *schema.ResourceData, m interface{}) error d.SetId(mailConfiguration.Hostname) - return resourceAdminMailServerRead(d, m) + return resourceMailServerRead(d, m) } -func resourceAdminMailServerCreate(d *schema.ResourceData, m interface{}) error { - return resourceAdminMailServerUpdate(d, m) +func resourceMailServerCreate(d *schema.ResourceData, m interface{}) error { + return resourceMailServerUpdate(d, m) } -func resourceAdminMailServerRead(d *schema.ResourceData, m interface{}) error { +func resourceMailServerRead(d *schema.ResourceData, m interface{}) error { client := m.(*BitbucketClient) req, err := client.Get("/rest/api/1.0/admin/mail-server") @@ -145,7 +145,7 @@ func resourceAdminMailServerRead(d *schema.ResourceData, m interface{}) error { return nil } -func resourceAdminMailServerDelete(d *schema.ResourceData, m interface{}) error { +func resourceMailServerDelete(d *schema.ResourceData, m interface{}) error { client := m.(*BitbucketClient) _, err := client.Delete("/rest/api/1.0/admin/mail-server") return err diff --git a/bitbucket/resource_admin_mail_server_test.go b/bitbucket/resource_mail_server_test.go similarity index 59% rename from bitbucket/resource_admin_mail_server_test.go rename to bitbucket/resource_mail_server_test.go index ad38fe0..3ea277f 100644 --- a/bitbucket/resource_admin_mail_server_test.go +++ b/bitbucket/resource_mail_server_test.go @@ -8,9 +8,9 @@ import ( "github.com/hashicorp/terraform/terraform" ) -func TestAccBitbucketAdminMailServer(t *testing.T) { - testAccBitbucketAdminMailServerConfig := ` - resource "bitbucketserver_admin_mail_server" "test" { +func TestAccBitbucketMailServer(t *testing.T) { + testAccBitbucketMailServerConfig := ` + resource "bitbucketserver_mail_server" "test" { hostname = "mail.example.com" port = 465 protocol = "SMTP" @@ -23,23 +23,23 @@ func TestAccBitbucketAdminMailServer(t *testing.T) { resource.Test(t, resource.TestCase{ PreCheck: func() { testAccPreCheck(t) }, Providers: testAccProviders, - CheckDestroy: testAccCheckBitbucketAdminMailServerDestroy, + CheckDestroy: testAccCheckBitbucketMailServerDestroy, Steps: []resource.TestStep{ { - Config: testAccBitbucketAdminMailServerConfig, + Config: testAccBitbucketMailServerConfig, Check: resource.ComposeTestCheckFunc( - testAccCheckBitbucketAdminMailServerExists("bitbucketserver_admin_mail_server.test"), + testAccCheckBitbucketMailServerExists("bitbucketserver_mail_server.test"), ), }, }, }) } -func testAccCheckBitbucketAdminMailServerDestroy(s *terraform.State) error { +func testAccCheckBitbucketMailServerDestroy(s *terraform.State) error { client := testAccProvider.Meta().(*BitbucketClient) - _, ok := s.RootModule().Resources["bitbucketserver_admin_mail_server.test"] + _, ok := s.RootModule().Resources["bitbucketserver_mail_server.test"] if !ok { - return fmt.Errorf("not found %s", "bitbucketserver_admin_mail_server.test") + return fmt.Errorf("not found %s", "bitbucketserver_mail_server.test") } response, _ := client.Get("/rest/api/1.0/admin/main-server") @@ -50,7 +50,7 @@ func testAccCheckBitbucketAdminMailServerDestroy(s *terraform.State) error { return nil } -func testAccCheckBitbucketAdminMailServerExists(n string) resource.TestCheckFunc { +func testAccCheckBitbucketMailServerExists(n string) resource.TestCheckFunc { return func(s *terraform.State) error { rs, ok := s.RootModule().Resources[n] if !ok {