Skip to content
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_virtual_machine_scale_set: adding a plan block for Marketplace images #161

Merged
merged 4 commits into from Jul 17, 2017

Conversation

tombuildsstuff
Copy link
Member

@tombuildsstuff tombuildsstuff commented Jul 7, 2017

Adding a plan block to VMSS to match the VM resource so that we support deploying Marketplace images

Tests pass:

screen shot 2017-07-08 at 08 38 23

Fixes #95

Copy link
Contributor

@stack72 stack72 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @tombuildsstuff

LGTM - few minor points inline

P.

@@ -653,6 +688,10 @@ func resourceArmVirtualMachineScaleSetRead(d *schema.ResourceData, meta interfac
d.Set("extension", extension)
}

if resp.Plan != nil {
d.Set("plan", flattenAzureRmVirtualMachineScaleSetPlan(resp.Plan))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

for complex Set operations like this, it would be good to throw an error if the set fails

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated.

},
},
},
Set: resourceArmVirtualMachineScaleSetPlanHash,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we can just use the Default Set Hash - it does exactly the same thing you have done but without a custom func for it

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated.

func flattenAzureRmVirtualMachineScaleSetPlan(plan *compute.Plan) []interface{} {
result := make(map[string]interface{})

result["name"] = *plan.Name
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No chance these can be missing right? If they can, then panic city...

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

According to the docs, no - as all 3 fields are required if this block is specified

@tombuildsstuff
Copy link
Member Author

Updated and tests still pass:
screen shot 2017-07-17 at 06 42 12

Copy link
Member

@mbfrahry mbfrahry left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@tombuildsstuff tombuildsstuff merged commit b9ef45c into master Jul 17, 2017
@tombuildsstuff tombuildsstuff deleted the vmss-plan branch July 17, 2017 15:11
tombuildsstuff added a commit that referenced this pull request Jul 17, 2017
@ghost
Copy link

ghost commented Apr 1, 2020

I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues.

If you feel this issue should be reopened, we encourage creating a new issue linking back to this one for added context. If you feel I made an error 🤖 🙉 , please reach out to my human friends 👉 hashibot-feedback@hashicorp.com. Thanks!

@hashicorp hashicorp locked and limited conversation to collaborators Apr 1, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Missing required plan information support for Azure Marketplace images in azurerm_virtual_machine_scale_set
3 participants