Introducing Hyperlight: Virtual machine-based security for functions at scale
The Microsoft Azure Core Upstream team is excited to announce the Hyperlight…
Ansible 2.6 was released with more capabilities to provision and manage Azure resources. It includes four new modules for Azure Kubernetes Service and Azure Resource, and many enhancements to existing Ansible modules for Azure (e.g., Virtual Machine, Networking interface).
Here I’ll introduce two new modules azure_rm_resource and azure_rm_resource_facts which allow you to directly call the Azure REST API. If you want to create or manage some Azure resource, but do not find an Ansible module for it, you could use azure_rm_resouce to call the Azure REST API to create that Azure resource and use azure_rm_resource_facts to obtain the facts of that Azure resource.
To get these new Ansible modules for Azure, you need to install:
Or
$ ansible-galaxy install Azure.azure_preview_modules
Below is an example to use azure_rm_resource and azure_rm_resource_facts to create Event Hubs on Azure. It defines variables, such as resource group name, and then executes below four tasks:
- hosts: localhost vars: resource_group: myResourceGroup location: eastus namespacename: eventhubsnamesansible eventhubname: eventhubsansible tasks: - name: Create a resource group azure_rm_resourcegroup: name: "{{ resource_group }}" location: "{{ location }}" - name: Create a namespace for an event hubs using REST API azure_rm_resource: api_version: '2017-04-01' resource_group: "{{ resource_group }}" provider: eventhub resource_type: namespaces resource_name: "{{ namespacename }}" body: location: "{{ location }}" sku: name: Basic tier: Basic capacity: 10 properties: isAutoInflateEnabled: False - name: Wait for namespace to be ready azure_rm_resource_facts: api_version: '2017-04-01' resource_group: "{{ resource_group }}" provider: eventhub resource_type: namespaces resource_name: "{{ namespacename }}" register: output until: output.response[0].properties.status == 'Active' delay: 10 - name: Create an event hubs using REST API azure_rm_resource: api_version: '2017-04-01' resource_group: "{{ resource_group }}" provider: eventhub resource_type: namespaces resource_name: "{{ namespacename }}" subresource: - type: eventhubs name: "{{ eventhubname }}" body: location: "{{ location }}" properties: messageRetentionInDays: 1
Save the preceding playbook as eventhubs-create.yml, or download the sample Ansible playbook here. To run the Ansible playbook, use the ansible-playbook command as follows:
$ ansible-playbook eventhubs-create.yml
Congratulations! You’ve successfully created your event hubs by calling Azure REST API with Ansible. If you go to the portal, you will see the your event hubs there.
Now you could try to create your own Ansible playbook to provision a new Azure resource or manage existing Azure resource by calling Azure REST API. You could learn more from the documentation for azure_rm_resource / azure_rm_resource_facts and search Azure REST API regarding details related to specific resource.
If you want to learn more about Ansible on Azure, check out the latest Azure Friday.
Questions? Let us know in the comments.