hammer_cli_foreman_azure_rm
Description
CLI tool for AzureRM compute resource in Foreman foreman_azure_rm
Installation
Package
# yum install tfm-rubygem-hammer_cli_foreman_azure_rm
Foreman Installer
# foreman-installer --enable-foreman-cli-azure
# hammer -r
Please note that hammer -r will reload Apipie cache so that command options for azurerm compute resource will get loaded.
Development Setup
Clone the repo from github:
git clone https://github.com/theforeman/hammer_cli_foreman_azure_rm.git
Edit ~/.hammer/cli.modules.d/foreman_azure_rm.yml
and enter in the following:
:foreman_azure_rm:
:enable_module: true
Compute Resource Creation
hammer compute-resource create --name cli_azure_cr --provider azurerm --tenant <tenant-id> --app-ident <client-id> --secret-key <client-secret> --sub-id <subscription-id> --region <region>
Please note that the region value must be provided in lowercase.
List available networks
hammer compute-resource networks --id <compute-resource-id>
Please copy the subnet ID from this list to be passed to compute_network
attribute during Host creation.
Host Creation
hammer host create --compute-resource-id 7 --compute-attributes="resource_group=test-rg,vm_size=Standard_B1s,username=myuser,password=mypassword,platform=Linux,script_command=date" --interface="compute_public_ip=Dynamic,compute_network=mysubnetID,compute_private_ip=false" --name="test-host-cli" --location-id 1 --organization-id 2 --domain-id 2 --architecture-id 1 --operatingsystem-id 1 --image-id 1
Compute Profile Creation
hammer compute-profile create --name cli_cp
Compute Profile Attributes Creation
hammer compute-profile values create --compute-attributes="resource_group=aditi-rg,vm_size=Standard_B1s,username=myuser,password=mypassword,platform=Linux" --interface="compute_public_ip=Dynamic,compute_network=mysubnetID,compute_private_ip=false" --compute-profile "cli_cp" --compute-resource-id 7 --location-id 1 --organization-id 2
Host Creation with Compute Profile
host create --compute-resource-id 7 --compute-profile "cli_cp" --name="test-host-cli-cp" --location-id 1 --organization-id 2 --domain-id 2 --architecture-id 1 --operatingsystem-id 1 --image-id 1