-
Notifications
You must be signed in to change notification settings - Fork 4.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
azurerm_cosmosdb_postgresql_cluster
: add server names information t…
#25240
Changes from 1 commit
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
@@ -36,6 +36,7 @@ type CosmosDbPostgreSQLClusterModel struct { | |||||||||||||||||||||
SourceLocation string `tfschema:"source_location"` | ||||||||||||||||||||||
SourceResourceId string `tfschema:"source_resource_id"` | ||||||||||||||||||||||
MaintenanceWindow []MaintenanceWindow `tfschema:"maintenance_window"` | ||||||||||||||||||||||
ServerNames []ServerNameItem `tfschema:"server_names"` | ||||||||||||||||||||||
NodeCount int64 `tfschema:"node_count"` | ||||||||||||||||||||||
NodePublicIPAccessEnabled bool `tfschema:"node_public_ip_access_enabled"` | ||||||||||||||||||||||
NodeServerEdition string `tfschema:"node_server_edition"` | ||||||||||||||||||||||
|
@@ -48,6 +49,11 @@ type CosmosDbPostgreSQLClusterModel struct { | |||||||||||||||||||||
EarliestRestoreTime string `tfschema:"earliest_restore_time"` | ||||||||||||||||||||||
} | ||||||||||||||||||||||
|
||||||||||||||||||||||
type ServerNameItem struct { | ||||||||||||||||||||||
Name string `tfschema:"name"` | ||||||||||||||||||||||
FullyQualifiedDomainName string `tfschema:"fqdn"` | ||||||||||||||||||||||
} | ||||||||||||||||||||||
|
||||||||||||||||||||||
type MaintenanceWindow struct { | ||||||||||||||||||||||
DayOfWeek int64 `tfschema:"day_of_week"` | ||||||||||||||||||||||
StartHour int64 `tfschema:"start_hour"` | ||||||||||||||||||||||
|
@@ -304,6 +310,22 @@ func (r CosmosDbPostgreSQLClusterResource) Attributes() map[string]*pluginsdk.Sc | |||||||||||||||||||||
Type: pluginsdk.TypeString, | ||||||||||||||||||||||
Computed: true, | ||||||||||||||||||||||
}, | ||||||||||||||||||||||
"server_names": { | ||||||||||||||||||||||
Type: pluginsdk.TypeList, | ||||||||||||||||||||||
Computed: true, | ||||||||||||||||||||||
Elem: &pluginsdk.Resource{ | ||||||||||||||||||||||
Schema: map[string]*pluginsdk.Schema{ | ||||||||||||||||||||||
"fqdn": { | ||||||||||||||||||||||
Type: pluginsdk.TypeString, | ||||||||||||||||||||||
Computed: true, | ||||||||||||||||||||||
}, | ||||||||||||||||||||||
"name": { | ||||||||||||||||||||||
Type: pluginsdk.TypeString, | ||||||||||||||||||||||
Computed: true, | ||||||||||||||||||||||
}, | ||||||||||||||||||||||
}, | ||||||||||||||||||||||
}, | ||||||||||||||||||||||
}, | ||||||||||||||||||||||
} | ||||||||||||||||||||||
} | ||||||||||||||||||||||
|
||||||||||||||||||||||
|
@@ -558,6 +580,7 @@ func (r CosmosDbPostgreSQLClusterResource) Read() sdk.ResourceFunc { | |||||||||||||||||||||
state.CoordinatorServerEdition = pointer.From(props.CoordinatorServerEdition) | ||||||||||||||||||||||
state.CoordinatorStorageQuotaInMb = pointer.From(props.CoordinatorStorageQuotaInMb) | ||||||||||||||||||||||
state.CoordinatorVCoreCount = pointer.From(props.CoordinatorVCores) | ||||||||||||||||||||||
state.ServerNames = formatServerNames(props.ServerNames) | ||||||||||||||||||||||
state.HaEnabled = pointer.From(props.EnableHa) | ||||||||||||||||||||||
state.NodeCount = pointer.From(props.NodeCount) | ||||||||||||||||||||||
state.NodePublicIPAccessEnabled = pointer.From(props.NodeEnablePublicIPAccess) | ||||||||||||||||||||||
|
@@ -636,3 +659,19 @@ func flattenMaintenanceWindow(input *clusters.MaintenanceWindow) []MaintenanceWi | |||||||||||||||||||||
}, | ||||||||||||||||||||||
} | ||||||||||||||||||||||
} | ||||||||||||||||||||||
|
||||||||||||||||||||||
func formatServerNames(input *[]clusters.ServerNameItem) []ServerNameItem { | ||||||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Minor but for consistency could we rename this to
Suggested change
|
||||||||||||||||||||||
if input == nil { | ||||||||||||||||||||||
return nil | ||||||||||||||||||||||
} | ||||||||||||||||||||||
|
||||||||||||||||||||||
var output []ServerNameItem | ||||||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We should be setting an empty value into state instead of nil here
Suggested change
|
||||||||||||||||||||||
for _, v := range *input { | ||||||||||||||||||||||
output = append(output, ServerNameItem{ | ||||||||||||||||||||||
FullyQualifiedDomainName: *v.FullyQualifiedDomainName, | ||||||||||||||||||||||
Name: *v.Name, | ||||||||||||||||||||||
}) | ||||||||||||||||||||||
} | ||||||||||||||||||||||
|
||||||||||||||||||||||
return output | ||||||||||||||||||||||
} |
Original file line number | Diff line number | Diff line change | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
@@ -99,6 +99,8 @@ In addition to the Arguments listed above - the following Attributes are exporte | |||||||||||||||||||||
|
||||||||||||||||||||||
* `earliest_restore_time` - The earliest restore point time (ISO8601 format) for the Azure Cosmos DB for PostgreSQL Cluster. | ||||||||||||||||||||||
|
||||||||||||||||||||||
* `server_names` - The name of the servers and its fully qualified domain name | ||||||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Since this is a block it should be
Suggested change
|
||||||||||||||||||||||
|
||||||||||||||||||||||
## Timeouts | ||||||||||||||||||||||
|
||||||||||||||||||||||
The `timeouts` block allows you to specify [timeouts](https://www.terraform.io/docs/configuration/resources.html#timeouts) for certain actions: | ||||||||||||||||||||||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can shorten this to
servers
,_names
is implicit and one of the attributes in the block is already calledname