Skip to content

Commit

Permalink
Merge pull request #22647 from hashicorp/auto-pr/f6ff5473e
Browse files Browse the repository at this point in the history
Auto PR: Regenerating based on (c5fafec)
  • Loading branch information
tombuildsstuff authored Jul 24, 2023
2 parents 7d61f65 + c5fafec commit efe5416
Show file tree
Hide file tree
Showing 262 changed files with 13,216 additions and 0 deletions.
7 changes: 7 additions & 0 deletions internal/services/containers/client/client_gen.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,13 @@ package client
import (
"github.com/Azure/go-autorest/autorest"
containerserviceV20220902Preview "github.com/hashicorp/go-azure-sdk/resource-manager/containerservice/2022-09-02-preview"
containerserviceV20230302Preview "github.com/hashicorp/go-azure-sdk/resource-manager/containerservice/2023-03-02-preview"
"github.com/hashicorp/terraform-provider-azurerm/internal/common"
)

type AutoClient struct {
V20220902Preview containerserviceV20220902Preview.Client
V20230302Preview containerserviceV20230302Preview.Client
}

func NewClient(o *common.ClientOptions) (*AutoClient, error) {
Expand All @@ -16,7 +18,12 @@ func NewClient(o *common.ClientOptions) (*AutoClient, error) {
c.Authorizer = o.ResourceManagerAuthorizer
})

v20230302PreviewClient := containerserviceV20230302Preview.NewClientWithBaseURI(o.ResourceManagerEndpoint, func(c *autorest.Client) {
c.Authorizer = o.ResourceManagerAuthorizer
})

return &AutoClient{
V20220902Preview: v20220902PreviewClient,
V20230302Preview: v20230302PreviewClient,
}, nil
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,244 @@
package containers

// NOTE: this file is generated - manual changes will be overwritten.
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See NOTICE.txt in the project root for license information.
import (
"context"
"fmt"
"time"

"github.com/hashicorp/go-azure-helpers/lang/response"
"github.com/hashicorp/go-azure-helpers/resourcemanager/commonids"
"github.com/hashicorp/go-azure-sdk/resource-manager/containerservice/2023-03-02-preview/trustedaccess"
"github.com/hashicorp/terraform-provider-azurerm/internal/sdk"
"github.com/hashicorp/terraform-provider-azurerm/internal/tf/pluginsdk"
)

var _ sdk.Resource = KubernetesClusterTrustedAccessRoleBindingResource{}
var _ sdk.ResourceWithUpdate = KubernetesClusterTrustedAccessRoleBindingResource{}

type KubernetesClusterTrustedAccessRoleBindingResource struct{}

func (r KubernetesClusterTrustedAccessRoleBindingResource) ModelObject() interface{} {
return &KubernetesClusterTrustedAccessRoleBindingResourceSchema{}
}

type KubernetesClusterTrustedAccessRoleBindingResourceSchema struct {
KubernetesClusterId string `tfschema:"kubernetes_cluster_id"`
Name string `tfschema:"name"`
Roles []string `tfschema:"roles"`
SourceResourceId string `tfschema:"source_resource_id"`
}

func (r KubernetesClusterTrustedAccessRoleBindingResource) IDValidationFunc() pluginsdk.SchemaValidateFunc {
return trustedaccess.ValidateTrustedAccessRoleBindingID
}
func (r KubernetesClusterTrustedAccessRoleBindingResource) ResourceType() string {
return "azurerm_kubernetes_cluster_trusted_access_role_binding"
}
func (r KubernetesClusterTrustedAccessRoleBindingResource) Arguments() map[string]*pluginsdk.Schema {
return map[string]*pluginsdk.Schema{
"kubernetes_cluster_id": {
ForceNew: true,
Required: true,
Type: pluginsdk.TypeString,
},
"name": {
ForceNew: true,
Required: true,
Type: pluginsdk.TypeString,
},
"roles": {
Elem: &pluginsdk.Schema{
Type: pluginsdk.TypeString,
},
Required: true,
Type: pluginsdk.TypeList,
},
"source_resource_id": {
ForceNew: true,
Required: true,
Type: pluginsdk.TypeString,
},
}
}
func (r KubernetesClusterTrustedAccessRoleBindingResource) Attributes() map[string]*pluginsdk.Schema {
return map[string]*pluginsdk.Schema{}
}
func (r KubernetesClusterTrustedAccessRoleBindingResource) Create() sdk.ResourceFunc {
return sdk.ResourceFunc{
Timeout: 30 * time.Minute,
Func: func(ctx context.Context, metadata sdk.ResourceMetaData) error {
client := metadata.Client.ContainerService.V20230302Preview.TrustedAccess

var config KubernetesClusterTrustedAccessRoleBindingResourceSchema
if err := metadata.Decode(&config); err != nil {
return fmt.Errorf("decoding: %+v", err)
}

subscriptionId := metadata.Client.Account.SubscriptionId

kubernetesClusterId, err := commonids.ParseKubernetesClusterID(config.KubernetesClusterId)
if err != nil {
return err
}

id := trustedaccess.NewTrustedAccessRoleBindingID(subscriptionId, kubernetesClusterId.ResourceGroupName, kubernetesClusterId.ManagedClusterName, config.Name)

existing, err := client.RoleBindingsGet(ctx, id)
if err != nil {
if !response.WasNotFound(existing.HttpResponse) {
return fmt.Errorf("checking for the presence of an existing %s: %+v", id, err)
}
}
if !response.WasNotFound(existing.HttpResponse) {
return metadata.ResourceRequiresImport(r.ResourceType(), id)
}

var payload trustedaccess.TrustedAccessRoleBinding
if err := r.mapKubernetesClusterTrustedAccessRoleBindingResourceSchemaToTrustedAccessRoleBinding(config, &payload); err != nil {
return fmt.Errorf("mapping schema model to sdk model: %+v", err)
}

if _, err := client.RoleBindingsCreateOrUpdate(ctx, id, payload); err != nil {
return fmt.Errorf("creating %s: %+v", id, err)
}

metadata.SetID(id)
return nil
},
}
}
func (r KubernetesClusterTrustedAccessRoleBindingResource) Read() sdk.ResourceFunc {
return sdk.ResourceFunc{
Timeout: 5 * time.Minute,
Func: func(ctx context.Context, metadata sdk.ResourceMetaData) error {
client := metadata.Client.ContainerService.V20230302Preview.TrustedAccess
schema := KubernetesClusterTrustedAccessRoleBindingResourceSchema{}

id, err := trustedaccess.ParseTrustedAccessRoleBindingID(metadata.ResourceData.Id())
if err != nil {
return err
}

kubernetesClusterId := commonids.NewKubernetesClusterID(id.SubscriptionId, id.ResourceGroupName, id.ManagedClusterName)

resp, err := client.RoleBindingsGet(ctx, *id)
if err != nil {
if response.WasNotFound(resp.HttpResponse) {
return metadata.MarkAsGone(*id)
}
return fmt.Errorf("retrieving %s: %+v", *id, err)
}

if model := resp.Model; model != nil {
schema.KubernetesClusterId = kubernetesClusterId.ID()
schema.Name = id.TrustedAccessRoleBindingName
if err := r.mapTrustedAccessRoleBindingToKubernetesClusterTrustedAccessRoleBindingResourceSchema(*model, &schema); err != nil {
return fmt.Errorf("flattening model: %+v", err)
}
}

return metadata.Encode(&schema)
},
}
}
func (r KubernetesClusterTrustedAccessRoleBindingResource) Delete() sdk.ResourceFunc {
return sdk.ResourceFunc{
Timeout: 30 * time.Minute,
Func: func(ctx context.Context, metadata sdk.ResourceMetaData) error {
client := metadata.Client.ContainerService.V20230302Preview.TrustedAccess

id, err := trustedaccess.ParseTrustedAccessRoleBindingID(metadata.ResourceData.Id())
if err != nil {
return err
}

if _, err := client.RoleBindingsDelete(ctx, *id); err != nil {
return fmt.Errorf("deleting %s: %+v", *id, err)
}

return nil
},
}
}
func (r KubernetesClusterTrustedAccessRoleBindingResource) Update() sdk.ResourceFunc {
return sdk.ResourceFunc{
Timeout: 30 * time.Minute,
Func: func(ctx context.Context, metadata sdk.ResourceMetaData) error {
client := metadata.Client.ContainerService.V20230302Preview.TrustedAccess

id, err := trustedaccess.ParseTrustedAccessRoleBindingID(metadata.ResourceData.Id())
if err != nil {
return err
}

var config KubernetesClusterTrustedAccessRoleBindingResourceSchema
if err := metadata.Decode(&config); err != nil {
return fmt.Errorf("decoding: %+v", err)
}

existing, err := client.RoleBindingsGet(ctx, *id)
if err != nil {
return fmt.Errorf("retrieving existing %s: %+v", *id, err)
}
if existing.Model == nil {
return fmt.Errorf("retrieving existing %s: properties was nil", *id)
}
payload := *existing.Model

if err := r.mapKubernetesClusterTrustedAccessRoleBindingResourceSchemaToTrustedAccessRoleBinding(config, &payload); err != nil {
return fmt.Errorf("mapping schema model to sdk model: %+v", err)
}

if _, err := client.RoleBindingsCreateOrUpdate(ctx, *id, payload); err != nil {
return fmt.Errorf("updating %s: %+v", *id, err)
}

return nil
},
}
}

func (r KubernetesClusterTrustedAccessRoleBindingResource) mapKubernetesClusterTrustedAccessRoleBindingResourceSchemaToTrustedAccessRoleBindingProperties(input KubernetesClusterTrustedAccessRoleBindingResourceSchema, output *trustedaccess.TrustedAccessRoleBindingProperties) error {

roles := make([]string, 0)
for _, v := range input.Roles {
roles = append(roles, v)
}
output.Roles = roles

output.SourceResourceId = input.SourceResourceId
return nil
}

func (r KubernetesClusterTrustedAccessRoleBindingResource) mapTrustedAccessRoleBindingPropertiesToKubernetesClusterTrustedAccessRoleBindingResourceSchema(input trustedaccess.TrustedAccessRoleBindingProperties, output *KubernetesClusterTrustedAccessRoleBindingResourceSchema) error {

roles := make([]string, 0)
for _, v := range input.Roles {
roles = append(roles, v)
}
output.Roles = roles

output.SourceResourceId = input.SourceResourceId
return nil
}

func (r KubernetesClusterTrustedAccessRoleBindingResource) mapKubernetesClusterTrustedAccessRoleBindingResourceSchemaToTrustedAccessRoleBinding(input KubernetesClusterTrustedAccessRoleBindingResourceSchema, output *trustedaccess.TrustedAccessRoleBinding) error {

if err := r.mapKubernetesClusterTrustedAccessRoleBindingResourceSchemaToTrustedAccessRoleBindingProperties(input, &output.Properties); err != nil {
return fmt.Errorf("mapping Schema to SDK Field %q / Model %q: %+v", "TrustedAccessRoleBindingProperties", "Properties", err)
}

return nil
}

func (r KubernetesClusterTrustedAccessRoleBindingResource) mapTrustedAccessRoleBindingToKubernetesClusterTrustedAccessRoleBindingResourceSchema(input trustedaccess.TrustedAccessRoleBinding, output *KubernetesClusterTrustedAccessRoleBindingResourceSchema) error {

if err := r.mapTrustedAccessRoleBindingPropertiesToKubernetesClusterTrustedAccessRoleBindingResourceSchema(input.Properties, output); err != nil {
return fmt.Errorf("mapping SDK Field %q / Model %q to Schema: %+v", "TrustedAccessRoleBindingProperties", "Properties", err)
}

return nil
}
Loading

0 comments on commit efe5416

Please sign in to comment.