summaryrefslogtreecommitdiff
path: root/lib/ansible/modules/cloud/azure/azure_rm_virtualmachinescalesetinstance_info.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/ansible/modules/cloud/azure/azure_rm_virtualmachinescalesetinstance_info.py')
-rw-r--r--lib/ansible/modules/cloud/azure/azure_rm_virtualmachinescalesetinstance_info.py243
1 files changed, 0 insertions, 243 deletions
diff --git a/lib/ansible/modules/cloud/azure/azure_rm_virtualmachinescalesetinstance_info.py b/lib/ansible/modules/cloud/azure/azure_rm_virtualmachinescalesetinstance_info.py
deleted file mode 100644
index 302bc7d97b..0000000000
--- a/lib/ansible/modules/cloud/azure/azure_rm_virtualmachinescalesetinstance_info.py
+++ /dev/null
@@ -1,243 +0,0 @@
-#!/usr/bin/python
-#
-# Copyright (c) 2019 Zim Kalinowski, <zikalino@microsoft.com>
-#
-# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
-
-from __future__ import absolute_import, division, print_function
-__metaclass__ = type
-
-
-ANSIBLE_METADATA = {'metadata_version': '1.1',
- 'status': ['preview'],
- 'supported_by': 'community'}
-
-
-DOCUMENTATION = '''
----
-module: azure_rm_virtualmachinescalesetinstance_info
-version_added: "2.9"
-short_description: Get Azure Virtual Machine Scale Set Instance facts
-description:
- - Get facts of Azure Virtual Machine Scale Set VMs.
-
-options:
- resource_group:
- description:
- - The name of the resource group.
- required: True
- vmss_name:
- description:
- - The name of the VM scale set.
- required: True
- instance_id:
- description:
- - The instance ID of the virtual machine.
- tags:
- description:
- - Limit results by providing a list of tags. Format tags as 'key' or 'key:value'.
-
-extends_documentation_fragment:
- - azure
-
-author:
- - Zim Kalinowski (@zikalino)
-
-'''
-
-EXAMPLES = '''
- - name: List VM instances in Virtual Machine ScaleSet
- azure_rm_virtualmachinescalesetinstance_info:
- resource_group: myResourceGroup
- vmss_name: myVMSS
-'''
-
-RETURN = '''
-instances:
- description:
- - A list of dictionaries containing facts for Virtual Machine Scale Set VM.
- returned: always
- type: complex
- contains:
- id:
- description:
- - Resource ID.
- returned: always
- type: str
- sample: "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/my
- VMSS/virtualMachines/2"
- tags:
- description:
- - Resource tags.
- returned: always
- type: dict
- sample: { 'tag1': 'abc' }
- instance_id:
- description:
- - Virtual Machine instance ID.
- returned: always
- type: str
- sample: 0
- name:
- description:
- - Virtual Machine name.
- returned: always
- type: str
- sample: myVMSS_2
- latest_model:
- description:
- - Whether applied latest model.
- returned: always
- type: bool
- sample: True
- provisioning_state:
- description:
- - Provisioning state of the Virtual Machine.
- returned: always
- type: str
- sample: Succeeded
- power_state:
- description:
- - Provisioning state of the Virtual Machine's power.
- returned: always
- type: str
- sample: running
- vm_id:
- description:
- - Virtual Machine ID
- returned: always
- type: str
- sample: 94a141a9-4530-46ac-b151-2c7ff09aa823
- image_reference:
- description:
- - Image reference
- returned: always
- type: dict
- sample: { "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myGroup/providers/Microsoft.Compute/galleries/
- myGallery/images/myImage/versions/10.1.3"}
-'''
-
-from ansible.module_utils.azure_rm_common import AzureRMModuleBase
-
-try:
- from msrestazure.azure_exceptions import CloudError
- from azure.mgmt.compute import ComputeManagementClient
- from msrest.serialization import Model
-except ImportError:
- # This is handled in azure_rm_common
- pass
-
-
-class AzureRMVirtualMachineScaleSetVMInfo(AzureRMModuleBase):
- def __init__(self):
- # define user inputs into argument
- self.module_arg_spec = dict(
- resource_group=dict(
- type='str',
- required=True
- ),
- vmss_name=dict(
- type='str',
- required=True
- ),
- instance_id=dict(
- type='str'
- ),
- tags=dict(
- type='list'
- )
- )
- # store the results of the module operation
- self.results = dict(
- changed=False
- )
- self.mgmt_client = None
- self.resource_group = None
- self.vmss_name = None
- self.instance_id = None
- self.tags = None
- super(AzureRMVirtualMachineScaleSetVMInfo, self).__init__(self.module_arg_spec, supports_tags=False)
-
- def exec_module(self, **kwargs):
- is_old_facts = self.module._name == 'azure_rm_virtualmachinescalesetinstance_facts'
- if is_old_facts:
- self.module.deprecate("The 'azure_rm_virtualmachinescalesetinstance_facts' module has been renamed to" +
- " 'azure_rm_virtualmachinescalesetinstance_info'",
- version='2.13')
-
- for key in self.module_arg_spec:
- setattr(self, key, kwargs[key])
- self.mgmt_client = self.get_mgmt_svc_client(ComputeManagementClient,
- base_url=self._cloud_environment.endpoints.resource_manager)
-
- if (self.instance_id is None):
- self.results['instances'] = self.list()
- else:
- self.results['instances'] = self.get()
- return self.results
-
- def get(self):
- response = None
- results = []
- try:
- response = self.mgmt_client.virtual_machine_scale_set_vms.get(resource_group_name=self.resource_group,
- vm_scale_set_name=self.vmss_name,
- instance_id=self.instance_id)
- self.log("Response : {0}".format(response))
- except CloudError as e:
- self.log('Could not get facts for Virtual Machine Scale Set VM.')
-
- if response and self.has_tags(response.tags, self.tags):
- results.append(self.format_response(response))
-
- return results
-
- def list(self):
- items = None
- try:
- items = self.mgmt_client.virtual_machine_scale_set_vms.list(resource_group_name=self.resource_group,
- virtual_machine_scale_set_name=self.vmss_name)
- self.log("Response : {0}".format(items))
- except CloudError as e:
- self.log('Could not get facts for Virtual Machine ScaleSet VM.')
-
- results = []
- for item in items:
- if self.has_tags(item.tags, self.tags):
- results.append(self.format_response(item))
- return results
-
- def format_response(self, item):
- d = item.as_dict()
-
- iv = self.mgmt_client.virtual_machine_scale_set_vms.get_instance_view(resource_group_name=self.resource_group,
- vm_scale_set_name=self.vmss_name,
- instance_id=d.get('instance_id', None)).as_dict()
- power_state = ""
- for index in range(len(iv['statuses'])):
- code = iv['statuses'][index]['code'].split('/')
- if code[0] == 'PowerState':
- power_state = code[1]
- break
- d = {
- 'resource_group': self.resource_group,
- 'id': d.get('id', None),
- 'tags': d.get('tags', None),
- 'instance_id': d.get('instance_id', None),
- 'latest_model': d.get('latest_model_applied', None),
- 'name': d.get('name', None),
- 'provisioning_state': d.get('provisioning_state', None),
- 'power_state': power_state,
- 'vm_id': d.get('vm_id', None),
- 'image_reference': d.get('storage_profile').get('image_reference', None),
- 'computer_name': d.get('os_profile').get('computer_name', None)
- }
- return d
-
-
-def main():
- AzureRMVirtualMachineScaleSetVMInfo()
-
-
-if __name__ == '__main__':
- main()