Skip to content

Commit

Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
PR #147: fix machine user role and resource role asignment
Browse files Browse the repository at this point in the history
ueisele committed Jul 29, 2024
1 parent ba8c94f commit 8b58aa1
Showing 2 changed files with 24 additions and 4 deletions.
14 changes: 12 additions & 2 deletions resources/iam/resource_machine_user_resource_role_assignment.go
Original file line number Diff line number Diff line change
@@ -12,6 +12,7 @@ package iam

import (
"context"
"github.com/hashicorp/terraform-plugin-framework/types"

"github.com/hashicorp/terraform-plugin-log/tflog"

@@ -41,6 +42,10 @@ func (r *machineUserResourceRoleAssignmentResource) Metadata(_ context.Context,
resp.TypeName = req.ProviderTypeName + "_iam_machine_user_resource_role_assignment"
}

func (r *machineUserResourceRoleAssignmentResource) Configure(_ context.Context, req resource.ConfigureRequest, resp *resource.ConfigureResponse) {
r.client = utils.GetCdpClientForResource(req, resp)
}

func (r *machineUserResourceRoleAssignmentResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) {
var data machineUserResourceRoleAssignmentResourceModel

@@ -57,13 +62,18 @@ func (r *machineUserResourceRoleAssignmentResource) Create(ctx context.Context,
ResourceRoleCrn: data.ResourceRoleCrn.ValueStringPointer(),
})

_, err := r.client.Iam.Operations.AssignMachineUserResourceRole(request) // void method, does not have any return value
responseOk, err := r.client.Iam.Operations.AssignMachineUserResourceRole(request)
if err != nil {
utils.AddIamDiagnosticsError(err, &resp.Diagnostics, "assign Machine User Resource Role")
return
}

resp.Diagnostics.Append(resp.State.Set(ctx, &data)...)
if responseOk.Payload != nil {
data.Id = types.StringValue(data.MachineUser.ValueString() + "_" + data.ResourceRoleCrn.ValueString())

// Save data into Terraform state
resp.Diagnostics.Append(resp.State.Set(ctx, &data)...)
}
}

func (r *machineUserResourceRoleAssignmentResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) {
14 changes: 12 additions & 2 deletions resources/iam/resource_machine_user_role_assignment.go
Original file line number Diff line number Diff line change
@@ -12,6 +12,7 @@ package iam

import (
"context"
"github.com/hashicorp/terraform-plugin-framework/types"

"github.com/hashicorp/terraform-plugin-log/tflog"

@@ -41,6 +42,10 @@ func (r *machineUserRoleAssignmentResource) Metadata(_ context.Context, req reso
resp.TypeName = req.ProviderTypeName + "_iam_machine_user_role_assignment"
}

func (r *machineUserRoleAssignmentResource) Configure(_ context.Context, req resource.ConfigureRequest, resp *resource.ConfigureResponse) {
r.client = utils.GetCdpClientForResource(req, resp)
}

func (r *machineUserRoleAssignmentResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) {
var data machineUserRoleAssignmentResourceModel

@@ -56,13 +61,18 @@ func (r *machineUserRoleAssignmentResource) Create(ctx context.Context, req reso
Role: data.Role.ValueStringPointer(),
})

_, err := r.client.Iam.Operations.AssignMachineUserRole(request) // void method, does not have any return value
responseOk, err := r.client.Iam.Operations.AssignMachineUserRole(request)
if err != nil {
utils.AddIamDiagnosticsError(err, &resp.Diagnostics, "assign Machine User Role")
return
}

resp.Diagnostics.Append(resp.State.Set(ctx, &data)...)
if responseOk.Payload != nil {
data.Id = types.StringValue(data.MachineUser.ValueString() + "_" + data.Role.ValueString())

// Save data into Terraform state
resp.Diagnostics.Append(resp.State.Set(ctx, &data)...)
}
}

func (r *machineUserRoleAssignmentResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) {

0 comments on commit 8b58aa1

Please sign in to comment.