Skip to content

Commit 26a0840

Browse files
authored
Pass clickhouse_clickpipe.destination.roles to API call (#319)
1 parent 011c5ad commit 26a0840

File tree

3 files changed

+11
-0
lines changed

3 files changed

+11
-0
lines changed

examples/clickpipe/kafka_msk_iam_role/main.tf

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,8 @@ resource "clickhouse_clickpipe" "kafka_msk" {
6161
type = "UInt64"
6262
}
6363
]
64+
65+
roles = ["custom_role_1", "custom_role_2"]
6466
}
6567

6668
field_mappings = [

pkg/internal/api/clickpipe_models.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,7 @@ type ClickPipeDestination struct {
115115
ManagedTable bool `json:"managedTable"`
116116
TableDefinition *ClickPipeDestinationTableDefinition `json:"tableDefinition,omitempty"`
117117
Columns []ClickPipeDestinationColumn `json:"columns"`
118+
Roles []string `json:"roles,omitempty"`
118119
}
119120

120121
type ClickPipeDestinationUpdate struct {

pkg/resource/clickpipe.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -675,11 +675,19 @@ func (c *ClickPipeResource) Create(ctx context.Context, request resource.CreateR
675675
destinationColumnsModels := make([]models.ClickPipeDestinationColumnModel, len(destinationModel.Columns.Elements()))
676676
response.Diagnostics.Append(destinationModel.Columns.ElementsAs(ctx, &destinationColumnsModels, false)...)
677677

678+
// Extract roles from the destination model
679+
var rolesSlice []string
680+
if !destinationModel.Roles.IsNull() && len(destinationModel.Roles.Elements()) > 0 {
681+
rolesSlice = make([]string, len(destinationModel.Roles.Elements()))
682+
response.Diagnostics.Append(destinationModel.Roles.ElementsAs(ctx, &rolesSlice, false)...)
683+
}
684+
678685
clickPipe.Destination = api.ClickPipeDestination{
679686
Database: destinationModel.Database.ValueString(),
680687
Table: destinationModel.Table.ValueString(),
681688
ManagedTable: destinationModel.ManagedTable.ValueBool(),
682689
Columns: make([]api.ClickPipeDestinationColumn, len(destinationColumnsModels)),
690+
Roles: rolesSlice,
683691
}
684692

685693
if destinationModel.ManagedTable.ValueBool() {

0 commit comments

Comments
 (0)