Socket
Socket
Sign inDemoInstall

azure-asm-network

Package Overview
Dependencies
58
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    azure-asm-network

Microsoft Azure Virtual Network Management Client Library for node


Version published
Weekly downloads
11K
decreased by-0.58%
Maintainers
1
Install size
6.66 MB
Created
Weekly downloads
 

Readme

Source

Microsoft Azure SDK for Node.js - Virtual Network Management

This project provides a Node.js package that makes it easy to manage Microsoft Azure Virtual Network. Right now it supports:

  • API version: 2016-07-01

Features

  • Manage network
  • Manage gateway
  • Manage reserved IP
  • Manage client root certificate

How to Install

npm install azure-asm-network

How to Use

Authentication

This library support management certificate authentication. To authenticate the library for the REST API calls, you need to

  • Have a management certificate set up in your Microsoft Azure subscription. You can do this by
    • Either uploading a certificate in the Microsoft Azure management portal.
    • Or use the Microsoft Azure Xplat-CLI.
  • Obtain the .pem file of your certificate. If you used Microsoft Azure Xplat-CLI to set it up. You can run azure account cert export to get the .pem file.

Create the VirtualNetworkManagementClient

var fs             = require('fs'),
    vnetManagement = require('azure-asm-network');

var vnetManagementClient = vnetManagement.createNetworkManagementClient(vnetManagement.createCertificateCloudCredentials({
  subscriptionId: '<your subscription id>',
  pem: fs.readFileSync('<your pem file>')
}));

Manage Network

var xml2js = require("xml2js");

var affinityGroupName = "affinitygroup01";
var vnetSiteName = "vnet01";
var subnetName = "subnet01";

// List all the virtual networks under a subscription.
vnetManagementClient.networks.list(function (err, result) {
  if (err) {
    console.error(err);
  } else {
    console.info(result);
  }
});

// Get the virtual network configuration xml.
vnetManagementClient.networks.getConfiguration(function (err, result) {
  if (err) {
    console.error(err);
  } else {
    // Create a new virtual network site.
    xml2js.parseString(result.configuration, function (err2, config) {
      var vnets = config.NetworkConfiguration.VirtualNetworkConfiguration[0].VirtualNetworkSites[0].VirtualNetworkSite;
      vnets.push({
        "$": {
          AffinityGroup: affinityGroupName,
          name: vnetSiteName
        },
        AddressSpace: [{
          AddressPrefix: ["10.0.0.0/8"]
        }],
        Subnets: [{
          Subnet: [{
            "$": {
              name: subnetName
            },
            AddressPrefix: ["10.0.0.0/8"]
          }]
        }]
      });

      vnetManagementClient.networks.setConfiguration({
        configuration: (new xml2js.Builder()).buildObject(config)
      }, function (err3, result3) {
        if (err3) {
          console.error(err3);
        } else {
          console.info(result3);
        }
      });
    });
  }
});

Keywords

FAQs

Last updated on 02 Sep 2016

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc