Skip to content

Commit

Permalink
Enhance - all machine learning resource - bump API to v2022-05-01 (#…
Browse files Browse the repository at this point in the history
…18279)

Co-authored-by: xuzhang3 <Zhangxu894765>
  • Loading branch information
xuzhang3 authored Sep 27, 2022
1 parent 0bf199f commit 2f542bb
Show file tree
Hide file tree
Showing 161 changed files with 7,028 additions and 10,809 deletions.
11 changes: 6 additions & 5 deletions internal/services/machinelearning/client/client.go
Original file line number Diff line number Diff line change
@@ -1,20 +1,21 @@
package client

import (
"github.com/Azure/azure-sdk-for-go/services/machinelearningservices/mgmt/2021-07-01/machinelearningservices"
"github.com/hashicorp/go-azure-sdk/resource-manager/machinelearningservices/2022-05-01/machinelearningcomputes"
"github.com/hashicorp/go-azure-sdk/resource-manager/machinelearningservices/2022-05-01/workspaces"
"github.com/hashicorp/terraform-provider-azurerm/internal/common"
)

type Client struct {
ComputeClient *machinelearningservices.ComputeClient
WorkspacesClient *machinelearningservices.WorkspacesClient
ComputeClient *machinelearningcomputes.MachineLearningComputesClient
WorkspacesClient *workspaces.WorkspacesClient
}

func NewClient(o *common.ClientOptions) *Client {
ComputeClient := machinelearningservices.NewComputeClientWithBaseURI(o.ResourceManagerEndpoint, o.SubscriptionId)
ComputeClient := machinelearningcomputes.NewMachineLearningComputesClientWithBaseURI(o.ResourceManagerEndpoint)
o.ConfigureClient(&ComputeClient.Client, o.ResourceManagerAuthorizer)

WorkspacesClient := machinelearningservices.NewWorkspacesClientWithBaseURI(o.ResourceManagerEndpoint, o.SubscriptionId)
WorkspacesClient := workspaces.NewWorkspacesClientWithBaseURI(o.ResourceManagerEndpoint)
o.ConfigureClient(&WorkspacesClient.Client, o.ResourceManagerAuthorizer)

return &Client{
Expand Down
57 changes: 22 additions & 35 deletions internal/services/machinelearning/identity.go
Original file line number Diff line number Diff line change
@@ -1,24 +1,18 @@
package machinelearning

import (
"github.com/Azure/azure-sdk-for-go/services/machinelearningservices/mgmt/2021-07-01/machinelearningservices"
"github.com/hashicorp/go-azure-helpers/resourcemanager/identity"
"github.com/hashicorp/terraform-provider-azurerm/utils"
)

func expandIdentity(input []interface{}) (*machinelearningservices.Identity, error) {
func expandIdentity(input []interface{}) (*identity.LegacySystemAndUserAssignedMap, error) {
expanded, err := identity.ExpandSystemAndUserAssignedMap(input)
if err != nil {
return nil, err
}

out := machinelearningservices.Identity{
Type: machinelearningservices.ResourceIdentityType(string(expanded.Type)),
}

// work around the Swagger defining `SystemAssigned,UserAssigned` rather than `SystemAssigned, UserAssigned`
if expanded.Type == identity.TypeSystemAssignedUserAssigned {
out.Type = machinelearningservices.ResourceIdentityTypeSystemAssignedUserAssigned
out := identity.LegacySystemAndUserAssignedMap{
Type: expanded.Type,
}

// 'Failed to perform resource identity operation. Status: 'BadRequest'. Response:
Expand All @@ -27,52 +21,45 @@ func expandIdentity(input []interface{}) (*machinelearningservices.Identity, err
// }}
// Upstream issue: https://github.com/Azure/azure-rest-api-specs/issues/17650
if len(expanded.IdentityIds) > 0 {
userAssignedIdentities := make(map[string]*machinelearningservices.UserAssignedIdentity)
userAssignedIdentities := make(map[string]identity.UserAssignedIdentityDetails)
for id := range expanded.IdentityIds {
userAssignedIdentities[id] = &machinelearningservices.UserAssignedIdentity{}
userAssignedIdentities[id] = identity.UserAssignedIdentityDetails{}
}
out.UserAssignedIdentities = userAssignedIdentities
out.IdentityIds = userAssignedIdentities
}

return &out, nil
}

func flattenIdentity(input *machinelearningservices.Identity) (*[]interface{}, error) {
func flattenIdentity(input *identity.LegacySystemAndUserAssignedMap) (*[]interface{}, error) {
var config *identity.SystemAndUserAssignedMap

if input != nil {
config = &identity.SystemAndUserAssignedMap{
Type: identity.Type(string(input.Type)),
Type: input.Type,
IdentityIds: nil,
}

// work around the Swagger defining `SystemAssigned,UserAssigned` rather than `SystemAssigned, UserAssigned`
if input.Type == machinelearningservices.ResourceIdentityTypeSystemAssignedUserAssigned {
config.Type = identity.TypeSystemAssignedUserAssigned
}

if input.PrincipalID != nil {
config.PrincipalId = *input.PrincipalID
if input.PrincipalId != "" {
config.PrincipalId = input.PrincipalId
}
if input.TenantID != nil {
config.TenantId = *input.TenantID
if input.TenantId != "nil" {
config.TenantId = input.TenantId
}
identityIds := make(map[string]identity.UserAssignedIdentityDetails)
for k, v := range input.UserAssignedIdentities {
if v == nil {
continue
}
if input.IdentityIds != nil {
for k, v := range input.IdentityIds {
details := identity.UserAssignedIdentityDetails{}

details := identity.UserAssignedIdentityDetails{}
if v.ClientId != nil {
details.ClientId = utils.String(*v.ClientId)
}
if v.PrincipalId != nil {
details.PrincipalId = utils.String(*v.PrincipalId)
}

if v.ClientID != nil {
details.ClientId = utils.String(*v.ClientID)
}
if v.PrincipalID != nil {
details.PrincipalId = utils.String(*v.PrincipalID)
identityIds[k] = details
}

identityIds[k] = details
}

config.IdentityIds = identityIds
Expand Down
Loading

0 comments on commit 2f542bb

Please sign in to comment.