Skip to main content
Kinetic Community

Azure Adapter

Overview

The Azure Adapter is an adapter that is installed into Kinetic Bridgehub that allows data from Azure Government to be pulled back using bridging.

Installation

Note: Check to ensure that this adapter isn't already installed into your bridgehub as part of the base installation before undertaking the installation tasks.

  • Download the bridge adapter and it's dependencies here: kinetic-bridgehub-adapter-azure-1.0.0.zip
  • Put all of the downloaded files into the WEB-INF/lib folder for you kinetic-bridgehub installation
  • Restart the tomcat that your kinetic-bridgehub installation is located in

Setup

Configuration Values

Name Description
Keystore Path Path to the .jks file to use when making the request.
Keystore Password Password for the .jks file being used in the request.

Example Configuration

Name Value
Keystore Path /etc/azure/key/azurekeystore.jks
Keystore Password password123

Creating a Management Certificate

You'll need to create a self-signed certificate in order to interact with the API. Follow these steps to create your certificates and upload the public one to Azure.

  • Run this command:
    keytool -genkey -keyalg RSA -alias azurecert -keystore keystore.jks -storepass password123 -validity 360 -keysize 2048
    • If you're on Windows, you may have to navigate to the JRE bin directory (usually found in C:\Program Files\Java\jre7\bin)
    • You should be prompted with some questions (see image below for an example)
  • Generate the .cer file to be uploaded to Azure
    • keytool -export -alias azurecert -keystore <location of .jks file> -rfc -file <location of file to be saved>
      • Location of file to be saved: where you want to save this .cer file (example: C:\Desktop\azurecert.cer)
      • Location of .jks file: location of file from last step (example: C:\Desktop\keystore.jks)

Upload the .cer File to Azure

  • Login to Azure
  • Go to Settings > Management Certificates
  • Click on "Upload" at the bottom and upload the .cer file that was just created

Structures, Fields, and Queries

Structures

  • Images
  • Sizes
  • Virtual Networks
  • Regions
  • Storage Accounts
  • Affinity Groups
  • Cloud Services
  • Virtual Machines

Fields

Because fields are dynamic and depend on the set up of the various structures, the fields listed may not contain every field possible. To get the JSON response of the API request, you can set the "Log Level" to "TRACE" and make a call via Bridge API Test. Then, when you look at Current Log, you can see the JSON response.

** Fields are comma separated with no spaces. Example: Category,Description,OS **

  • Images
    • Category, Description, OS, Eula, IsPremium, RecommendedVMSize, Label, ImageFamily, Name, IOType, IconUri, PublisherName, PublishedDate, PrivacyUri, SmallIconUri, LogicalSizeInGB, Location
  • Sizes
    • Name, Cores, MemoryInMb, WebWorkerResourceDiskSizeInMb, SupportedByWebWorkerRoles, Label, SupportedByVirtualMachines, MaxDataDiskCount, VirtualMachineResourceDiskSizeInMb
  • Virtual Networks
    • Id, Name, Location, Subnets, AddressSpace, State, Gateway, InUse, Dns
  • Regions
    • AvailableServices, StorageCapabilities, DisplayName, ComputeCapabilities, VirtualMachinesRoleSizes, Name
  • Storage Accounts
    • StorageServiceProperties, ServiceName, Url, ExtendedProperties, 
  • Affinity Groups
  • Cloud Services
    • ServiceName, Url, HostedServiceProperties, ComputeCapabilities
  • Virtual Machines
    • InstanceName, RoleName, InstanceSize, InstanceStatus, InstanceFaultDomain, IpAddress, PowerState, InstanceUpgradeDomain, InstanceStateDetails, HostName, RemoteAccessCertificateThumbprint

Queries

As of right now, you will only be able to search top-level fields. You will not be able to search nested JSON objects. Queries are based on exact match and are case sensitive.

SUBSCRIPTION ID MUST BE PROVIDED IN THE QUERY AS THE FIRST ARGUMENT, ENCLOSED IN SQUARE BRACKETS
Example: [abc-123-xyz]

FOR VIRTUAL MACHINE STRUCTURE ONLY: The Cloud Service Name must be in square brackets and immediately follow the Subscription ID.
Example: [abc-123-xyz][kinetictest]
 

You can combine queries by using an ampersand (Example: [ <Subscription ID> ]&"Category"="Public"&"OS"="Linux").

Example Queries

  • Images
    • "Category"="Public"
    • "OS"="Linux"
    • "Name"="809266fa9f4d45d8bba0a02358a8c76d__OpenLogic-CentOS-72-20160303"
  • Sizes
    • "Name"="A5"
    • "Cores"="4"
    • "SupportedByVirtualMachines"="true"
  • Virtual Networks
    • "State"="Created"
    • "Name"="nitc-lab"
    • "Location"="USGov Virginia"
  • Regions
    • "Name"="USGov Iowa"
    • "DisplayName"="USGov Iowa"
  • Storage Accounts
  • Affinity Groups
  • Cloud Services
    • "ServiceName"="Service Test"
  • Virtual Machines
    • "InstanceName"="VM Test"