feat: Introduce muxing for new elements

This commit is contained in:
xvlcwk
2024-02-05 00:19:08 +01:00
committed by chris
parent 81c08dd5a7
commit ce6854b8b6
84 changed files with 912 additions and 790 deletions
+11 -24
View File
@@ -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