mirror of
https://github.com/ysoftdevs/terraform-provider-bitbucketserver.git
synced 2026-06-12 01:14:35 +02:00
feat: Introduce muxing for new elements
This commit is contained in:
@@ -2,7 +2,8 @@ package bitbucket
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"github.com/hashicorp/terraform/helper/schema"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
|
||||
bitbucketTypes "github.com/xvlcwk-terraform/terraform-provider-bitbucketserver/bitbucket/util/types"
|
||||
"io/ioutil"
|
||||
)
|
||||
|
||||
@@ -39,7 +40,7 @@ func dataSourceApplicationProperties() *schema.Resource {
|
||||
}
|
||||
|
||||
func dataSourceApplicationPropertiesRead(d *schema.ResourceData, m interface{}) error {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
req, err := client.Get("/rest/api/1.0/application-properties")
|
||||
|
||||
if err != nil {
|
||||
|
||||
@@ -3,7 +3,7 @@ package bitbucket
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/hashicorp/terraform/helper/resource"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
|
||||
)
|
||||
|
||||
func TestAccBitbucketDataApplicationProperties(t *testing.T) {
|
||||
@@ -12,8 +12,8 @@ func TestAccBitbucketDataApplicationProperties(t *testing.T) {
|
||||
`
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
ProtoV6ProviderFactories: ProviderFactories,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: config,
|
||||
|
||||
@@ -2,7 +2,8 @@ package bitbucket
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"github.com/hashicorp/terraform/helper/schema"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
|
||||
bitbucketTypes "github.com/xvlcwk-terraform/terraform-provider-bitbucketserver/bitbucket/util/types"
|
||||
"io/ioutil"
|
||||
)
|
||||
|
||||
@@ -73,7 +74,7 @@ func clusterNodeResourceSchema() *schema.Resource {
|
||||
}
|
||||
|
||||
func dataSourceClusterRead(d *schema.ResourceData, m interface{}) error {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
req, err := client.Get("/rest/api/1.0/admin/cluster")
|
||||
|
||||
if err != nil {
|
||||
|
||||
@@ -3,7 +3,7 @@ package bitbucket
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/hashicorp/terraform/helper/resource"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
|
||||
)
|
||||
|
||||
func TestAccBitbucketDataCluster(t *testing.T) {
|
||||
@@ -12,8 +12,8 @@ func TestAccBitbucketDataCluster(t *testing.T) {
|
||||
`
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
ProtoV6ProviderFactories: ProviderFactories,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: config,
|
||||
|
||||
@@ -3,7 +3,8 @@ package bitbucket
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"github.com/hashicorp/terraform/helper/schema"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
|
||||
bitbucketTypes "github.com/xvlcwk-terraform/terraform-provider-bitbucketserver/bitbucket/util/types"
|
||||
"net/url"
|
||||
)
|
||||
|
||||
@@ -78,7 +79,7 @@ func dataSourceGlobalPermissionsGroupsRead(d *schema.ResourceData, m interface{}
|
||||
}
|
||||
|
||||
func readGlobalPermissionsGroups(m interface{}, filter string) ([]GlobalPermissionsGroup, error) {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
|
||||
resourceURL := "/rest/api/1.0/admin/permissions/groups"
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package bitbucket
|
||||
|
||||
import (
|
||||
"github.com/hashicorp/terraform/helper/resource"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
|
||||
"testing"
|
||||
)
|
||||
|
||||
@@ -12,8 +12,8 @@ func TestAccBitbucketDataGlobalPermissionsGroups_basic(t *testing.T) {
|
||||
`
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
ProtoV6ProviderFactories: ProviderFactories,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: config,
|
||||
@@ -35,8 +35,8 @@ func TestAccBitbucketDataGlobalPermissionsGroups_filter(t *testing.T) {
|
||||
`
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
ProtoV6ProviderFactories: ProviderFactories,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: config,
|
||||
@@ -58,8 +58,8 @@ func TestAccBitbucketDataGlobalPermissionsGroups_filter_no_match(t *testing.T) {
|
||||
`
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
ProtoV6ProviderFactories: ProviderFactories,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: config,
|
||||
|
||||
@@ -3,7 +3,8 @@ package bitbucket
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"github.com/hashicorp/terraform/helper/schema"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
|
||||
bitbucketTypes "github.com/xvlcwk-terraform/terraform-provider-bitbucketserver/bitbucket/util/types"
|
||||
"net/url"
|
||||
)
|
||||
|
||||
@@ -99,7 +100,7 @@ func dataSourceGlobalPermissionsUsersRead(d *schema.ResourceData, m interface{})
|
||||
}
|
||||
|
||||
func readGlobalPermissionsUsers(m interface{}, filter string) ([]GlobalPermissionsUser, error) {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
|
||||
resourceURL := "/rest/api/1.0/admin/permissions/users"
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package bitbucket
|
||||
|
||||
import (
|
||||
"github.com/hashicorp/terraform/helper/resource"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
|
||||
"testing"
|
||||
)
|
||||
|
||||
@@ -12,8 +12,8 @@ func TestAccBitbucketDataGlobalPermissionsUsers_basic(t *testing.T) {
|
||||
`
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
ProtoV6ProviderFactories: ProviderFactories,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: config,
|
||||
@@ -38,8 +38,8 @@ func TestAccBitbucketDataGlobalPermissionsUsers_filter(t *testing.T) {
|
||||
`
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
ProtoV6ProviderFactories: ProviderFactories,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: config,
|
||||
@@ -64,8 +64,8 @@ func TestAccBitbucketDataGlobalPermissionsUsers_filter_no_match(t *testing.T) {
|
||||
`
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
ProtoV6ProviderFactories: ProviderFactories,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: config,
|
||||
|
||||
@@ -3,9 +3,10 @@ package bitbucket
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
bitbucketTypes "github.com/xvlcwk-terraform/terraform-provider-bitbucketserver/bitbucket/util/types"
|
||||
"net/url"
|
||||
|
||||
"github.com/hashicorp/terraform/helper/schema"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
|
||||
)
|
||||
|
||||
type PaginatedGroupUsersValue struct {
|
||||
@@ -95,7 +96,7 @@ func dataSourceGroupUsersRead(d *schema.ResourceData, m interface{}) error {
|
||||
}
|
||||
|
||||
func readGroupUsers(m interface{}, group string, filter string) ([]GroupUser, error) {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
|
||||
resourceURL := fmt.Sprintf("/rest/api/1.0/admin/groups/more-members?context=%s&limit=100",
|
||||
url.QueryEscape(group),
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package bitbucket
|
||||
|
||||
import (
|
||||
"github.com/hashicorp/terraform/helper/resource"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
|
||||
"testing"
|
||||
)
|
||||
|
||||
@@ -13,8 +13,8 @@ func TestAccBitbucketDataGroupUsers_check_default_included(t *testing.T) {
|
||||
`
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
ProtoV6ProviderFactories: ProviderFactories,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: config,
|
||||
@@ -49,8 +49,8 @@ func TestAccBitbucketDataGroupUsers_additional(t *testing.T) {
|
||||
`
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
ProtoV6ProviderFactories: ProviderFactories,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: config,
|
||||
|
||||
@@ -3,7 +3,8 @@ package bitbucket
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"github.com/hashicorp/terraform/helper/schema"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
|
||||
bitbucketTypes "github.com/xvlcwk-terraform/terraform-provider-bitbucketserver/bitbucket/util/types"
|
||||
"net/url"
|
||||
)
|
||||
|
||||
@@ -65,7 +66,7 @@ func dataSourceGroupsRead(d *schema.ResourceData, m interface{}) error {
|
||||
}
|
||||
|
||||
func readGroups(m interface{}, filter string) ([]string, error) {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
|
||||
resourceURL := "/rest/api/1.0/admin/groups"
|
||||
if filter != "" {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package bitbucket
|
||||
|
||||
import (
|
||||
"github.com/hashicorp/terraform/helper/resource"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
|
||||
"testing"
|
||||
)
|
||||
|
||||
@@ -13,8 +13,8 @@ func TestAccBitbucketDataGroups_basic(t *testing.T) {
|
||||
`
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
ProtoV6ProviderFactories: ProviderFactories,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: config,
|
||||
@@ -39,8 +39,8 @@ func TestAccBitbucketDataGroups_additional(t *testing.T) {
|
||||
`
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
ProtoV6ProviderFactories: ProviderFactories,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: config,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package bitbucket
|
||||
|
||||
import (
|
||||
"github.com/hashicorp/terraform/helper/schema"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
|
||||
)
|
||||
|
||||
func dataSourcePlugin() *schema.Resource {
|
||||
@@ -44,27 +44,13 @@ func dataSourcePlugin() *schema.Resource {
|
||||
"vendor": {
|
||||
Type: schema.TypeMap,
|
||||
Computed: true,
|
||||
Elem: &schema.Resource{
|
||||
Schema: map[string]*schema.Schema{
|
||||
"name": {
|
||||
Type: schema.TypeString,
|
||||
Computed: true,
|
||||
},
|
||||
"link": {
|
||||
Type: schema.TypeString,
|
||||
Computed: true,
|
||||
},
|
||||
"marketplace_link": {
|
||||
Type: schema.TypeString,
|
||||
Computed: true,
|
||||
},
|
||||
},
|
||||
Elem: &schema.Schema{
|
||||
Type: schema.TypeString,
|
||||
},
|
||||
},
|
||||
"applied_license": {
|
||||
Type: schema.TypeList,
|
||||
Computed: true,
|
||||
MaxItems: 1,
|
||||
Elem: &schema.Resource{
|
||||
Schema: map[string]*schema.Schema{
|
||||
"valid": {
|
||||
|
||||
@@ -3,7 +3,7 @@ package bitbucket
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/hashicorp/terraform/helper/resource"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
|
||||
)
|
||||
|
||||
//func TestAccBitbucketDataPlugin_notifyer(t *testing.T) {
|
||||
@@ -21,7 +21,7 @@ import (
|
||||
//
|
||||
// resource.Test(t, resource.TestCase{
|
||||
// PreCheck: func() { testAccPreCheck(t) },
|
||||
// Providers: testAccProviders,
|
||||
// ProtoV6ProviderFactories: ProviderFactories,
|
||||
// Steps: []resource.TestStep{
|
||||
// {
|
||||
// Config: config,
|
||||
@@ -69,8 +69,8 @@ func TestAccBitbucketDataPlugin_upm(t *testing.T) {
|
||||
`
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
ProtoV6ProviderFactories: ProviderFactories,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: config,
|
||||
|
||||
@@ -3,8 +3,9 @@ package bitbucket
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"github.com/hashicorp/terraform/helper/schema"
|
||||
"github.com/hashicorp/terraform/helper/validation"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation"
|
||||
bitbucketTypes "github.com/xvlcwk-terraform/terraform-provider-bitbucketserver/bitbucket/util/types"
|
||||
"net/url"
|
||||
"sort"
|
||||
)
|
||||
@@ -144,7 +145,7 @@ func dataSourceProjectHooksRead(d *schema.ResourceData, m interface{}) error {
|
||||
}
|
||||
|
||||
func readProjectHooks(m interface{}, project string, typeFilter string) ([]ProjectHook, error) {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
|
||||
resourceURL := fmt.Sprintf("/rest/api/1.0/projects/%s/settings/hooks",
|
||||
project,
|
||||
|
||||
@@ -6,7 +6,7 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/hashicorp/terraform/helper/resource"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
|
||||
)
|
||||
|
||||
func TestAccBitbucketDataProjectHooks_simple(t *testing.T) {
|
||||
@@ -23,8 +23,8 @@ func TestAccBitbucketDataProjectHooks_simple(t *testing.T) {
|
||||
}
|
||||
`, projectKey, projectKey)
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
ProtoV6ProviderFactories: ProviderFactories,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: config,
|
||||
@@ -63,8 +63,8 @@ func TestAccBitbucketDataProjectHooks_type(t *testing.T) {
|
||||
}
|
||||
`, projectKey, projectKey)
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
ProtoV6ProviderFactories: ProviderFactories,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: config,
|
||||
|
||||
@@ -3,7 +3,8 @@ package bitbucket
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"github.com/hashicorp/terraform/helper/schema"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
|
||||
bitbucketTypes "github.com/xvlcwk-terraform/terraform-provider-bitbucketserver/bitbucket/util/types"
|
||||
"net/url"
|
||||
)
|
||||
|
||||
@@ -82,7 +83,7 @@ func dataSourceProjectPermissionsGroupsRead(d *schema.ResourceData, m interface{
|
||||
}
|
||||
|
||||
func readProjectPermissionsGroups(m interface{}, project string, filter string) ([]ProjectPermissionsGroup, error) {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
|
||||
resourceURL := fmt.Sprintf("/rest/api/1.0/projects/%s/permissions/groups",
|
||||
project,
|
||||
|
||||
@@ -6,7 +6,7 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/hashicorp/terraform/helper/resource"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
|
||||
)
|
||||
|
||||
func TestAccBitbucketDataProjectPermissionsGroups_simple(t *testing.T) {
|
||||
@@ -28,8 +28,8 @@ func TestAccBitbucketDataProjectPermissionsGroups_simple(t *testing.T) {
|
||||
`, rand.New(rand.NewSource(time.Now().UnixNano())).Int())
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
ProtoV6ProviderFactories: ProviderFactories,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: config,
|
||||
@@ -56,8 +56,8 @@ func TestAccBitbucketDataProjectPermissionsGroups_check_empty(t *testing.T) {
|
||||
`, rand.New(rand.NewSource(time.Now().UnixNano())).Int())
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
ProtoV6ProviderFactories: ProviderFactories,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: config,
|
||||
|
||||
@@ -3,7 +3,8 @@ package bitbucket
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"github.com/hashicorp/terraform/helper/schema"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
|
||||
bitbucketTypes "github.com/xvlcwk-terraform/terraform-provider-bitbucketserver/bitbucket/util/types"
|
||||
"net/url"
|
||||
)
|
||||
|
||||
@@ -103,7 +104,7 @@ func dataSourceProjectPermissionsUsersRead(d *schema.ResourceData, m interface{}
|
||||
}
|
||||
|
||||
func readProjectPermissionsUsers(m interface{}, project string, filter string) ([]ProjectPermissionsUser, error) {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
|
||||
resourceURL := fmt.Sprintf("/rest/api/1.0/projects/%s/permissions/users",
|
||||
project,
|
||||
|
||||
@@ -6,7 +6,7 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/hashicorp/terraform/helper/resource"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
|
||||
)
|
||||
|
||||
func TestAccBitbucketDataProjectPermissionsUsers_check_creator_included(t *testing.T) {
|
||||
@@ -22,8 +22,8 @@ func TestAccBitbucketDataProjectPermissionsUsers_check_creator_included(t *testi
|
||||
`, rand.New(rand.NewSource(time.Now().UnixNano())).Int())
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
ProtoV6ProviderFactories: ProviderFactories,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: config,
|
||||
@@ -65,8 +65,8 @@ func TestAccBitbucketDataProjectPermissionsUsers_additional(t *testing.T) {
|
||||
`, rand.New(rand.NewSource(time.Now().UnixNano())).Int())
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
ProtoV6ProviderFactories: ProviderFactories,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: config,
|
||||
|
||||
@@ -3,8 +3,9 @@ package bitbucket
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"github.com/hashicorp/terraform/helper/schema"
|
||||
"github.com/hashicorp/terraform/helper/validation"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation"
|
||||
bitbucketTypes "github.com/xvlcwk-terraform/terraform-provider-bitbucketserver/bitbucket/util/types"
|
||||
"net/url"
|
||||
"sort"
|
||||
)
|
||||
@@ -148,7 +149,7 @@ func dataSourceRepositoryHooksRead(d *schema.ResourceData, m interface{}) error
|
||||
}
|
||||
|
||||
func readRepositoryHooks(m interface{}, project string, repository string, typeFilter string) ([]RepositoryHook, error) {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
|
||||
resourceURL := fmt.Sprintf("/rest/api/1.0/projects/%s/repos/%s/settings/hooks",
|
||||
project,
|
||||
|
||||
@@ -6,7 +6,7 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/hashicorp/terraform/helper/resource"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
|
||||
)
|
||||
|
||||
func TestAccBitbucketDataRepositoryHooks_simple(t *testing.T) {
|
||||
@@ -29,8 +29,8 @@ func TestAccBitbucketDataRepositoryHooks_simple(t *testing.T) {
|
||||
}
|
||||
`, projectKey, projectKey, projectKey)
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
ProtoV6ProviderFactories: ProviderFactories,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: config,
|
||||
@@ -75,8 +75,8 @@ func TestAccBitbucketDataRepositoryHooks_type(t *testing.T) {
|
||||
}
|
||||
`, projectKey, projectKey, projectKey)
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
ProtoV6ProviderFactories: ProviderFactories,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: config,
|
||||
|
||||
@@ -3,7 +3,8 @@ package bitbucket
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"github.com/hashicorp/terraform/helper/schema"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
|
||||
bitbucketTypes "github.com/xvlcwk-terraform/terraform-provider-bitbucketserver/bitbucket/util/types"
|
||||
"net/url"
|
||||
)
|
||||
|
||||
@@ -86,7 +87,7 @@ func dataSourceRepositoryPermissionsGroupsRead(d *schema.ResourceData, m interfa
|
||||
}
|
||||
|
||||
func readRepositoryPermissionsGroups(m interface{}, project string, repository string, filter string) ([]RepositoryPermissionsGroup, error) {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
|
||||
resourceURL := fmt.Sprintf("/rest/api/1.0/projects/%s/repos/%s/permissions/groups",
|
||||
url.QueryEscape(project),
|
||||
|
||||
@@ -6,7 +6,7 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/hashicorp/terraform/helper/resource"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
|
||||
)
|
||||
|
||||
func TestAccBitbucketDataRepositoryPermissionsGroups_simple(t *testing.T) {
|
||||
@@ -36,8 +36,8 @@ func TestAccBitbucketDataRepositoryPermissionsGroups_simple(t *testing.T) {
|
||||
`, projectKey, projectKey)
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
ProtoV6ProviderFactories: ProviderFactories,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: config,
|
||||
@@ -71,8 +71,8 @@ func TestAccBitbucketDataRepositoryPermissionsGroups_empty(t *testing.T) {
|
||||
`, projectKey)
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
ProtoV6ProviderFactories: ProviderFactories,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: config,
|
||||
|
||||
@@ -3,7 +3,8 @@ package bitbucket
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"github.com/hashicorp/terraform/helper/schema"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
|
||||
bitbucketTypes "github.com/xvlcwk-terraform/terraform-provider-bitbucketserver/bitbucket/util/types"
|
||||
"net/url"
|
||||
)
|
||||
|
||||
@@ -107,7 +108,7 @@ func dataSourceRepositoryPermissionsUsersRead(d *schema.ResourceData, m interfac
|
||||
}
|
||||
|
||||
func readRepositoryPermissionsUsers(m interface{}, project string, repository string, filter string) ([]RepositoryPermissionsUser, error) {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
|
||||
resourceURL := fmt.Sprintf("/rest/api/1.0/projects/%s/repos/%s/permissions/users",
|
||||
url.QueryEscape(project),
|
||||
|
||||
@@ -6,7 +6,7 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/hashicorp/terraform/helper/resource"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
|
||||
)
|
||||
|
||||
func TestAccBitbucketDataRepositoryPermissionsUsers_basic(t *testing.T) {
|
||||
@@ -36,8 +36,8 @@ func TestAccBitbucketDataRepositoryPermissionsUsers_basic(t *testing.T) {
|
||||
`, projectKey, projectKey)
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
ProtoV6ProviderFactories: ProviderFactories,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: config,
|
||||
@@ -74,8 +74,8 @@ func TestAccBitbucketDataRepositoryPermissionsUsers_empty(t *testing.T) {
|
||||
`, projectKey)
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
ProtoV6ProviderFactories: ProviderFactories,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: config,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package bitbucket
|
||||
|
||||
import (
|
||||
"github.com/hashicorp/terraform/helper/schema"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
|
||||
)
|
||||
|
||||
func dataSourceUser() *schema.Resource {
|
||||
|
||||
@@ -3,7 +3,7 @@ package bitbucket
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/hashicorp/terraform/helper/resource"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
|
||||
)
|
||||
|
||||
func TestAccBitbucketDataUser(t *testing.T) {
|
||||
@@ -14,8 +14,8 @@ func TestAccBitbucketDataUser(t *testing.T) {
|
||||
`
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
ProtoV6ProviderFactories: ProviderFactories,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: config,
|
||||
|
||||
+52
-14
@@ -1,35 +1,43 @@
|
||||
package bitbucket
|
||||
|
||||
import (
|
||||
"context"
|
||||
"github.com/hashicorp/go-cty/cty"
|
||||
"github.com/xvlcwk-terraform/terraform-provider-bitbucketserver/bitbucket/util/client"
|
||||
"net/http"
|
||||
"strings"
|
||||
|
||||
"github.com/xvlcwk-terraform/terraform-provider-bitbucketserver/bitbucket/marketplace"
|
||||
bitbucketTypes "github.com/xvlcwk-terraform/terraform-provider-bitbucketserver/bitbucket/util/types"
|
||||
|
||||
"github.com/hashicorp/terraform/helper/schema"
|
||||
"github.com/hashicorp/terraform/terraform"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
|
||||
)
|
||||
|
||||
func Provider() terraform.ResourceProvider {
|
||||
func Provider() *schema.Provider {
|
||||
return &schema.Provider{
|
||||
Schema: map[string]*schema.Schema{
|
||||
"server": {
|
||||
Required: true,
|
||||
Type: schema.TypeString,
|
||||
DefaultFunc: schema.EnvDefaultFunc("BITBUCKET_SERVER", nil),
|
||||
Description: "The url of your bitbucket instance. For the docker compose instance this is http://localhost:7990",
|
||||
},
|
||||
"username": {
|
||||
Required: true,
|
||||
Type: schema.TypeString,
|
||||
DefaultFunc: schema.EnvDefaultFunc("BITBUCKET_USERNAME", nil),
|
||||
Description: "The username for authentication. If you're using a personal access token use your normal username.",
|
||||
},
|
||||
"password": {
|
||||
Type: schema.TypeString,
|
||||
Required: true,
|
||||
Sensitive: true,
|
||||
DefaultFunc: schema.EnvDefaultFunc("BITBUCKET_PASSWORD", nil),
|
||||
Description: "the password for authentication. Personal access tokens are allowed, but http access token aren't yet",
|
||||
},
|
||||
},
|
||||
ConfigureFunc: providerConfigure,
|
||||
ConfigureContextFunc: providerConfigure,
|
||||
DataSourcesMap: map[string]*schema.Resource{
|
||||
"bitbucketserver_application_properties": dataSourceApplicationProperties(),
|
||||
"bitbucketserver_cluster": dataSourceCluster(),
|
||||
@@ -74,22 +82,52 @@ func Provider() terraform.ResourceProvider {
|
||||
}
|
||||
}
|
||||
|
||||
type BitbucketServerProvider struct {
|
||||
BitbucketClient *BitbucketClient
|
||||
MarketplaceClient *marketplace.Client
|
||||
}
|
||||
|
||||
func providerConfigure(d *schema.ResourceData) (interface{}, error) {
|
||||
func providerConfigure(ctx context.Context, d *schema.ResourceData) (interface{}, diag.Diagnostics) {
|
||||
|
||||
serverSanitized := d.Get("server").(string)
|
||||
if strings.HasSuffix(serverSanitized, "/") {
|
||||
serverSanitized = serverSanitized[0 : len(serverSanitized)-1]
|
||||
}
|
||||
|
||||
b := &BitbucketClient{
|
||||
username := d.Get("username").(string)
|
||||
password := d.Get("password").(string)
|
||||
|
||||
configErrors := diag.Diagnostics{}
|
||||
|
||||
if serverSanitized == "" {
|
||||
configErrors = append(configErrors,
|
||||
diag.Diagnostic{
|
||||
Severity: diag.Error,
|
||||
AttributePath: cty.Path{}.GetAttr("server"),
|
||||
Detail: "server is required and must be provided in the provider config or the BITBUCKET_SERVER environment variable",
|
||||
})
|
||||
}
|
||||
if username == "" {
|
||||
configErrors = append(configErrors,
|
||||
diag.Diagnostic{
|
||||
|
||||
Severity: diag.Error,
|
||||
AttributePath: cty.Path{}.GetAttr("username"),
|
||||
Detail: "username is required and must be provided in the provider config or the BITBUCKET_USERNAME environment variable",
|
||||
})
|
||||
}
|
||||
if password == "" {
|
||||
configErrors = append(configErrors,
|
||||
diag.Diagnostic{
|
||||
Severity: diag.Error,
|
||||
AttributePath: cty.Path{}.GetAttr("password"),
|
||||
Detail: "password is required and must be provided in the provider config or the BITBUCKET_PASSWORD environment variable",
|
||||
})
|
||||
}
|
||||
|
||||
if configErrors.HasError() {
|
||||
return nil, configErrors
|
||||
}
|
||||
|
||||
b := &client.BitbucketClient{
|
||||
Server: serverSanitized,
|
||||
Username: d.Get("username").(string),
|
||||
Password: d.Get("password").(string),
|
||||
Username: username,
|
||||
Password: password,
|
||||
HTTPClient: &http.Client{},
|
||||
}
|
||||
|
||||
@@ -97,7 +135,7 @@ func providerConfigure(d *schema.ResourceData) (interface{}, error) {
|
||||
HTTPClient: &http.Client{},
|
||||
}
|
||||
|
||||
return &BitbucketServerProvider{
|
||||
return &bitbucketTypes.BitbucketServerProvider{
|
||||
BitbucketClient: b,
|
||||
MarketplaceClient: m,
|
||||
}, nil
|
||||
|
||||
@@ -0,0 +1,146 @@
|
||||
package bitbucket
|
||||
|
||||
import (
|
||||
"context"
|
||||
"github.com/hashicorp/terraform-plugin-framework/datasource"
|
||||
"github.com/hashicorp/terraform-plugin-framework/provider"
|
||||
"github.com/hashicorp/terraform-plugin-framework/provider/schema"
|
||||
"github.com/hashicorp/terraform-plugin-framework/resource"
|
||||
"github.com/hashicorp/terraform-plugin-framework/schema/validator"
|
||||
"github.com/hashicorp/terraform-plugin-framework/types"
|
||||
"github.com/xvlcwk-terraform/terraform-provider-bitbucketserver/bitbucket/util/client"
|
||||
types2 "github.com/xvlcwk-terraform/terraform-provider-bitbucketserver/bitbucket/util/types"
|
||||
"net/http"
|
||||
"os"
|
||||
"regexp"
|
||||
"strings"
|
||||
|
||||
"github.com/hashicorp/terraform-plugin-framework-validators/stringvalidator"
|
||||
"github.com/xvlcwk-terraform/terraform-provider-bitbucketserver/bitbucket/marketplace"
|
||||
)
|
||||
|
||||
func New() provider.Provider {
|
||||
return &BitbucketServerProviderFramework{}
|
||||
}
|
||||
|
||||
var _ provider.Provider = (*BitbucketServerProviderFramework)(nil)
|
||||
|
||||
type BitbucketServerProviderFramework struct {
|
||||
BitbucketClient *client.BitbucketClient
|
||||
MarketplaceClient *marketplace.Client
|
||||
}
|
||||
|
||||
type BitbucketServerProviderModel struct {
|
||||
Server types.String `tfsdk:"server"`
|
||||
Username types.String `tfsdk:"username"`
|
||||
Password types.String `tfsdk:"password"`
|
||||
}
|
||||
|
||||
func (p *BitbucketServerProviderFramework) Resources(_ context.Context) []func() resource.Resource {
|
||||
return []func() resource.Resource{
|
||||
newRepositoryAccessTokenResource,
|
||||
}
|
||||
}
|
||||
|
||||
func (p *BitbucketServerProviderFramework) DataSources(_ context.Context) []func() datasource.DataSource {
|
||||
return []func() datasource.DataSource{}
|
||||
}
|
||||
|
||||
func (p *BitbucketServerProviderFramework) Schema(_ context.Context, _ provider.SchemaRequest, resp *provider.SchemaResponse) {
|
||||
resp.Schema = schema.Schema{
|
||||
Attributes: map[string]schema.Attribute{
|
||||
"server": schema.StringAttribute{
|
||||
Optional: true,
|
||||
Description: "The url of your bitbucket instance. For the docker compose instance this is http://localhost:7990",
|
||||
Validators: []validator.String{
|
||||
// Validate string value satisfies the regular expression for alphanumeric characters
|
||||
stringvalidator.RegexMatches(
|
||||
regexp.MustCompile(`^https?://.*$`),
|
||||
"must contain the http schema (http:// or https://)",
|
||||
),
|
||||
},
|
||||
Sensitive: false,
|
||||
},
|
||||
"username": schema.StringAttribute{
|
||||
Optional: true,
|
||||
Description: "The username for authentication. If you're using a personal access token use your normal username.",
|
||||
Sensitive: false,
|
||||
},
|
||||
"password": schema.StringAttribute{
|
||||
Optional: true,
|
||||
Description: "the password for authentication. Personal access tokens are allowed, but http access token aren't yet",
|
||||
Sensitive: true,
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
func (p *BitbucketServerProviderFramework) Metadata(_ context.Context, _ provider.MetadataRequest, resp *provider.MetadataResponse) {
|
||||
resp.TypeName = "bitbucketserver"
|
||||
}
|
||||
|
||||
func (p *BitbucketServerProviderFramework) Configure(ctx context.Context, req provider.ConfigureRequest, resp *provider.ConfigureResponse) {
|
||||
var data BitbucketServerProviderModel
|
||||
|
||||
// Read configuration data into model
|
||||
resp.Diagnostics.Append(req.Config.Get(ctx, &data)...)
|
||||
|
||||
server := os.Getenv("BITBUCKET_SERVER")
|
||||
if data.Server.ValueString() != "" {
|
||||
server = data.Server.ValueString()
|
||||
}
|
||||
|
||||
if strings.HasSuffix(server, "/") {
|
||||
server = server[0 : len(server)-1]
|
||||
}
|
||||
|
||||
if server == "" {
|
||||
resp.Diagnostics.AddError(
|
||||
"server is required",
|
||||
"server is required and must be provided in the provider config or the BITBUCKET_SERVER environment variable",
|
||||
)
|
||||
}
|
||||
|
||||
username := os.Getenv("BITBUCKET_USERNAME")
|
||||
if data.Username.ValueString() != "" {
|
||||
username = data.Username.ValueString()
|
||||
}
|
||||
if username == "" {
|
||||
resp.Diagnostics.AddError(
|
||||
"username is required",
|
||||
"username is required and must be provided in the provider config or the BITBUCKET_USERNAME environment variable",
|
||||
)
|
||||
}
|
||||
|
||||
password := os.Getenv("BITBUCKET_PASSWORD")
|
||||
if data.Password.ValueString() != "" {
|
||||
password = data.Password.ValueString()
|
||||
}
|
||||
if password == "" {
|
||||
resp.Diagnostics.AddError(
|
||||
"password is required",
|
||||
"password is required and must be provided in the provider config or the BITBUCKET_PASSWORD environment variable",
|
||||
)
|
||||
}
|
||||
|
||||
b := &client.BitbucketClient{
|
||||
Server: server,
|
||||
Username: username,
|
||||
Password: password,
|
||||
HTTPClient: &http.Client{},
|
||||
}
|
||||
|
||||
m := &marketplace.Client{
|
||||
HTTPClient: &http.Client{},
|
||||
}
|
||||
|
||||
resp.ResourceData = &types2.BitbucketServerProvider{
|
||||
BitbucketClient: b,
|
||||
MarketplaceClient: m,
|
||||
}
|
||||
|
||||
resp.DataSourceData = &types2.BitbucketServerProvider{
|
||||
BitbucketClient: b,
|
||||
MarketplaceClient: m,
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
package bitbucket
|
||||
|
||||
import (
|
||||
"context"
|
||||
"github.com/hashicorp/terraform-plugin-framework/providerserver"
|
||||
"testing"
|
||||
|
||||
"github.com/hashicorp/terraform-plugin-go/tfprotov6"
|
||||
"github.com/hashicorp/terraform-plugin-mux/tf5to6server"
|
||||
"github.com/hashicorp/terraform-plugin-mux/tf6muxserver"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
|
||||
)
|
||||
|
||||
var ProviderFactories = map[string]func() (tfprotov6.ProviderServer, error){
|
||||
"bitbucketserver": func() (tfprotov6.ProviderServer, error) {
|
||||
ctx := context.Background()
|
||||
|
||||
upgradedSdkServer, err := tf5to6server.UpgradeServer(
|
||||
ctx,
|
||||
// terraform-plugin-sdk provider
|
||||
Provider().GRPCProvider, //nolint:staticcheck
|
||||
)
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
providers := []func() tfprotov6.ProviderServer{
|
||||
providerserver.NewProtocol6(New()), // Example terraform-plugin-framework provider
|
||||
func() tfprotov6.ProviderServer {
|
||||
return upgradedSdkServer
|
||||
},
|
||||
}
|
||||
|
||||
muxServer, err := tf6muxserver.NewMuxServer(ctx, providers...)
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return muxServer.ProviderServer(), nil
|
||||
},
|
||||
}
|
||||
|
||||
func TestMuxServer(t *testing.T) {
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
ProtoV6ProviderFactories: ProviderFactories,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: `
|
||||
provider "bitbucketserver"{
|
||||
server = "http://localhost:7990"
|
||||
username = "admin"
|
||||
password = "admin"
|
||||
}
|
||||
resource "bitbucketserver_banner" "testbanner" {
|
||||
message = "testing muxing"
|
||||
}
|
||||
`,
|
||||
},
|
||||
},
|
||||
})
|
||||
}
|
||||
@@ -1,32 +1,31 @@
|
||||
package bitbucket
|
||||
|
||||
import (
|
||||
"github.com/hashicorp/terraform/helper/schema"
|
||||
"github.com/hashicorp/terraform/terraform"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
|
||||
"os"
|
||||
"testing"
|
||||
)
|
||||
|
||||
const testRepo string = "test-repo"
|
||||
|
||||
var testAccProviders map[string]terraform.ResourceProvider
|
||||
var testAccProviders map[string]*schema.Provider
|
||||
var testAccProvider *schema.Provider
|
||||
|
||||
func init() {
|
||||
testAccProvider = Provider().(*schema.Provider)
|
||||
testAccProviders = map[string]terraform.ResourceProvider{
|
||||
testAccProvider = Provider()
|
||||
testAccProviders = map[string]*schema.Provider{
|
||||
"bitbucketserver": testAccProvider,
|
||||
}
|
||||
}
|
||||
|
||||
func TestProvider(t *testing.T) {
|
||||
if err := Provider().(*schema.Provider).InternalValidate(); err != nil {
|
||||
if err := Provider().InternalValidate(); err != nil {
|
||||
t.Fatalf("err: %s", err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestProvider_impl(t *testing.T) {
|
||||
var _ terraform.ResourceProvider = Provider()
|
||||
var _ *schema.Provider = Provider()
|
||||
}
|
||||
|
||||
func testAccPreCheck(t *testing.T) {
|
||||
|
||||
@@ -4,8 +4,9 @@ import (
|
||||
"bytes"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"github.com/hashicorp/terraform/helper/schema"
|
||||
"github.com/hashicorp/terraform/helper/validation"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation"
|
||||
bitbucketTypes "github.com/xvlcwk-terraform/terraform-provider-bitbucketserver/bitbucket/util/types"
|
||||
"io/ioutil"
|
||||
)
|
||||
|
||||
@@ -57,7 +58,7 @@ func newBannerFromResource(d *schema.ResourceData) *Banner {
|
||||
}
|
||||
|
||||
func resourceBannerUpdate(d *schema.ResourceData, m interface{}) error {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
banner := newBannerFromResource(d)
|
||||
|
||||
bytedata, err := json.Marshal(banner)
|
||||
@@ -81,7 +82,7 @@ func resourceBannerCreate(d *schema.ResourceData, m interface{}) error {
|
||||
|
||||
func resourceBannerRead(d *schema.ResourceData, m interface{}) error {
|
||||
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
req, err := client.Get("/rest/api/1.0/admin/banner")
|
||||
|
||||
if err != nil {
|
||||
@@ -108,7 +109,7 @@ func resourceBannerRead(d *schema.ResourceData, m interface{}) error {
|
||||
}
|
||||
|
||||
func resourceBannerExists(d *schema.ResourceData, m interface{}) (bool, error) {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
repoReq, err := client.Get("/rest/api/1.0/admin/banner")
|
||||
if err != nil {
|
||||
return false, fmt.Errorf("failed to get banner from bitbucket: %+v", err)
|
||||
@@ -122,7 +123,7 @@ func resourceBannerExists(d *schema.ResourceData, m interface{}) (bool, error) {
|
||||
}
|
||||
|
||||
func resourceBannerDelete(d *schema.ResourceData, m interface{}) error {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
_, err := client.Delete("/rest/api/1.0/admin/banner")
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ package bitbucket
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/hashicorp/terraform/helper/resource"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
|
||||
)
|
||||
|
||||
func TestAccBitbucketBanner_basic(t *testing.T) {
|
||||
@@ -19,8 +19,8 @@ func TestAccBitbucketBanner_basic(t *testing.T) {
|
||||
`
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
ProtoV6ProviderFactories: ProviderFactories,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: config,
|
||||
@@ -51,8 +51,8 @@ func TestAccBitbucketBanner_authenticated(t *testing.T) {
|
||||
`
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
ProtoV6ProviderFactories: ProviderFactories,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: config,
|
||||
|
||||
@@ -4,12 +4,13 @@ import (
|
||||
"bytes"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
bitbucketTypes "github.com/xvlcwk-terraform/terraform-provider-bitbucketserver/bitbucket/util/types"
|
||||
"io/ioutil"
|
||||
"net/url"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"github.com/hashicorp/terraform/helper/schema"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
|
||||
)
|
||||
|
||||
type Reviewer struct {
|
||||
@@ -292,7 +293,7 @@ func resourceDefaultReviewersConditionCreate(d *schema.ResourceData, m interface
|
||||
return err
|
||||
}
|
||||
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
|
||||
resp, err := client.Post(getCreateConditionURI(projectKey, repositorySlug), bytes.NewBuffer(bytedata))
|
||||
|
||||
@@ -326,7 +327,7 @@ func resourceDefaultReviewersConditionRead(d *schema.ResourceData, m interface{}
|
||||
return err
|
||||
}
|
||||
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
|
||||
resp, err := client.Get(getReadConditionURI(projectKey, repositorySlug))
|
||||
|
||||
@@ -371,7 +372,7 @@ func resourceDefaultReviewersConditionExists(d *schema.ResourceData, m interface
|
||||
return false, err
|
||||
}
|
||||
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
|
||||
resp, err := client.Get(getReadConditionURI(projectKey, repositorySlug))
|
||||
|
||||
@@ -409,7 +410,7 @@ func resourceDefaultReviewersConditionDelete(d *schema.ResourceData, m interface
|
||||
return err
|
||||
}
|
||||
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
|
||||
_, err = client.Delete(getDeleteConditionURI(conditionID, projectKey, repositorySlug))
|
||||
|
||||
|
||||
@@ -7,8 +7,8 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/hashicorp/terraform/helper/resource"
|
||||
"github.com/hashicorp/terraform/terraform"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
|
||||
)
|
||||
|
||||
func TestAccBitbucketDefaultReviewersCondition_forProject(t *testing.T) {
|
||||
@@ -93,8 +93,8 @@ func TestAccBitbucketDefaultReviewersCondition_expectRequiredApprovalsError(t *t
|
||||
key := fmt.Sprintf("%v", rand.New(rand.NewSource(time.Now().UnixNano())).Int())
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
ProtoV6ProviderFactories: ProviderFactories,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: testAccBitbucketDefaultReviewersConditionResourceForProject(key, 2),
|
||||
|
||||
@@ -2,8 +2,9 @@ package bitbucket
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/hashicorp/terraform/helper/schema"
|
||||
"github.com/hashicorp/terraform/helper/validation"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation"
|
||||
bitbucketTypes "github.com/xvlcwk-terraform/terraform-provider-bitbucketserver/bitbucket/util/types"
|
||||
"net/url"
|
||||
)
|
||||
|
||||
@@ -33,7 +34,7 @@ func resourceGlobalPermissionsGroup() *schema.Resource {
|
||||
}
|
||||
|
||||
func resourceGlobalPermissionsGroupUpdate(d *schema.ResourceData, m interface{}) error {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
_, err := client.Put(fmt.Sprintf("/rest/api/1.0/admin/permissions/groups?permission=%s&name=%s",
|
||||
url.QueryEscape(d.Get("permission").(string)),
|
||||
url.QueryEscape(d.Get("group").(string)),
|
||||
@@ -80,7 +81,7 @@ func resourceGlobalPermissionsGroupRead(d *schema.ResourceData, m interface{}) e
|
||||
}
|
||||
|
||||
func resourceGlobalPermissionsGroupDelete(d *schema.ResourceData, m interface{}) error {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
_, err := client.Delete(fmt.Sprintf("/rest/api/1.0/admin/permissions/groups?name=%s",
|
||||
url.QueryEscape(d.Get("group").(string)),
|
||||
))
|
||||
|
||||
@@ -7,7 +7,7 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/hashicorp/terraform/helper/resource"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
|
||||
)
|
||||
|
||||
func TestAccBitbucketResourceGlobalPermissionsGroup(t *testing.T) {
|
||||
@@ -26,8 +26,8 @@ func TestAccBitbucketResourceGlobalPermissionsGroup(t *testing.T) {
|
||||
configModified := strings.ReplaceAll(config, "ADMIN", "LICENSED_USER")
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
ProtoV6ProviderFactories: ProviderFactories,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: config,
|
||||
|
||||
@@ -2,8 +2,9 @@ package bitbucket
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/hashicorp/terraform/helper/schema"
|
||||
"github.com/hashicorp/terraform/helper/validation"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation"
|
||||
bitbucketTypes "github.com/xvlcwk-terraform/terraform-provider-bitbucketserver/bitbucket/util/types"
|
||||
"net/url"
|
||||
)
|
||||
|
||||
@@ -33,7 +34,7 @@ func resourceGlobalPermissionsUser() *schema.Resource {
|
||||
}
|
||||
|
||||
func resourceGlobalPermissionsUserUpdate(d *schema.ResourceData, m interface{}) error {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
_, err := client.Put(fmt.Sprintf("/rest/api/1.0/admin/permissions/users?permission=%s&name=%s",
|
||||
url.QueryEscape(d.Get("permission").(string)),
|
||||
url.QueryEscape(d.Get("user").(string)),
|
||||
@@ -80,7 +81,7 @@ func resourceGlobalPermissionsUserRead(d *schema.ResourceData, m interface{}) er
|
||||
}
|
||||
|
||||
func resourceGlobalPermissionsUserDelete(d *schema.ResourceData, m interface{}) error {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
_, err := client.Delete(fmt.Sprintf("/rest/api/1.0/admin/permissions/users?name=%s",
|
||||
url.QueryEscape(d.Get("user").(string)),
|
||||
))
|
||||
|
||||
@@ -7,7 +7,7 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/hashicorp/terraform/helper/resource"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
|
||||
)
|
||||
|
||||
func TestAccBitbucketResourceGlobalPermissionsUser(t *testing.T) {
|
||||
@@ -28,8 +28,8 @@ func TestAccBitbucketResourceGlobalPermissionsUser(t *testing.T) {
|
||||
configModified := strings.ReplaceAll(config, "SYS_ADMIN", "LICENSED_USER")
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
ProtoV6ProviderFactories: ProviderFactories,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: config,
|
||||
|
||||
@@ -2,7 +2,8 @@ package bitbucket
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/hashicorp/terraform/helper/schema"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
|
||||
bitbucketTypes "github.com/xvlcwk-terraform/terraform-provider-bitbucketserver/bitbucket/util/types"
|
||||
"log"
|
||||
"net/url"
|
||||
)
|
||||
@@ -33,7 +34,7 @@ func resourceGroup() *schema.Resource {
|
||||
}
|
||||
|
||||
func resourceGroupCreate(d *schema.ResourceData, m interface{}) error {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
|
||||
groupName := d.Get("name").(string)
|
||||
importIfExists := d.Get("import_if_exists").(bool)
|
||||
@@ -88,7 +89,7 @@ func resourceGroupUpdate(d *schema.ResourceData, m interface{}) error {
|
||||
|
||||
func resourceGroupDelete(d *schema.ResourceData, m interface{}) error {
|
||||
groupName := d.Get("name").(string)
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
_, err := client.Delete(fmt.Sprintf("/rest/api/1.0/admin/groups?name=%s",
|
||||
url.QueryEscape(groupName),
|
||||
))
|
||||
|
||||
@@ -2,7 +2,8 @@ package bitbucket
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/hashicorp/terraform/helper/resource"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
|
||||
"github.com/xvlcwk-terraform/terraform-provider-bitbucketserver/bitbucket/util/client"
|
||||
"net/http"
|
||||
"net/url"
|
||||
"os"
|
||||
@@ -19,8 +20,8 @@ func TestAccBitbucketResourceGroup_basic(t *testing.T) {
|
||||
`
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
ProtoV6ProviderFactories: ProviderFactories,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: config,
|
||||
@@ -44,8 +45,8 @@ func TestAccBitbucketResourceGroup_DisallowImport(t *testing.T) {
|
||||
createGroup(groupName)
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
ProtoV6ProviderFactories: ProviderFactories,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: config,
|
||||
@@ -71,8 +72,8 @@ func TestAccBitbucketResourceGroup_AllowImport(t *testing.T) {
|
||||
createGroup(groupName)
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
ProtoV6ProviderFactories: ProviderFactories,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: config,
|
||||
@@ -89,13 +90,13 @@ func createGroup(groupName string) {
|
||||
client.Post(fmt.Sprintf("/rest/api/1.0/admin/groups?name=%s", url.QueryEscape(groupName)), nil)
|
||||
}
|
||||
|
||||
func newBitbucketClient() *BitbucketClient {
|
||||
func newBitbucketClient() *client.BitbucketClient {
|
||||
serverSanitized := os.Getenv("BITBUCKET_SERVER")
|
||||
if strings.HasSuffix(serverSanitized, "/") {
|
||||
serverSanitized = serverSanitized[0 : len(serverSanitized)-1]
|
||||
}
|
||||
|
||||
return &BitbucketClient{
|
||||
return &client.BitbucketClient{
|
||||
Server: serverSanitized,
|
||||
Username: os.Getenv("BITBUCKET_USERNAME"),
|
||||
Password: os.Getenv("BITBUCKET_PASSWORD"),
|
||||
|
||||
@@ -5,7 +5,8 @@ import (
|
||||
"crypto/sha256"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"github.com/hashicorp/terraform/helper/schema"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
|
||||
bitbucketTypes "github.com/xvlcwk-terraform/terraform-provider-bitbucketserver/bitbucket/util/types"
|
||||
"io/ioutil"
|
||||
)
|
||||
|
||||
@@ -91,7 +92,7 @@ func newLicenseFromResource(d *schema.ResourceData) *License {
|
||||
}
|
||||
|
||||
func resourceLicenseUpdate(d *schema.ResourceData, m interface{}) error {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
license := newLicenseFromResource(d)
|
||||
|
||||
bytedata, err := json.Marshal(license)
|
||||
@@ -115,7 +116,7 @@ func resourceLicenseCreate(d *schema.ResourceData, m interface{}) error {
|
||||
|
||||
func resourceLicenseRead(d *schema.ResourceData, m interface{}) error {
|
||||
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
req, err := client.Get("/rest/api/1.0/admin/license")
|
||||
|
||||
if err != nil {
|
||||
@@ -152,7 +153,7 @@ func resourceLicenseRead(d *schema.ResourceData, m interface{}) error {
|
||||
}
|
||||
|
||||
func resourceLicenseDelete(d *schema.ResourceData, m interface{}) error {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
_, err := client.Delete("/rest/api/1.0/admin/mail-server")
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -4,8 +4,8 @@ import (
|
||||
"fmt"
|
||||
"testing"
|
||||
|
||||
"github.com/hashicorp/terraform/helper/resource"
|
||||
"github.com/hashicorp/terraform/terraform"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
|
||||
)
|
||||
|
||||
func TestAccBitbucketLicense(t *testing.T) {
|
||||
|
||||
@@ -3,7 +3,8 @@ package bitbucket
|
||||
import (
|
||||
"bytes"
|
||||
"encoding/json"
|
||||
"github.com/hashicorp/terraform/helper/schema"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
|
||||
bitbucketTypes "github.com/xvlcwk-terraform/terraform-provider-bitbucketserver/bitbucket/util/types"
|
||||
"io/ioutil"
|
||||
)
|
||||
|
||||
@@ -86,7 +87,7 @@ func newMailConfigurationFromResource(d *schema.ResourceData) *MailConfiguration
|
||||
}
|
||||
|
||||
func resourceMailServerUpdate(d *schema.ResourceData, m interface{}) error {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
mailConfiguration := newMailConfigurationFromResource(d)
|
||||
|
||||
bytedata, err := json.Marshal(mailConfiguration)
|
||||
@@ -111,7 +112,7 @@ func resourceMailServerCreate(d *schema.ResourceData, m interface{}) error {
|
||||
|
||||
func resourceMailServerRead(d *schema.ResourceData, m interface{}) error {
|
||||
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
req, err := client.Get("/rest/api/1.0/admin/mail-server")
|
||||
|
||||
if err != nil {
|
||||
@@ -145,7 +146,7 @@ func resourceMailServerRead(d *schema.ResourceData, m interface{}) error {
|
||||
}
|
||||
|
||||
func resourceMailServerDelete(d *schema.ResourceData, m interface{}) error {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
_, err := client.Delete("/rest/api/1.0/admin/mail-server")
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -2,11 +2,12 @@ package bitbucket
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
bitbucketTypes "github.com/xvlcwk-terraform/terraform-provider-bitbucketserver/bitbucket/util/types"
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/hashicorp/terraform/helper/resource"
|
||||
"github.com/hashicorp/terraform/terraform"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
|
||||
)
|
||||
|
||||
func TestAccBitbucketMailServer(t *testing.T) {
|
||||
@@ -49,7 +50,7 @@ func TestAccBitbucketMailServer(t *testing.T) {
|
||||
}
|
||||
|
||||
func testAccCheckBitbucketMailServerDestroy(s *terraform.State) error {
|
||||
client := testAccProvider.Meta().(*BitbucketServerProvider).BitbucketClient
|
||||
client := testAccProvider.Meta().(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
_, ok := s.RootModule().Resources["bitbucketserver_mail_server.test"]
|
||||
if !ok {
|
||||
return fmt.Errorf("not found %s", "bitbucketserver_mail_server.test")
|
||||
|
||||
@@ -4,13 +4,14 @@ import (
|
||||
"bytes"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
bitbucketTypes "github.com/xvlcwk-terraform/terraform-provider-bitbucketserver/bitbucket/util/types"
|
||||
"io/ioutil"
|
||||
"path/filepath"
|
||||
"regexp"
|
||||
"time"
|
||||
|
||||
"github.com/hashicorp/terraform/helper/resource"
|
||||
"github.com/hashicorp/terraform/helper/schema"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
|
||||
)
|
||||
|
||||
type Plugin struct {
|
||||
@@ -141,27 +142,13 @@ func resourcePlugin() *schema.Resource {
|
||||
"vendor": {
|
||||
Type: schema.TypeMap,
|
||||
Computed: true,
|
||||
Elem: &schema.Resource{
|
||||
Schema: map[string]*schema.Schema{
|
||||
"name": {
|
||||
Type: schema.TypeString,
|
||||
Computed: true,
|
||||
},
|
||||
"link": {
|
||||
Type: schema.TypeString,
|
||||
Computed: true,
|
||||
},
|
||||
"marketplace_link": {
|
||||
Type: schema.TypeString,
|
||||
Computed: true,
|
||||
},
|
||||
},
|
||||
Elem: &schema.Schema{
|
||||
Type: schema.TypeString,
|
||||
},
|
||||
},
|
||||
"applied_license": {
|
||||
Type: schema.TypeList,
|
||||
Computed: true,
|
||||
MaxItems: 1,
|
||||
Elem: &schema.Resource{
|
||||
Schema: map[string]*schema.Schema{
|
||||
"valid": {
|
||||
@@ -253,7 +240,7 @@ func resourcePlugin() *schema.Resource {
|
||||
}
|
||||
|
||||
func resourcePluginCreate(d *schema.ResourceData, m interface{}) error {
|
||||
provider := m.(*BitbucketServerProvider)
|
||||
provider := m.(*bitbucketTypes.BitbucketServerProvider)
|
||||
|
||||
key := d.Get("key").(string)
|
||||
version := d.Get("version").(string)
|
||||
@@ -311,7 +298,7 @@ func resourcePluginCreate(d *schema.ResourceData, m interface{}) error {
|
||||
}
|
||||
|
||||
func resourcePluginUpdate(d *schema.ResourceData, m interface{}) error {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
|
||||
key := d.Get("key").(string)
|
||||
|
||||
@@ -372,7 +359,7 @@ func resourcePluginRead(d *schema.ResourceData, m interface{}) error {
|
||||
_ = d.Set("key", id)
|
||||
}
|
||||
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
req, err := client.Get(fmt.Sprintf("/rest/plugins/1.0/%s-key", d.Get("key").(string)))
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -460,7 +447,7 @@ func resourcePluginExists(d *schema.ResourceData, m interface{}) (bool, error) {
|
||||
key = d.Get("key").(string)
|
||||
}
|
||||
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
req, err := client.Get(fmt.Sprintf("/rest/plugins/1.0/%s-key",
|
||||
key,
|
||||
))
|
||||
@@ -477,7 +464,7 @@ func resourcePluginExists(d *schema.ResourceData, m interface{}) (bool, error) {
|
||||
}
|
||||
|
||||
func resourcePluginDelete(d *schema.ResourceData, m interface{}) error {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
_, err := client.Delete(fmt.Sprintf("/rest/plugins/1.0/%s-key",
|
||||
d.Get("key").(string),
|
||||
))
|
||||
@@ -485,7 +472,7 @@ func resourcePluginDelete(d *schema.ResourceData, m interface{}) error {
|
||||
return err
|
||||
}
|
||||
|
||||
func readMarketplacePluginVersion(key string, version string, provider *BitbucketServerProvider) (*PluginMarketplaceVersion, error) {
|
||||
func readMarketplacePluginVersion(key string, version string, provider *bitbucketTypes.BitbucketServerProvider) (*PluginMarketplaceVersion, error) {
|
||||
marketplaceRequest, err := provider.MarketplaceClient.Get(fmt.Sprintf("/rest/2/addons/%s/versions/name/%s", key, version))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
||||
@@ -3,9 +3,10 @@ package bitbucket
|
||||
import (
|
||||
"bytes"
|
||||
"encoding/json"
|
||||
bitbucketTypes "github.com/xvlcwk-terraform/terraform-provider-bitbucketserver/bitbucket/util/types"
|
||||
"io/ioutil"
|
||||
|
||||
"github.com/hashicorp/terraform/helper/schema"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
|
||||
)
|
||||
|
||||
type PluginConfig struct {
|
||||
@@ -39,7 +40,7 @@ func resourcePluginConfig() *schema.Resource {
|
||||
}
|
||||
|
||||
func resourcePluginConfigCreateOrUpdate(d *schema.ResourceData, m interface{}) error {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
configEndpoint := d.Get("config_endpoint").(string)
|
||||
values := d.Get("values").(string)
|
||||
config := []byte(values)
|
||||
@@ -86,7 +87,7 @@ func resourcePluginConfigDelete(d *schema.ResourceData, m interface{}) error {
|
||||
}
|
||||
|
||||
func readPluginConfig(m interface{}, configEndpoint string) (PluginConfig, error) {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
resp, err := client.Get(configEndpoint)
|
||||
if err != nil {
|
||||
return PluginConfig{}, err
|
||||
|
||||
@@ -16,7 +16,7 @@ package bitbucket
|
||||
//
|
||||
// resource.Test(t, resource.TestCase{
|
||||
// PreCheck: func() { testAccPreCheck(t) },
|
||||
// Providers: testAccProviders,
|
||||
// ProtoV6ProviderFactories: ProviderFactories,
|
||||
// Steps: []resource.TestStep{
|
||||
// {
|
||||
// Config: config,
|
||||
|
||||
@@ -3,7 +3,7 @@ package bitbucket
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/hashicorp/terraform/helper/resource"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
|
||||
)
|
||||
|
||||
func TestAccBitbucketPlugin_install(t *testing.T) {
|
||||
@@ -16,8 +16,8 @@ func TestAccBitbucketPlugin_install(t *testing.T) {
|
||||
`
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
ProtoV6ProviderFactories: ProviderFactories,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: config,
|
||||
|
||||
@@ -4,7 +4,8 @@ import (
|
||||
"bytes"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"github.com/hashicorp/terraform/helper/schema"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
|
||||
bitbucketTypes "github.com/xvlcwk-terraform/terraform-provider-bitbucketserver/bitbucket/util/types"
|
||||
"io/ioutil"
|
||||
)
|
||||
|
||||
@@ -67,7 +68,7 @@ func newProjectFromResource(d *schema.ResourceData) *Project {
|
||||
}
|
||||
|
||||
func resourceProjectUpdate(d *schema.ResourceData, m interface{}) error {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
project := newProjectFromResource(d)
|
||||
|
||||
bytedata, err := json.Marshal(project)
|
||||
@@ -88,7 +89,7 @@ func resourceProjectUpdate(d *schema.ResourceData, m interface{}) error {
|
||||
}
|
||||
|
||||
func resourceProjectCreate(d *schema.ResourceData, m interface{}) error {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
project := newProjectFromResource(d)
|
||||
|
||||
bytedata, err := json.Marshal(project)
|
||||
@@ -116,7 +117,7 @@ func resourceProjectRead(d *schema.ResourceData, m interface{}) error {
|
||||
|
||||
project := d.Get("key").(string)
|
||||
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
project_req, err := client.Get(fmt.Sprintf("/rest/api/1.0/projects/%s",
|
||||
project,
|
||||
))
|
||||
@@ -157,7 +158,7 @@ func resourceProjectExists(d *schema.ResourceData, m interface{}) (bool, error)
|
||||
project = d.Get("key").(string)
|
||||
}
|
||||
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
repo_req, err := client.Get(fmt.Sprintf("/rest/api/1.0/projects/%s",
|
||||
project,
|
||||
))
|
||||
@@ -175,7 +176,7 @@ func resourceProjectExists(d *schema.ResourceData, m interface{}) (bool, error)
|
||||
|
||||
func resourceProjectDelete(d *schema.ResourceData, m interface{}) error {
|
||||
project := d.Get("key").(string)
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
_, err := client.Delete(fmt.Sprintf("/rest/api/1.0/projects/%s",
|
||||
project,
|
||||
))
|
||||
|
||||
@@ -4,11 +4,12 @@ import (
|
||||
"bytes"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
bitbucketTypes "github.com/xvlcwk-terraform/terraform-provider-bitbucketserver/bitbucket/util/types"
|
||||
"io/ioutil"
|
||||
"strings"
|
||||
|
||||
"github.com/hashicorp/terraform/helper/schema"
|
||||
"github.com/hashicorp/terraform/helper/validation"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation"
|
||||
)
|
||||
|
||||
type BranchPermissionPayload struct {
|
||||
@@ -152,7 +153,7 @@ func newBranchPermissionPayloadFromResource(d *schema.ResourceData) *BranchPermi
|
||||
}
|
||||
|
||||
func resourceBranchPermissionsCreate(d *schema.ResourceData, m interface{}) error {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
|
||||
project := d.Get("project").(string)
|
||||
repository := d.Get("repository").(string)
|
||||
@@ -234,7 +235,7 @@ func getBranchPermissionById(d *schema.ResourceData, m interface{}) error {
|
||||
repository := d.Get("repository").(string)
|
||||
id := d.Get("permission_id").(int)
|
||||
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
|
||||
resp, err := client.Get(fmt.Sprintf("/rest/branch-permissions/2.0/projects/%s/repos/%s/restrictions/%d",
|
||||
project,
|
||||
@@ -282,7 +283,7 @@ func getBranchPermissionFromList(d *schema.ResourceData, m interface{}) error {
|
||||
repository := d.Get("repository").(string)
|
||||
restrictionType := d.Get("type").(string)
|
||||
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
|
||||
resp, err := client.Get(fmt.Sprintf("/rest/branch-permissions/2.0/projects/%s/repos/%s/restrictions",
|
||||
project,
|
||||
@@ -331,7 +332,7 @@ func getBranchPermissionFromList(d *schema.ResourceData, m interface{}) error {
|
||||
}
|
||||
|
||||
func resourceBranchPermissionsDelete(d *schema.ResourceData, m interface{}) error {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
_, err := client.Delete(fmt.Sprintf("/rest/branch-permissions/2.0/projects/%s/repos/%s/restrictions/%d",
|
||||
d.Get("project").(string),
|
||||
d.Get("repository").(string),
|
||||
|
||||
@@ -6,7 +6,7 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/hashicorp/terraform/helper/resource"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
|
||||
)
|
||||
|
||||
func TestAccBitbucketResourceBranchPermission_requiredArgumentsOnly(t *testing.T) {
|
||||
@@ -23,8 +23,8 @@ func TestAccBitbucketResourceBranchPermission_requiredArgumentsOnly(t *testing.T
|
||||
resourceName := "bitbucketserver_project_branch_permissions.test"
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
ProtoV6ProviderFactories: ProviderFactories,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: config,
|
||||
@@ -75,8 +75,8 @@ func TestAccBitbucketResourceBranchPermission_allArguments(t *testing.T) {
|
||||
resourceName2 := "bitbucketserver_project_branch_permissions.test_2"
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
ProtoV6ProviderFactories: ProviderFactories,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: config,
|
||||
|
||||
@@ -4,7 +4,8 @@ import (
|
||||
"bytes"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"github.com/hashicorp/terraform/helper/schema"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
|
||||
bitbucketTypes "github.com/xvlcwk-terraform/terraform-provider-bitbucketserver/bitbucket/util/types"
|
||||
"strings"
|
||||
)
|
||||
|
||||
@@ -38,7 +39,7 @@ func resourceProjectHook() *schema.Resource {
|
||||
}
|
||||
|
||||
func resourceProjectHookUpdate(d *schema.ResourceData, m interface{}) error {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
|
||||
project := d.Get("project").(string)
|
||||
hook := d.Get("hook").(string)
|
||||
@@ -86,7 +87,7 @@ func resourceProjectHookRead(d *schema.ResourceData, m interface{}) error {
|
||||
project := d.Get("project").(string)
|
||||
hook := d.Get("hook").(string)
|
||||
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
resp, err := client.Get(fmt.Sprintf("/rest/api/1.0/projects/%s/settings/hooks/%s/settings",
|
||||
project,
|
||||
hook,
|
||||
@@ -109,7 +110,7 @@ func resourceProjectHookRead(d *schema.ResourceData, m interface{}) error {
|
||||
}
|
||||
|
||||
func resourceProjectHookDelete(d *schema.ResourceData, m interface{}) error {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
_, err := client.Delete(fmt.Sprintf("/rest/api/1.0/projects/%s/settings/hooks/%s/enabled",
|
||||
d.Get("project").(string),
|
||||
d.Get("hook").(string)))
|
||||
|
||||
@@ -6,7 +6,7 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/hashicorp/terraform/helper/resource"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
|
||||
)
|
||||
|
||||
func TestAccBitbucketResourceProjectHook_simple(t *testing.T) {
|
||||
@@ -24,8 +24,8 @@ func TestAccBitbucketResourceProjectHook_simple(t *testing.T) {
|
||||
}
|
||||
`, projectKey, projectKey)
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
ProtoV6ProviderFactories: ProviderFactories,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: config,
|
||||
|
||||
@@ -2,8 +2,9 @@ package bitbucket
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/hashicorp/terraform/helper/schema"
|
||||
"github.com/hashicorp/terraform/helper/validation"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation"
|
||||
bitbucketTypes "github.com/xvlcwk-terraform/terraform-provider-bitbucketserver/bitbucket/util/types"
|
||||
"net/url"
|
||||
"strings"
|
||||
)
|
||||
@@ -39,7 +40,7 @@ func resourceProjectPermissionsGroup() *schema.Resource {
|
||||
}
|
||||
|
||||
func resourceProjectPermissionsGroupUpdate(d *schema.ResourceData, m interface{}) error {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
_, err := client.Put(fmt.Sprintf("/rest/api/1.0/projects/%s/permissions/groups?permission=%s&name=%s",
|
||||
d.Get("project").(string),
|
||||
url.QueryEscape(d.Get("permission").(string)),
|
||||
@@ -93,7 +94,7 @@ func resourceProjectPermissionsGroupRead(d *schema.ResourceData, m interface{})
|
||||
}
|
||||
|
||||
func resourceProjectPermissionsGroupDelete(d *schema.ResourceData, m interface{}) error {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
_, err := client.Delete(fmt.Sprintf("/rest/api/1.0/projects/%s/permissions/groups?name=%s",
|
||||
d.Get("project").(string),
|
||||
url.QueryEscape(d.Get("group").(string)),
|
||||
|
||||
@@ -7,7 +7,7 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/hashicorp/terraform/helper/resource"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
|
||||
)
|
||||
|
||||
func TestAccBitbucketResourceProjectPermissionsGroup(t *testing.T) {
|
||||
@@ -28,8 +28,8 @@ func TestAccBitbucketResourceProjectPermissionsGroup(t *testing.T) {
|
||||
configModified := strings.ReplaceAll(config, "PROJECT_WRITE", "PROJECT_READ")
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
ProtoV6ProviderFactories: ProviderFactories,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: config,
|
||||
|
||||
@@ -2,8 +2,9 @@ package bitbucket
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/hashicorp/terraform/helper/schema"
|
||||
"github.com/hashicorp/terraform/helper/validation"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation"
|
||||
bitbucketTypes "github.com/xvlcwk-terraform/terraform-provider-bitbucketserver/bitbucket/util/types"
|
||||
"net/url"
|
||||
"strings"
|
||||
)
|
||||
@@ -39,7 +40,7 @@ func resourceProjectPermissionsUser() *schema.Resource {
|
||||
}
|
||||
|
||||
func resourceProjectPermissionsUserUpdate(d *schema.ResourceData, m interface{}) error {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
_, err := client.Put(fmt.Sprintf("/rest/api/1.0/projects/%s/permissions/users?permission=%s&name=%s",
|
||||
d.Get("project").(string),
|
||||
url.QueryEscape(d.Get("permission").(string)),
|
||||
@@ -93,7 +94,7 @@ func resourceProjectPermissionsUserRead(d *schema.ResourceData, m interface{}) e
|
||||
}
|
||||
|
||||
func resourceProjectPermissionsUserDelete(d *schema.ResourceData, m interface{}) error {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
_, err := client.Delete(fmt.Sprintf("/rest/api/1.0/projects/%s/permissions/users?name=%s",
|
||||
d.Get("project").(string),
|
||||
url.QueryEscape(d.Get("user").(string)),
|
||||
|
||||
@@ -7,7 +7,7 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/hashicorp/terraform/helper/resource"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
|
||||
)
|
||||
|
||||
func TestAccBitbucketResourceProjectPermissionsUser(t *testing.T) {
|
||||
@@ -34,8 +34,8 @@ func TestAccBitbucketResourceProjectPermissionsUser(t *testing.T) {
|
||||
configModified := strings.ReplaceAll(config, "PROJECT_READ", "PROJECT_WRITE")
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
ProtoV6ProviderFactories: ProviderFactories,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: config,
|
||||
|
||||
@@ -2,13 +2,14 @@ package bitbucket
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
bitbucketTypes "github.com/xvlcwk-terraform/terraform-provider-bitbucketserver/bitbucket/util/types"
|
||||
"math/rand"
|
||||
"strings"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/hashicorp/terraform/helper/resource"
|
||||
"github.com/hashicorp/terraform/terraform"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
|
||||
)
|
||||
|
||||
func TestAccBitbucketProject(t *testing.T) {
|
||||
@@ -50,7 +51,7 @@ func TestAccBitbucketProject(t *testing.T) {
|
||||
}
|
||||
|
||||
func testAccCheckBitbucketProjectDestroy(s *terraform.State) error {
|
||||
client := testAccProvider.Meta().(*BitbucketServerProvider).BitbucketClient
|
||||
client := testAccProvider.Meta().(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
rs, ok := s.RootModule().Resources["bitbucketserver_project.test"]
|
||||
if !ok {
|
||||
return fmt.Errorf("not found %s", "bitbucketserver_project.test")
|
||||
|
||||
@@ -4,9 +4,11 @@ import (
|
||||
"bytes"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"github.com/xvlcwk-terraform/terraform-provider-bitbucketserver/bitbucket/util/client"
|
||||
bitbucketTypes "github.com/xvlcwk-terraform/terraform-provider-bitbucketserver/bitbucket/util/types"
|
||||
"io/ioutil"
|
||||
|
||||
"github.com/hashicorp/terraform/helper/schema"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
|
||||
"strings"
|
||||
)
|
||||
|
||||
@@ -116,7 +118,7 @@ func newRepositoryFromResource(d *schema.ResourceData) (Repo *Repository) {
|
||||
}
|
||||
|
||||
func resourceRepositoryUpdate(d *schema.ResourceData, m interface{}) error {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
project := d.Get("project").(string)
|
||||
repo := newRepositoryFromResource(d)
|
||||
|
||||
@@ -146,7 +148,7 @@ func resourceRepositoryUpdate(d *schema.ResourceData, m interface{}) error {
|
||||
}
|
||||
|
||||
func resourceRepositoryCreate(d *schema.ResourceData, m interface{}) error {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
|
||||
project := d.Get("project").(string)
|
||||
repoSlug := determineSlug(d)
|
||||
@@ -185,7 +187,7 @@ func resourceRepositoryCreate(d *schema.ResourceData, m interface{}) error {
|
||||
}
|
||||
}
|
||||
|
||||
func createNewRepository(client *BitbucketClient, d *schema.ResourceData, project string) error {
|
||||
func createNewRepository(client *client.BitbucketClient, d *schema.ResourceData, project string) error {
|
||||
repo := newRepositoryFromResource(d)
|
||||
bytedata, err := json.Marshal(repo)
|
||||
|
||||
@@ -204,7 +206,7 @@ func createNewRepository(client *BitbucketClient, d *schema.ResourceData, projec
|
||||
return nil
|
||||
}
|
||||
|
||||
func createNewRepositoryFromFork(client *BitbucketClient, d *schema.ResourceData, project string, repository string, forkProject string, forkRepository string) error {
|
||||
func createNewRepositoryFromFork(client *client.BitbucketClient, d *schema.ResourceData, project string, repository string, forkProject string, forkRepository string) error {
|
||||
requestBody := &RepositoryFork{
|
||||
Name: repository,
|
||||
Project: RepositoryForkProject{
|
||||
@@ -225,7 +227,7 @@ func createNewRepositoryFromFork(client *BitbucketClient, d *schema.ResourceData
|
||||
return nil
|
||||
}
|
||||
|
||||
func handleRepositoryGitLFSChanges(client *BitbucketClient, project string, repoSlug string, d *schema.ResourceData) error {
|
||||
func handleRepositoryGitLFSChanges(client *client.BitbucketClient, project string, repoSlug string, d *schema.ResourceData) error {
|
||||
enableGitLFS := d.Get("enable_git_lfs").(bool)
|
||||
if (d.IsNewResource() && enableGitLFS) || d.HasChange("enable_git_lfs") {
|
||||
if enableGitLFS {
|
||||
@@ -267,7 +269,7 @@ func resourceRepositoryRead(d *schema.ResourceData, m interface{}) error {
|
||||
repoSlug := determineSlug(d)
|
||||
project := d.Get("project").(string)
|
||||
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
repo_req, err := client.Get(fmt.Sprintf("/rest/api/1.0/projects/%s/repos/%s",
|
||||
project,
|
||||
repoSlug,
|
||||
@@ -332,7 +334,7 @@ func resourceRepositoryExists(d *schema.ResourceData, m interface{}) (bool, erro
|
||||
}
|
||||
}
|
||||
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
repo_req, err := client.Get(fmt.Sprintf("/rest/api/1.0/projects/%s/repos/%s",
|
||||
project,
|
||||
repoSlug,
|
||||
@@ -352,7 +354,7 @@ func resourceRepositoryExists(d *schema.ResourceData, m interface{}) (bool, erro
|
||||
func resourceRepositoryDelete(d *schema.ResourceData, m interface{}) error {
|
||||
repoSlug := determineSlug(d)
|
||||
project := d.Get("project").(string)
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
_, err := client.Delete(fmt.Sprintf("/rest/api/1.0/projects/%s/repos/%s",
|
||||
project,
|
||||
repoSlug,
|
||||
|
||||
@@ -5,8 +5,9 @@ import (
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
"github.com/hashicorp/terraform/helper/schema"
|
||||
"github.com/hashicorp/terraform/helper/validation"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation"
|
||||
bitbucketTypes "github.com/xvlcwk-terraform/terraform-provider-bitbucketserver/bitbucket/util/types"
|
||||
"io"
|
||||
"net/http"
|
||||
"net/url"
|
||||
@@ -165,7 +166,7 @@ func resourceRepositoryDeployKeyCreate(d *schema.ResourceData, m interface{}) er
|
||||
|
||||
request, err := json.Marshal(keyRequest)
|
||||
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
resp, err := client.Post(fmt.Sprintf("/rest/keys/latest/projects/%s/repos/%s/ssh",
|
||||
url.QueryEscape(d.Get("project").(string)),
|
||||
url.QueryEscape(d.Get("repository").(string)),
|
||||
@@ -178,7 +179,7 @@ func resourceRepositoryDeployKeyCreate(d *schema.ResourceData, m interface{}) er
|
||||
}
|
||||
|
||||
func resourceRepositoryDeployKeyRead(d *schema.ResourceData, m interface{}) error {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
|
||||
resp, err := client.Get(fmt.Sprintf("/rest/keys/latest/projects/%s/repos/%s/ssh/%s",
|
||||
url.QueryEscape(d.Get("project").(string)),
|
||||
@@ -192,7 +193,7 @@ func resourceRepositoryDeployKeyRead(d *schema.ResourceData, m interface{}) erro
|
||||
}
|
||||
|
||||
func resourceRepositoryDeployKeyDelete(d *schema.ResourceData, m interface{}) error {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
_, err := client.Delete(fmt.Sprintf("/rest/keys/latest/projects/%s/repos/%s/ssh/%s",
|
||||
url.QueryEscape(d.Get("project").(string)),
|
||||
url.QueryEscape(d.Get("repository").(string)),
|
||||
|
||||
@@ -6,7 +6,7 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/hashicorp/terraform/helper/resource"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
|
||||
)
|
||||
|
||||
func TestAccBitbucketResourceRepositoryDeployKey(t *testing.T) {
|
||||
@@ -32,8 +32,8 @@ func TestAccBitbucketResourceRepositoryDeployKey(t *testing.T) {
|
||||
}
|
||||
`, projectKey, projectKey)
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
ProtoV6ProviderFactories: ProviderFactories,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: config,
|
||||
|
||||
@@ -4,7 +4,8 @@ import (
|
||||
"bytes"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"github.com/hashicorp/terraform/helper/schema"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
|
||||
bitbucketTypes "github.com/xvlcwk-terraform/terraform-provider-bitbucketserver/bitbucket/util/types"
|
||||
"strings"
|
||||
)
|
||||
|
||||
@@ -43,7 +44,7 @@ func resourceRepositoryHook() *schema.Resource {
|
||||
}
|
||||
|
||||
func resourceRepositoryHookUpdate(d *schema.ResourceData, m interface{}) error {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
|
||||
project := d.Get("project").(string)
|
||||
repository := d.Get("repository").(string)
|
||||
@@ -95,7 +96,7 @@ func resourceRepositoryHookRead(d *schema.ResourceData, m interface{}) error {
|
||||
repository := d.Get("repository").(string)
|
||||
hook := d.Get("hook").(string)
|
||||
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
resp, err := client.Get(fmt.Sprintf("/rest/api/1.0/projects/%s/repos/%s/settings/hooks/%s/settings",
|
||||
project,
|
||||
repository,
|
||||
@@ -119,7 +120,7 @@ func resourceRepositoryHookRead(d *schema.ResourceData, m interface{}) error {
|
||||
}
|
||||
|
||||
func resourceRepositoryHookDelete(d *schema.ResourceData, m interface{}) error {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
_, err := client.Delete(fmt.Sprintf("/rest/api/1.0/projects/%s/repos/%s/settings/hooks/%s/enabled",
|
||||
d.Get("project").(string),
|
||||
d.Get("repository").(string),
|
||||
|
||||
@@ -6,7 +6,7 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/hashicorp/terraform/helper/resource"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
|
||||
)
|
||||
|
||||
func TestAccBitbucketResourceRepositoryHook_simple(t *testing.T) {
|
||||
@@ -30,8 +30,8 @@ func TestAccBitbucketResourceRepositoryHook_simple(t *testing.T) {
|
||||
}
|
||||
`, projectKey, projectKey)
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
ProtoV6ProviderFactories: ProviderFactories,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: config,
|
||||
|
||||
@@ -2,8 +2,9 @@ package bitbucket
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/hashicorp/terraform/helper/schema"
|
||||
"github.com/hashicorp/terraform/helper/validation"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation"
|
||||
bitbucketTypes "github.com/xvlcwk-terraform/terraform-provider-bitbucketserver/bitbucket/util/types"
|
||||
"net/url"
|
||||
"strings"
|
||||
)
|
||||
@@ -44,7 +45,7 @@ func resourceRepositoryPermissionsGroup() *schema.Resource {
|
||||
}
|
||||
|
||||
func resourceRepositoryPermissionsGroupUpdate(d *schema.ResourceData, m interface{}) error {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
_, err := client.Put(fmt.Sprintf("/rest/api/1.0/projects/%s/repos/%s/permissions/groups?permission=%s&name=%s",
|
||||
url.QueryEscape(d.Get("project").(string)),
|
||||
url.QueryEscape(d.Get("repository").(string)),
|
||||
@@ -100,7 +101,7 @@ func resourceRepositoryPermissionsGroupRead(d *schema.ResourceData, m interface{
|
||||
}
|
||||
|
||||
func resourceRepositoryPermissionsGroupDelete(d *schema.ResourceData, m interface{}) error {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
_, err := client.Delete(fmt.Sprintf("/rest/api/1.0/projects/%s/repos/%s/permissions/groups?name=%s",
|
||||
url.QueryEscape(d.Get("project").(string)),
|
||||
url.QueryEscape(d.Get("repository").(string)),
|
||||
|
||||
@@ -7,7 +7,7 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/hashicorp/terraform/helper/resource"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
|
||||
)
|
||||
|
||||
func TestAccBitbucketResourceRepositoryPermissionsGroup(t *testing.T) {
|
||||
@@ -34,8 +34,8 @@ func TestAccBitbucketResourceRepositoryPermissionsGroup(t *testing.T) {
|
||||
configModified := strings.ReplaceAll(config, "REPO_WRITE", "REPO_READ")
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
ProtoV6ProviderFactories: ProviderFactories,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: config,
|
||||
|
||||
@@ -2,8 +2,9 @@ package bitbucket
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/hashicorp/terraform/helper/schema"
|
||||
"github.com/hashicorp/terraform/helper/validation"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation"
|
||||
bitbucketTypes "github.com/xvlcwk-terraform/terraform-provider-bitbucketserver/bitbucket/util/types"
|
||||
"net/url"
|
||||
"strings"
|
||||
)
|
||||
@@ -44,7 +45,7 @@ func resourceRepositoryPermissionsUser() *schema.Resource {
|
||||
}
|
||||
|
||||
func resourceRepositoryPermissionsUserUpdate(d *schema.ResourceData, m interface{}) error {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
_, err := client.Put(fmt.Sprintf("/rest/api/1.0/projects/%s/repos/%s/permissions/users?permission=%s&name=%s",
|
||||
url.QueryEscape(d.Get("project").(string)),
|
||||
url.QueryEscape(d.Get("repository").(string)),
|
||||
@@ -100,7 +101,7 @@ func resourceRepositoryPermissionsUserRead(d *schema.ResourceData, m interface{}
|
||||
}
|
||||
|
||||
func resourceRepositoryPermissionsUserDelete(d *schema.ResourceData, m interface{}) error {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
_, err := client.Delete(fmt.Sprintf("/rest/api/1.0/projects/%s/repos/%s/permissions/users?name=%s",
|
||||
url.QueryEscape(d.Get("project").(string)),
|
||||
url.QueryEscape(d.Get("repository").(string)),
|
||||
|
||||
@@ -7,7 +7,7 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/hashicorp/terraform/helper/resource"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
|
||||
)
|
||||
|
||||
func TestAccBitbucketResourceRepositoryPermissionsUser(t *testing.T) {
|
||||
@@ -40,8 +40,8 @@ func TestAccBitbucketResourceRepositoryPermissionsUser(t *testing.T) {
|
||||
configModified := strings.ReplaceAll(config, "REPO_WRITE", "REPO_READ")
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
ProtoV6ProviderFactories: ProviderFactories,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: config,
|
||||
|
||||
@@ -2,13 +2,14 @@ package bitbucket
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
bitbucketTypes "github.com/xvlcwk-terraform/terraform-provider-bitbucketserver/bitbucket/util/types"
|
||||
"math/rand"
|
||||
"strings"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/hashicorp/terraform/helper/resource"
|
||||
"github.com/hashicorp/terraform/terraform"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
|
||||
)
|
||||
|
||||
func TestAccBitbucketRepository_basic(t *testing.T) {
|
||||
@@ -196,7 +197,7 @@ func TestAccBitbucketRepository_gitlfs(t *testing.T) {
|
||||
}
|
||||
|
||||
func testAccCheckBitbucketRepositoryDestroy(s *terraform.State) error {
|
||||
client := testAccProvider.Meta().(*BitbucketServerProvider).BitbucketClient
|
||||
client := testAccProvider.Meta().(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
rs, ok := s.RootModule().Resources["bitbucketserver_repository.test_repo"]
|
||||
if !ok {
|
||||
return fmt.Errorf("not found %s", "bitbucketserver_repository.test_repo")
|
||||
|
||||
@@ -4,7 +4,8 @@ import (
|
||||
"bytes"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"github.com/hashicorp/terraform/helper/schema"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
|
||||
bitbucketTypes "github.com/xvlcwk-terraform/terraform-provider-bitbucketserver/bitbucket/util/types"
|
||||
"io/ioutil"
|
||||
"strings"
|
||||
)
|
||||
@@ -89,7 +90,7 @@ func resourceRepositoryWebhook() *schema.Resource {
|
||||
}
|
||||
|
||||
func resourceRepositoryWebhookUpdate(d *schema.ResourceData, m interface{}) error {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
|
||||
project := d.Get("project").(string)
|
||||
repository := d.Get("repository").(string)
|
||||
@@ -116,7 +117,7 @@ func resourceRepositoryWebhookUpdate(d *schema.ResourceData, m interface{}) erro
|
||||
}
|
||||
|
||||
func resourceRepositoryWebhookCreate(d *schema.ResourceData, m interface{}) error {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
|
||||
project := d.Get("project").(string)
|
||||
repository := d.Get("repository").(string)
|
||||
@@ -184,7 +185,7 @@ func resourceRepositoryWebhookRead(d *schema.ResourceData, m interface{}) error
|
||||
}
|
||||
|
||||
func resourceRepositoryWebhookDelete(d *schema.ResourceData, m interface{}) error {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
_, err := client.Delete(fmt.Sprintf("/rest/api/1.0/projects/%s/repos/%s/webhooks/%d",
|
||||
d.Get("project").(string),
|
||||
d.Get("repository").(string),
|
||||
@@ -214,7 +215,7 @@ func getRepositoryWebhookFromId(d *schema.ResourceData, m interface{}) error {
|
||||
repository := d.Get("repository").(string)
|
||||
id := d.Get("webhook_id").(int)
|
||||
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
|
||||
resp, err := client.Get(fmt.Sprintf("/rest/api/1.0/projects/%s/repos/%s/webhooks/%d",
|
||||
project,
|
||||
@@ -250,7 +251,7 @@ func getRepositoryWebhookFromList(d *schema.ResourceData, m interface{}) error {
|
||||
repository := d.Get("repository").(string)
|
||||
name := d.Get("name").(string)
|
||||
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
|
||||
resp, err := client.Get(fmt.Sprintf("/rest/api/1.0/projects/%s/repos/%s/webhooks",
|
||||
project,
|
||||
|
||||
@@ -6,7 +6,7 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/hashicorp/terraform/helper/resource"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
|
||||
)
|
||||
|
||||
func TestAccBitbucketResourceRepositoryWebhook_simple(t *testing.T) {
|
||||
@@ -33,8 +33,8 @@ func TestAccBitbucketResourceRepositoryWebhook_simple(t *testing.T) {
|
||||
}
|
||||
`, projectKey, projectKey)
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
ProtoV6ProviderFactories: ProviderFactories,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: config,
|
||||
@@ -83,8 +83,8 @@ func TestAccBitbucketResourceRepositoryWebhook_complete(t *testing.T) {
|
||||
|
||||
// Create resource
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
ProtoV6ProviderFactories: ProviderFactories,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: config,
|
||||
|
||||
@@ -4,13 +4,14 @@ import (
|
||||
"bytes"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
bitbucketTypes "github.com/xvlcwk-terraform/terraform-provider-bitbucketserver/bitbucket/util/types"
|
||||
"io/ioutil"
|
||||
"math/rand"
|
||||
"net/url"
|
||||
"time"
|
||||
|
||||
"github.com/hashicorp/terraform/helper/schema"
|
||||
"github.com/hashicorp/terraform/helper/validation"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation"
|
||||
)
|
||||
|
||||
type User struct {
|
||||
@@ -106,7 +107,7 @@ func newUserUpdateFromResource(d *schema.ResourceData) *UserUpdate {
|
||||
}
|
||||
|
||||
func resourceUserUpdate(d *schema.ResourceData, m interface{}) error {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
user := newUserUpdateFromResource(d)
|
||||
|
||||
bytedata, err := json.Marshal(user)
|
||||
@@ -125,7 +126,7 @@ func resourceUserUpdate(d *schema.ResourceData, m interface{}) error {
|
||||
}
|
||||
|
||||
func resourceUserCreate(d *schema.ResourceData, m interface{}) error {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
user := newUserFromResource(d)
|
||||
|
||||
passwordLength := d.Get("password_length").(int)
|
||||
@@ -156,7 +157,7 @@ func resourceUserRead(d *schema.ResourceData, m interface{}) error {
|
||||
|
||||
name := d.Get("name").(string)
|
||||
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
req, err := client.Get(fmt.Sprintf("/rest/api/1.0/users/%s",
|
||||
url.PathEscape(name),
|
||||
))
|
||||
@@ -197,7 +198,7 @@ func resourceUserExists(d *schema.ResourceData, m interface{}) (bool, error) {
|
||||
name = d.Get("name").(string)
|
||||
}
|
||||
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
req, err := client.Get(fmt.Sprintf("/rest/api/1.0/users/%s",
|
||||
url.PathEscape(name),
|
||||
))
|
||||
@@ -215,7 +216,7 @@ func resourceUserExists(d *schema.ResourceData, m interface{}) (bool, error) {
|
||||
|
||||
func resourceUserDelete(d *schema.ResourceData, m interface{}) error {
|
||||
name := d.Get("name").(string)
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
_, err := client.Delete(fmt.Sprintf("/rest/api/1.0/admin/users?name=%s",
|
||||
url.QueryEscape(name),
|
||||
))
|
||||
|
||||
@@ -4,7 +4,8 @@ import (
|
||||
"bytes"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"github.com/hashicorp/terraform/helper/schema"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
|
||||
bitbucketTypes "github.com/xvlcwk-terraform/terraform-provider-bitbucketserver/bitbucket/util/types"
|
||||
"io/ioutil"
|
||||
)
|
||||
|
||||
@@ -66,7 +67,7 @@ func resourceUserAccessToken() *schema.Resource {
|
||||
}
|
||||
|
||||
func resourceUserAccessTokenCreate(d *schema.ResourceData, m interface{}) error {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
|
||||
accessTokenRequest := &AccessTokenRequest{
|
||||
Name: d.Get("name").(string),
|
||||
@@ -105,7 +106,7 @@ func resourceUserAccessTokenCreate(d *schema.ResourceData, m interface{}) error
|
||||
}
|
||||
|
||||
func resourceUserAccessTokenUpdate(d *schema.ResourceData, m interface{}) error {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
accessTokenRequest := &AccessTokenRequest{
|
||||
Name: d.Get("name").(string),
|
||||
Permissions: d.Get("permissions").([]interface{}),
|
||||
@@ -130,7 +131,7 @@ func resourceUserAccessTokenUpdate(d *schema.ResourceData, m interface{}) error
|
||||
|
||||
func resourceUserAccessTokenRead(d *schema.ResourceData, m interface{}) error {
|
||||
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
res, err := client.Get(fmt.Sprintf("/rest/access-tokens/1.0/users/%s/%s",
|
||||
d.Get("user").(string),
|
||||
d.Id(),
|
||||
@@ -160,7 +161,7 @@ func resourceUserAccessTokenRead(d *schema.ResourceData, m interface{}) error {
|
||||
}
|
||||
|
||||
func resourceUserAccessTokenExists(d *schema.ResourceData, m interface{}) (bool, error) {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
req, err := client.Get(fmt.Sprintf("/rest/access-tokens/1.0/users/%s/%s",
|
||||
d.Get("user").(string),
|
||||
d.Id(),
|
||||
@@ -178,7 +179,7 @@ func resourceUserAccessTokenExists(d *schema.ResourceData, m interface{}) (bool,
|
||||
}
|
||||
|
||||
func resourceUserAccessTokenDelete(d *schema.ResourceData, m interface{}) error {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
_, err := client.Delete(fmt.Sprintf("/rest/access-tokens/1.0/users/%s/%s",
|
||||
d.Get("user").(string),
|
||||
d.Id(),
|
||||
|
||||
@@ -2,8 +2,9 @@ package bitbucket
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/hashicorp/terraform/helper/resource"
|
||||
"github.com/hashicorp/terraform/terraform"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
|
||||
bitbucketTypes "github.com/xvlcwk-terraform/terraform-provider-bitbucketserver/bitbucket/util/types"
|
||||
"strings"
|
||||
"testing"
|
||||
)
|
||||
@@ -53,7 +54,7 @@ func TestAccBitbucketUserAccessToken(t *testing.T) {
|
||||
}
|
||||
|
||||
func testAccCheckBitbucketUserAccessTokenDestroy(s *terraform.State) error {
|
||||
client := testAccProvider.Meta().(*BitbucketServerProvider).BitbucketClient
|
||||
client := testAccProvider.Meta().(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
rs, ok := s.RootModule().Resources["bitbucketserver_user_access_token.test"]
|
||||
if !ok {
|
||||
return fmt.Errorf("not found %s", "bitbucketserver_user_access_token.test")
|
||||
|
||||
@@ -4,7 +4,8 @@ import (
|
||||
"bytes"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"github.com/hashicorp/terraform/helper/schema"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
|
||||
bitbucketTypes "github.com/xvlcwk-terraform/terraform-provider-bitbucketserver/bitbucket/util/types"
|
||||
"log"
|
||||
"strings"
|
||||
)
|
||||
@@ -48,7 +49,7 @@ func newUserGroupFromResource(d *schema.ResourceData) *UserGroup {
|
||||
}
|
||||
|
||||
func resourceUserGroupCreate(d *schema.ResourceData, m interface{}) error {
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
|
||||
type UserGroupRequest struct {
|
||||
User string `json:"user,omitempty"`
|
||||
@@ -113,7 +114,7 @@ func resourceUserGroupDelete(d *schema.ResourceData, m interface{}) error {
|
||||
|
||||
userGroup := newUserGroupFromResource(d)
|
||||
|
||||
client := m.(*BitbucketServerProvider).BitbucketClient
|
||||
client := m.(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
|
||||
type RemoveRequest struct {
|
||||
User string `json:"context,omitempty"`
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package bitbucket
|
||||
|
||||
import (
|
||||
"github.com/hashicorp/terraform/helper/resource"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
|
||||
"testing"
|
||||
)
|
||||
|
||||
@@ -19,8 +19,8 @@ func TestAccBitbucketResourceUserGroup_basic(t *testing.T) {
|
||||
}
|
||||
`
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
ProtoV6ProviderFactories: ProviderFactories,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: config,
|
||||
@@ -52,8 +52,8 @@ func TestAccBitbucketResourceUserGroup_new_group(t *testing.T) {
|
||||
`
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
ProtoV6ProviderFactories: ProviderFactories,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: config,
|
||||
|
||||
@@ -2,13 +2,14 @@ package bitbucket
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
bitbucketTypes "github.com/xvlcwk-terraform/terraform-provider-bitbucketserver/bitbucket/util/types"
|
||||
"math/rand"
|
||||
"strings"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/hashicorp/terraform/helper/resource"
|
||||
"github.com/hashicorp/terraform/terraform"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
|
||||
)
|
||||
|
||||
func TestAccBitbucketUser(t *testing.T) {
|
||||
@@ -51,7 +52,7 @@ func TestAccBitbucketUser(t *testing.T) {
|
||||
}
|
||||
|
||||
func testAccCheckBitbucketUserDestroy(s *terraform.State) error {
|
||||
client := testAccProvider.Meta().(*BitbucketServerProvider).BitbucketClient
|
||||
client := testAccProvider.Meta().(*bitbucketTypes.BitbucketServerProvider).BitbucketClient
|
||||
rs, ok := s.RootModule().Resources["bitbucketserver_user.test"]
|
||||
if !ok {
|
||||
return fmt.Errorf("not found %s", "bitbucketserver_user.test")
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package bitbucket
|
||||
package client
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
@@ -0,0 +1,11 @@
|
||||
package types
|
||||
|
||||
import (
|
||||
"github.com/xvlcwk-terraform/terraform-provider-bitbucketserver/bitbucket/marketplace"
|
||||
"github.com/xvlcwk-terraform/terraform-provider-bitbucketserver/bitbucket/util/client"
|
||||
)
|
||||
|
||||
type BitbucketServerProvider struct {
|
||||
BitbucketClient *client.BitbucketClient
|
||||
MarketplaceClient *marketplace.Client
|
||||
}
|
||||
Reference in New Issue
Block a user