-
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_servicebus_namespace
- split create update funcs
#28539
base: main
Are you sure you want to change the base?
Conversation
defer cancel() | ||
|
||
log.Printf("[INFO] preparing arguments for ServiceBus Namespace create/update.") | ||
log.Printf("[INFO] preparing arguments for ServiceBus Namespace create") | ||
|
||
location := azure.NormalizeLocation(d.Get("location").(string)) | ||
sku := d.Get("sku").(string) |
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.
I can't comment further down, but I don't think we need the d.IsNewResource()
check down on line 287 anymore
|
||
d.SetId(id.ID()) | ||
|
||
if d.HasChange("network_rule_set") { |
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.
Without any context here, why do we need to wrap this update on the network rule set ind.HasChange
in the Create
?
if existing.Model == nil { | ||
return fmt.Errorf("retrieving existing %s: `model` was nil", *id) | ||
} | ||
if existing.Model.Properties == nil { | ||
return fmt.Errorf("retrieving existing %s: `model.Properties` was nil", *id) |
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.
if existing.Model == nil { | |
return fmt.Errorf("retrieving existing %s: `model` was nil", *id) | |
} | |
if existing.Model.Properties == nil { | |
return fmt.Errorf("retrieving existing %s: `model.Properties` was nil", *id) | |
if existing.Model == nil { | |
return fmt.Errorf("retrieving %s: `model` was nil", *id) | |
} | |
if existing.Model.Properties == nil { | |
return fmt.Errorf("retrieving %s: `model.Properties` was nil", *id) |
minimumTls := namespaces.TlsVersion(tlsValue) | ||
payload.Properties.MinimumTlsVersion = &minimumTls |
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.
minimumTls := namespaces.TlsVersion(tlsValue) | |
payload.Properties.MinimumTlsVersion = &minimumTls | |
payload.Properties.MinimumTlsVersion = pointer.To(namespaces.TlsVersion(tlsValue)) |
return err | ||
} | ||
log.Printf("[DEBUG] Reset the Existing Network Rule Set associated with %s", id) | ||
} else { | ||
log.Printf("[DEBUG] Creating the Network Rule Set associated with %s..", id) | ||
if err = createNetworkRuleSetForNamespace(ctx, client, id, newNetworkRuleSet.([]interface{})); err != nil { | ||
log.Printf("[DEBUG] Creating/updating the Network Rule Set associated with %s..", id) |
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.
Should this just be
log.Printf("[DEBUG] Creating/updating the Network Rule Set associated with %s..", id) | |
log.Printf("[DEBUG] Updating the Network Rule Set associated with %s..", id) |
return err | ||
} | ||
log.Printf("[DEBUG] Created the Network Rule Set associated with %s", id) | ||
log.Printf("[DEBUG] Created/updated the Network Rule Set associated with %s", id) |
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.
Likewise
log.Printf("[DEBUG] Created/updated the Network Rule Set associated with %s", id) | |
log.Printf("[DEBUG] Updated the Network Rule Set associated with %s", id) |
if v["identity_id"].(string) == "" { | ||
encryption.KeyVaultProperties = &[]namespaces.KeyVaultProperties{ | ||
{ | ||
KeyName: pointer.To(keyId.Name), | ||
KeyVersion: pointer.To(keyId.Version), | ||
KeyVaultUri: pointer.To(keyId.KeyVaultBaseUrl), | ||
}, | ||
} |
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.
If we allow identity_id
to be Optional
, can users actually create a servicebus namespace with CMK using SystemAssigned
identity on first go?
Community Note
Description
This PR splits the create and update functions so that ignore changes works as expected. It also makes
customer_managed_key.identity_id
optional as this can be used with a SystemAssigned identity.PR Checklist
For example: “
resource_name_here
- description of change e.g. adding propertynew_property_name_here
”Changes to existing Resource / Data Source
Testing
Change Log
Below please provide what should go into the changelog (if anything) conforming to the Changelog Format documented here.
azurerm_servicebus_namespace
- split create/update functions to enable use ofignore_changes
[GH-00000]This is a (please select all that apply):
Related Issue(s)
Fixes #0000
Note
If this PR changes meaningfully during the course of review please update the title and description as required.