Skip to content

Commit

Permalink
r/storage_account: set active_directory block properties when `dire…
Browse files Browse the repository at this point in the history
…ctory_type` is specified
  • Loading branch information
manicminer committed Jul 18, 2024
1 parent e74b6cb commit a1c0bf0
Showing 1 changed file with 20 additions and 15 deletions.
35 changes: 20 additions & 15 deletions internal/services/storage/storage_account_resource.go
Original file line number Diff line number Diff line change
Expand Up @@ -2530,22 +2530,27 @@ func expandAccountAzureFilesAuthentication(input []interface{}) (*storageaccount
output := storageaccounts.AzureFilesIdentityBasedAuthentication{
DirectoryServiceOptions: storageaccounts.DirectoryServiceOptions(v["directory_type"].(string)),
}
if output.DirectoryServiceOptions == storageaccounts.DirectoryServiceOptionsAD {
if output.DirectoryServiceOptions == storageaccounts.DirectoryServiceOptionsAD ||
output.DirectoryServiceOptions == storageaccounts.DirectoryServiceOptionsAADDS ||
output.DirectoryServiceOptions == storageaccounts.DirectoryServiceOptionsAADKERB {
ad := expandAccountActiveDirectoryProperties(v["active_directory"].([]interface{}))
if ad == nil {
return nil, fmt.Errorf("`active_directory` is required when `directory_type` is `AD`")
}
if ad.AzureStorageSid == nil {
return nil, fmt.Errorf("`active_directory.0.storage_sid` is required when `directory_type` is `AD`")
}
if ad.DomainSid == nil {
return nil, fmt.Errorf("`active_directory.0.domain_sid` is required when `directory_type` is `AD`")
}
if ad.ForestName == nil {
return nil, fmt.Errorf("`active_directory.0.forest_name` is required when `directory_type` is `AD`")
}
if ad.NetBiosDomainName == nil {
return nil, fmt.Errorf("`active_directory.0.netbios_domain_name` is required when `directory_type` is `AD`")

if output.DirectoryServiceOptions == storageaccounts.DirectoryServiceOptionsAD {
if ad == nil {
return nil, fmt.Errorf("`active_directory` is required when `directory_type` is `AD`")
}
if ad.AzureStorageSid == nil {
return nil, fmt.Errorf("`active_directory.0.storage_sid` is required when `directory_type` is `AD`")
}
if ad.DomainSid == nil {
return nil, fmt.Errorf("`active_directory.0.domain_sid` is required when `directory_type` is `AD`")
}
if ad.ForestName == nil {
return nil, fmt.Errorf("`active_directory.0.forest_name` is required when `directory_type` is `AD`")
}
if ad.NetBiosDomainName == nil {
return nil, fmt.Errorf("`active_directory.0.netbios_domain_name` is required when `directory_type` is `AD`")
}
}

output.ActiveDirectoryProperties = ad
Expand Down

0 comments on commit a1c0bf0

Please sign in to comment.