Skip to content

Commit 7e0045f

Browse files
Adds google_apigee_developer_app resource and enhance google_apigee_api_product scopes to be order-insensitive (#15336) (#10851)
[upstream:b6c16709ec801b552d56cf69ede46fe304d27d55] Signed-off-by: Modular Magician <[email protected]>
1 parent 801fff2 commit 7e0045f

9 files changed

+1772
-4
lines changed

.changelog/15336.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
```release-note:new-resource
2+
`google_apigee_developer_app`
3+
```
4+
5+
```release-note: enhancement
6+
apigee: updated the `scopes` argument in `google_apigee_api_product` resource to be order-insensitive.
7+
```

google-beta/provider/provider_mmv1_resources.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -616,9 +616,9 @@ var handwrittenIAMDatasources = map[string]*schema.Resource{
616616
}
617617

618618
// Resources
619-
// Generated resources: 715
619+
// Generated resources: 716
620620
// Generated IAM resources: 348
621-
// Total generated resources: 1063
621+
// Total generated resources: 1064
622622
var generatedResources = map[string]*schema.Resource{
623623
"google_folder_access_approval_settings": accessapproval.ResourceAccessApprovalFolderSettings(),
624624
"google_organization_access_approval_settings": accessapproval.ResourceAccessApprovalOrganizationSettings(),
@@ -667,6 +667,7 @@ var generatedResources = map[string]*schema.Resource{
667667
"google_apigee_app_group": apigee.ResourceApigeeAppGroup(),
668668
"google_apigee_control_plane_access": apigee.ResourceApigeeControlPlaneAccess(),
669669
"google_apigee_developer": apigee.ResourceApigeeDeveloper(),
670+
"google_apigee_developer_app": apigee.ResourceApigeeDeveloperApp(),
670671
"google_apigee_dns_zone": apigee.ResourceApigeeDnsZone(),
671672
"google_apigee_endpoint_attachment": apigee.ResourceApigeeEndpointAttachment(),
672673
"google_apigee_env_keystore": apigee.ResourceApigeeEnvKeystore(),

google-beta/services/apigee/resource_apigee_api_product.go

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ import (
2424
"log"
2525
"net/http"
2626
"reflect"
27+
"slices"
28+
"sort"
2729
"strings"
2830
"time"
2931

@@ -1051,7 +1053,30 @@ func flattenApigeeApiProductProxies(v interface{}, d *schema.ResourceData, confi
10511053
}
10521054

10531055
func flattenApigeeApiProductScopes(v interface{}, d *schema.ResourceData, config *transport_tpg.Config) interface{} {
1054-
return v
1056+
rawConfigValue := d.Get("scopes")
1057+
// Convert config value to []string
1058+
configValue, err := tpgresource.InterfaceSliceToStringSlice(rawConfigValue)
1059+
if err != nil {
1060+
log.Printf("[ERROR] Failed to convert config value: %s", err)
1061+
return v
1062+
}
1063+
sortedConfigValue := append([]string{}, configValue...)
1064+
sort.Strings(sortedConfigValue)
1065+
1066+
// Convert v to []string
1067+
apiValue, err := tpgresource.InterfaceSliceToStringSlice(v)
1068+
if err != nil {
1069+
log.Printf("[ERROR] Failed to convert API value: %s", err)
1070+
return v
1071+
}
1072+
sortedApiValue := append([]string{}, apiValue...)
1073+
sort.Strings(sortedApiValue)
1074+
1075+
if slices.Equal(sortedApiValue, sortedConfigValue) {
1076+
return configValue
1077+
}
1078+
1079+
return apiValue
10551080
}
10561081

10571082
func flattenApigeeApiProductQuota(v interface{}, d *schema.ResourceData, config *transport_tpg.Config) interface{} {

0 commit comments

Comments
 (0)