Skip to content

Commit

Permalink
sdkv2 shim - apimanagement (#11864)
Browse files Browse the repository at this point in the history
  • Loading branch information
katbyte authored May 25, 2021
1 parent 46174df commit f989e9b
Show file tree
Hide file tree
Showing 85 changed files with 1,530 additions and 1,610 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,27 +5,27 @@ import (
"time"

"github.com/Azure/azure-sdk-for-go/services/apimanagement/mgmt/2020-12-01/apimanagement"
"github.com/hashicorp/terraform-plugin-sdk/helper/schema"
"github.com/hashicorp/terraform-plugin-sdk/helper/validation"
"github.com/terraform-providers/terraform-provider-azurerm/azurerm/helpers/azure"
"github.com/terraform-providers/terraform-provider-azurerm/azurerm/internal/clients"
"github.com/terraform-providers/terraform-provider-azurerm/azurerm/internal/services/apimanagement/schemaz"
"github.com/terraform-providers/terraform-provider-azurerm/azurerm/internal/services/apimanagement/validate"
"github.com/terraform-providers/terraform-provider-azurerm/azurerm/internal/tf/pluginsdk"
"github.com/terraform-providers/terraform-provider-azurerm/azurerm/internal/tf/validation"
"github.com/terraform-providers/terraform-provider-azurerm/azurerm/internal/timeouts"
"github.com/terraform-providers/terraform-provider-azurerm/azurerm/utils"
)

func dataSourceApiManagementApi() *schema.Resource {
return &schema.Resource{
func dataSourceApiManagementApi() *pluginsdk.Resource {
return &pluginsdk.Resource{
Read: dataSourceApiManagementApiRead,

Timeouts: &schema.ResourceTimeout{
Read: schema.DefaultTimeout(5 * time.Minute),
Timeouts: &pluginsdk.ResourceTimeout{
Read: pluginsdk.DefaultTimeout(5 * time.Minute),
},

Schema: map[string]*schema.Schema{
Schema: map[string]*pluginsdk.Schema{
"name": {
Type: schema.TypeString,
Type: pluginsdk.TypeString,
Required: true,
ValidateFunc: validate.ApiManagementApiName,
},
Expand All @@ -35,90 +35,90 @@ func dataSourceApiManagementApi() *schema.Resource {
"resource_group_name": azure.SchemaResourceGroupNameForDataSource(),

"revision": {
Type: schema.TypeString,
Type: pluginsdk.TypeString,
Required: true,
ValidateFunc: validation.StringIsNotEmpty,
},

"description": {
Type: schema.TypeString,
Type: pluginsdk.TypeString,
Computed: true,
},

"display_name": {
Type: schema.TypeString,
Type: pluginsdk.TypeString,
Computed: true,
},

"is_current": {
Type: schema.TypeBool,
Type: pluginsdk.TypeBool,
Computed: true,
},

"is_online": {
Type: schema.TypeBool,
Type: pluginsdk.TypeBool,
Computed: true,
},

"path": {
Type: schema.TypeString,
Type: pluginsdk.TypeString,
Computed: true,
},

"protocols": {
Type: schema.TypeList,
Type: pluginsdk.TypeList,
Computed: true,
Elem: &schema.Schema{
Type: schema.TypeString,
Elem: &pluginsdk.Schema{
Type: pluginsdk.TypeString,
},
},

"service_url": {
Type: schema.TypeString,
Type: pluginsdk.TypeString,
Computed: true,
},

"soap_pass_through": {
Type: schema.TypeBool,
Type: pluginsdk.TypeBool,
Computed: true,
},

"subscription_key_parameter_names": {
Type: schema.TypeList,
Type: pluginsdk.TypeList,
Computed: true,
Elem: &schema.Resource{
Schema: map[string]*schema.Schema{
Elem: &pluginsdk.Resource{
Schema: map[string]*pluginsdk.Schema{
"header": {
Type: schema.TypeString,
Type: pluginsdk.TypeString,
Computed: true,
},
"query": {
Type: schema.TypeString,
Type: pluginsdk.TypeString,
Computed: true,
},
},
},
},

"subscription_required": {
Type: schema.TypeBool,
Type: pluginsdk.TypeBool,
Computed: true,
},

"version": {
Type: schema.TypeString,
Type: pluginsdk.TypeString,
Computed: true,
},

"version_set_id": {
Type: schema.TypeString,
Type: pluginsdk.TypeString,
Computed: true,
},
},
}
}

func dataSourceApiManagementApiRead(d *schema.ResourceData, meta interface{}) error {
func dataSourceApiManagementApiRead(d *pluginsdk.ResourceData, meta interface{}) error {
client := meta.(*clients.Client).ApiManagement.ApiClient
ctx, cancel := timeouts.ForRead(meta.(*clients.Client).StopContext, d)
defer cancel()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import (
"fmt"
"testing"

"github.com/hashicorp/terraform-plugin-sdk/helper/resource"
"github.com/terraform-providers/terraform-provider-azurerm/azurerm/internal/acceptance"
"github.com/terraform-providers/terraform-provider-azurerm/azurerm/internal/acceptance/check"
)
Expand All @@ -16,10 +15,10 @@ func TestAccDataSourceAzureRMApiManagementApi_basic(t *testing.T) {
data := acceptance.BuildTestData(t, "data.azurerm_api_management_api", "test")
r := ApiManagementApiDataSourceResource{}

data.DataSourceTest(t, []resource.TestStep{
data.DataSourceTest(t, []acceptance.TestStep{
{
Config: r.basic(data),
Check: resource.ComposeTestCheckFunc(
Check: acceptance.ComposeTestCheckFunc(
check.That(data.ResourceName).Key("display_name").HasValue("api1"),
check.That(data.ResourceName).Key("path").HasValue("api1"),
check.That(data.ResourceName).Key("protocols.#").HasValue("1"),
Expand All @@ -37,10 +36,10 @@ func TestAccDataSourceAzureRMApiManagementApi_complete(t *testing.T) {
data := acceptance.BuildTestData(t, "data.azurerm_api_management_api", "test")
r := ApiManagementApiDataSourceResource{}

data.DataSourceTest(t, []resource.TestStep{
data.DataSourceTest(t, []acceptance.TestStep{
{
Config: r.complete(data),
Check: resource.ComposeTestCheckFunc(
Check: acceptance.ComposeTestCheckFunc(
check.That(data.ResourceName).Key("display_name").HasValue("Butter Parser"),
check.That(data.ResourceName).Key("path").HasValue("butter-parser"),
check.That(data.ResourceName).Key("protocols.#").HasValue("2"),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@ import (
"time"

"github.com/Azure/azure-sdk-for-go/services/apimanagement/mgmt/2020-12-01/apimanagement"
"github.com/hashicorp/terraform-plugin-sdk/helper/schema"
"github.com/hashicorp/terraform-plugin-sdk/helper/validation"
"github.com/terraform-providers/terraform-provider-azurerm/azurerm/helpers/azure"
"github.com/terraform-providers/terraform-provider-azurerm/azurerm/helpers/tf"
"github.com/terraform-providers/terraform-provider-azurerm/azurerm/internal/clients"
Expand All @@ -16,12 +14,13 @@ import (
"github.com/terraform-providers/terraform-provider-azurerm/azurerm/internal/services/apimanagement/validate"
"github.com/terraform-providers/terraform-provider-azurerm/azurerm/internal/tf/pluginsdk"
"github.com/terraform-providers/terraform-provider-azurerm/azurerm/internal/tf/set"
"github.com/terraform-providers/terraform-provider-azurerm/azurerm/internal/tf/validation"
"github.com/terraform-providers/terraform-provider-azurerm/azurerm/internal/timeouts"
"github.com/terraform-providers/terraform-provider-azurerm/azurerm/utils"
)

func resourceApiManagementApiDiagnostic() *schema.Resource {
return &schema.Resource{
func resourceApiManagementApiDiagnostic() *pluginsdk.Resource {
return &pluginsdk.Resource{
Create: resourceApiManagementApiDiagnosticCreateUpdate,
Read: resourceApiManagementApiDiagnosticRead,
Update: resourceApiManagementApiDiagnosticCreateUpdate,
Expand All @@ -32,16 +31,16 @@ func resourceApiManagementApiDiagnostic() *schema.Resource {
return err
}),

Timeouts: &schema.ResourceTimeout{
Create: schema.DefaultTimeout(30 * time.Minute),
Read: schema.DefaultTimeout(5 * time.Minute),
Update: schema.DefaultTimeout(30 * time.Minute),
Delete: schema.DefaultTimeout(30 * time.Minute),
Timeouts: &pluginsdk.ResourceTimeout{
Create: pluginsdk.DefaultTimeout(30 * time.Minute),
Read: pluginsdk.DefaultTimeout(5 * time.Minute),
Update: pluginsdk.DefaultTimeout(30 * time.Minute),
Delete: pluginsdk.DefaultTimeout(30 * time.Minute),
},

Schema: map[string]*schema.Schema{
Schema: map[string]*pluginsdk.Schema{
"identifier": {
Type: schema.TypeString,
Type: pluginsdk.TypeString,
Required: true,
ForceNew: true,
ValidateFunc: validation.StringInSlice([]string{
Expand All @@ -57,26 +56,26 @@ func resourceApiManagementApiDiagnostic() *schema.Resource {
"api_name": schemaz.SchemaApiManagementApiName(),

"api_management_logger_id": {
Type: schema.TypeString,
Type: pluginsdk.TypeString,
Required: true,
ValidateFunc: validate.LoggerID,
},

"sampling_percentage": {
Type: schema.TypeFloat,
Type: pluginsdk.TypeFloat,
Optional: true,
Computed: true,
ValidateFunc: validation.FloatBetween(0.0, 100.0),
},

"always_log_errors": {
Type: schema.TypeBool,
Type: pluginsdk.TypeBool,
Optional: true,
Computed: true,
},

"verbosity": {
Type: schema.TypeString,
Type: pluginsdk.TypeString,
Optional: true,
Computed: true,
ValidateFunc: validation.StringInSlice([]string{
Expand All @@ -87,13 +86,13 @@ func resourceApiManagementApiDiagnostic() *schema.Resource {
},

"log_client_ip": {
Type: schema.TypeBool,
Type: pluginsdk.TypeBool,
Optional: true,
Computed: true,
},

"http_correlation_protocol": {
Type: schema.TypeString,
Type: pluginsdk.TypeString,
Optional: true,
Computed: true,
ValidateFunc: validation.StringInSlice([]string{
Expand All @@ -114,34 +113,34 @@ func resourceApiManagementApiDiagnostic() *schema.Resource {
}
}

func resourceApiManagementApiDiagnosticAdditionalContentSchema() *schema.Schema {
func resourceApiManagementApiDiagnosticAdditionalContentSchema() *pluginsdk.Schema {
//lintignore:XS003
return &schema.Schema{
Type: schema.TypeList,
return &pluginsdk.Schema{
Type: pluginsdk.TypeList,
MaxItems: 1,
Optional: true,
Computed: true,
Elem: &schema.Resource{
Schema: map[string]*schema.Schema{
Elem: &pluginsdk.Resource{
Schema: map[string]*pluginsdk.Schema{
"body_bytes": {
Type: schema.TypeInt,
Type: pluginsdk.TypeInt,
Optional: true,
ValidateFunc: validation.IntBetween(0, 8192),
},
"headers_to_log": {
Type: schema.TypeSet,
Type: pluginsdk.TypeSet,
Optional: true,
Elem: &schema.Schema{
Type: schema.TypeString,
Elem: &pluginsdk.Schema{
Type: pluginsdk.TypeString,
},
Set: schema.HashString,
Set: pluginsdk.HashString,
},
},
},
}
}

func resourceApiManagementApiDiagnosticCreateUpdate(d *schema.ResourceData, meta interface{}) error {
func resourceApiManagementApiDiagnosticCreateUpdate(d *pluginsdk.ResourceData, meta interface{}) error {
client := meta.(*clients.Client).ApiManagement.ApiDiagnosticClient
ctx, cancel := timeouts.ForCreateUpdate(meta.(*clients.Client).StopContext, d)
defer cancel()
Expand Down Expand Up @@ -235,7 +234,7 @@ func resourceApiManagementApiDiagnosticCreateUpdate(d *schema.ResourceData, meta
return resourceApiManagementApiDiagnosticRead(d, meta)
}

func resourceApiManagementApiDiagnosticRead(d *schema.ResourceData, meta interface{}) error {
func resourceApiManagementApiDiagnosticRead(d *pluginsdk.ResourceData, meta interface{}) error {
client := meta.(*clients.Client).ApiManagement.ApiDiagnosticClient
ctx, cancel := timeouts.ForRead(meta.(*clients.Client).StopContext, d)
defer cancel()
Expand Down Expand Up @@ -288,7 +287,7 @@ func resourceApiManagementApiDiagnosticRead(d *schema.ResourceData, meta interfa
return nil
}

func resourceApiManagementApiDiagnosticDelete(d *schema.ResourceData, meta interface{}) error {
func resourceApiManagementApiDiagnosticDelete(d *pluginsdk.ResourceData, meta interface{}) error {
client := meta.(*clients.Client).ApiManagement.ApiDiagnosticClient
ctx, cancel := timeouts.ForDelete(meta.(*clients.Client).StopContext, d)
defer cancel()
Expand Down Expand Up @@ -322,7 +321,7 @@ func expandApiManagementApiDiagnosticHTTPMessageDiagnostic(input []interface{})
result.Body.Bytes = utils.Int32(int32(bodyBytes.(int)))
}
if headersSetRaw, ok := v["headers_to_log"]; ok {
headersSet := headersSetRaw.(*schema.Set).List()
headersSet := headersSetRaw.(*pluginsdk.Set).List()
headers := []string{}
for _, header := range headersSet {
headers = append(headers, header.(string))
Expand Down
Loading

0 comments on commit f989e9b

Please sign in to comment.