Skip to content

Commit

Permalink
Adding private ip address reference to azurerm network interface (has…
Browse files Browse the repository at this point in the history
…hicorp#6538)

* Adding private ip address reference

* adding private ip address reference
* Updating the docs.

* Removing optional attrib from private_ip_address

Removing optional attribute from private_ip_address, this element is only being used in the read.

* Selecting the first element instead of using a loop for now.
Change this to a loop when Azure/azure-sdk-for-go#259 is fixed
  • Loading branch information
Felivel authored and cristicalin committed May 24, 2016
1 parent 81e0e24 commit 3dcf033
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 1 deletion.
19 changes: 18 additions & 1 deletion builtin/providers/azurerm/resource_arm_network_interface_card.go
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,11 @@ func resourceArmNetworkInterface() *schema.Resource {
Computed: true,
},

"private_ip_address": &schema.Schema{
Type: schema.TypeString,
Computed: true,
},

"virtual_machine_id": &schema.Schema{
Type: schema.TypeString,
Optional: true,
Expand Down Expand Up @@ -241,7 +246,7 @@ func resourceArmNetworkInterfaceRead(d *schema.ResourceData, meta interface{}) e
return nil
}
if err != nil {
return fmt.Errorf("Error making Read request on Azure Netowkr Interface %s: %s", name, err)
return fmt.Errorf("Error making Read request on Azure Network Interface %s: %s", name, err)
}

iface := *resp.Properties
Expand All @@ -252,6 +257,18 @@ func resourceArmNetworkInterfaceRead(d *schema.ResourceData, meta interface{}) e
}
}

if iface.IPConfigurations != nil && len(*iface.IPConfigurations) > 0 {
var privateIPAddress *string
///TODO: Change this to a loop when https://github.com/Azure/azure-sdk-for-go/issues/259 is fixed
if (*iface.IPConfigurations)[0].Properties != nil {
privateIPAddress = (*iface.IPConfigurations)[0].Properties.PrivateIPAddress
}

if *privateIPAddress != "" {
d.Set("private_ip_address", *privateIPAddress)
}
}

if iface.VirtualMachine != nil {
if *iface.VirtualMachine.ID != "" {
d.Set("virtual_machine_id", *iface.VirtualMachine.ID)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,7 @@ The following attributes are exported:

* `id` - The virtual NetworkConfiguration ID.
* `mac_address` - The media access control (MAC) address of the network interface.
* `private_ip_address` - The private ip address of the network interface.
* `virtual_machine_id` - Reference to a VM with which this NIC has been associated.
* `applied_dns_servers` - If the VM that uses this NIC is part of an Availability Set, then this list will have the union of all DNS servers from all NICs that are part of the Availability Set
* `internal_fqdn` - Fully qualified DNS name supporting internal communications between VMs in the same VNet

0 comments on commit 3dcf033

Please sign in to comment.