Skip to content

Commit 514d842

Browse files
authored
provider/azurerm: Add azurerm_virtual_machine_scale_set resource (hashicorp#6711)
1 parent 5e23e87 commit 514d842

6 files changed

Lines changed: 1629 additions & 19 deletions

File tree

builtin/providers/azurerm/config.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ type ArmClient struct {
2727
usageOpsClient compute.UsageOperationsClient
2828
vmExtensionImageClient compute.VirtualMachineExtensionImagesClient
2929
vmExtensionClient compute.VirtualMachineExtensionsClient
30+
vmScaleSetClient compute.VirtualMachineScaleSetsClient
3031
vmImageClient compute.VirtualMachineImagesClient
3132
vmClient compute.VirtualMachinesClient
3233

@@ -166,6 +167,12 @@ func (c *Config) getArmClient() (*ArmClient, error) {
166167
vmic.Sender = autorest.CreateSender(withRequestLogging())
167168
client.vmImageClient = vmic
168169

170+
vmssc := compute.NewVirtualMachineScaleSetsClient(c.SubscriptionID)
171+
setUserAgent(&vmssc.Client)
172+
vmssc.Authorizer = spt
173+
vmssc.Sender = autorest.CreateSender(withRequestLogging())
174+
client.vmScaleSetClient = vmssc
175+
169176
vmc := compute.NewVirtualMachinesClient(c.SubscriptionID)
170177
setUserAgent(&vmc.Client)
171178
vmc.Authorizer = spt

builtin/providers/azurerm/provider.go

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,14 @@ import (
55
"reflect"
66
"strings"
77

8+
"sync"
9+
810
"github.com/hashicorp/go-multierror"
911
"github.com/hashicorp/terraform/helper/mutexkv"
1012
"github.com/hashicorp/terraform/helper/resource"
1113
"github.com/hashicorp/terraform/helper/schema"
1214
"github.com/hashicorp/terraform/terraform"
1315
riviera "github.com/jen20/riviera/azure"
14-
"sync"
1516
)
1617

1718
// Provider returns a terraform.ResourceProvider.
@@ -45,24 +46,25 @@ func Provider() terraform.ResourceProvider {
4546

4647
ResourcesMap: map[string]*schema.Resource{
4748
// These resources use the Azure ARM SDK
48-
"azurerm_availability_set": resourceArmAvailabilitySet(),
49-
"azurerm_cdn_endpoint": resourceArmCdnEndpoint(),
50-
"azurerm_cdn_profile": resourceArmCdnProfile(),
51-
"azurerm_local_network_gateway": resourceArmLocalNetworkGateway(),
52-
"azurerm_network_interface": resourceArmNetworkInterface(),
53-
"azurerm_network_security_group": resourceArmNetworkSecurityGroup(),
54-
"azurerm_network_security_rule": resourceArmNetworkSecurityRule(),
55-
"azurerm_public_ip": resourceArmPublicIp(),
56-
"azurerm_route": resourceArmRoute(),
57-
"azurerm_route_table": resourceArmRouteTable(),
58-
"azurerm_storage_account": resourceArmStorageAccount(),
59-
"azurerm_storage_blob": resourceArmStorageBlob(),
60-
"azurerm_storage_container": resourceArmStorageContainer(),
61-
"azurerm_storage_queue": resourceArmStorageQueue(),
62-
"azurerm_subnet": resourceArmSubnet(),
63-
"azurerm_template_deployment": resourceArmTemplateDeployment(),
64-
"azurerm_virtual_machine": resourceArmVirtualMachine(),
65-
"azurerm_virtual_network": resourceArmVirtualNetwork(),
49+
"azurerm_availability_set": resourceArmAvailabilitySet(),
50+
"azurerm_cdn_endpoint": resourceArmCdnEndpoint(),
51+
"azurerm_cdn_profile": resourceArmCdnProfile(),
52+
"azurerm_local_network_gateway": resourceArmLocalNetworkGateway(),
53+
"azurerm_network_interface": resourceArmNetworkInterface(),
54+
"azurerm_network_security_group": resourceArmNetworkSecurityGroup(),
55+
"azurerm_network_security_rule": resourceArmNetworkSecurityRule(),
56+
"azurerm_public_ip": resourceArmPublicIp(),
57+
"azurerm_route": resourceArmRoute(),
58+
"azurerm_route_table": resourceArmRouteTable(),
59+
"azurerm_storage_account": resourceArmStorageAccount(),
60+
"azurerm_storage_blob": resourceArmStorageBlob(),
61+
"azurerm_storage_container": resourceArmStorageContainer(),
62+
"azurerm_storage_queue": resourceArmStorageQueue(),
63+
"azurerm_subnet": resourceArmSubnet(),
64+
"azurerm_template_deployment": resourceArmTemplateDeployment(),
65+
"azurerm_virtual_machine": resourceArmVirtualMachine(),
66+
"azurerm_virtual_machine_scale_set": resourceArmVirtualMachineScaleSet(),
67+
"azurerm_virtual_network": resourceArmVirtualNetwork(),
6668

6769
// These resources use the Riviera SDK
6870
"azurerm_dns_a_record": resourceArmDnsARecord(),

0 commit comments

Comments
 (0)