summaryrefslogtreecommitdiff
path: root/test/integration/targets/vmware_tag_manager/tasks/tag_manager_dict.yml
blob: 0b414552aef367f2640fbe9801466d4a2b706a7c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
# Test code for the vmware_tag_manager Operations.
# Copyright: (c) 2020, Abhijeet Kasurde <akasurde@redhat.com>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)

# Testcase for https://github.com/ansible/ansible/issues/65765
- when: vcsim is not defined
  block:
    - name: Create first category
      vmware_category:
        hostname: '{{ vcenter_hostname }}'
        username: '{{ vcenter_username }}'
        password: '{{ vcenter_password }}'
        validate_certs: no
        category_name: "{{ cat_one }}"
        category_cardinality: 'multiple'
        state: present
      register: category_one_create

    - name: Set category one id
      set_fact: cat_one_id={{ category_one_create['category_results']['category_id'] }}

    - name: Create tag with colon in name
      vmware_tag:
        hostname: '{{ vcenter_hostname }}'
        username: '{{ vcenter_username }}'
        password: '{{ vcenter_password }}'
        validate_certs: no
        tag_name: "{{ tag_one }}"
        category_id: "{{ cat_one_id }}"
        state: present
      register: tag_one_create

    - name: Check tag is created
      assert:
        that:
          - tag_one_create.changed

    - name: Get VM Facts
      vmware_vm_info:
        hostname: '{{ vcenter_hostname }}'
        username: '{{ vcenter_username }}'
        password: '{{ vcenter_password }}'
        validate_certs: False
      register: vm_info

    - set_fact: vm_name="{{ vm_info['virtual_machines'][0]['guest_name'] }}"

    - name: Assign tag to given virtual machine
      vmware_tag_manager:
        hostname: '{{ vcenter_hostname }}'
        username: '{{ vcenter_username }}'
        password: '{{ vcenter_password }}'
        validate_certs: no
        tag_names:
          - category: "{{ cat_one }}"
            tag: "{{ tag_one }}"
        object_name: "{{ vm_name }}"
        object_type: VirtualMachine
        state: add
      delegate_to: localhost
      register: vm_tag_info

    - name: Check if we assigned correct tags
      assert:
        that:
          - vm_tag_info.changed

    - name: Remove tag to given virtual machine
      vmware_tag_manager:
        hostname: '{{ vcenter_hostname }}'
        username: '{{ vcenter_username }}'
        password: '{{ vcenter_password }}'
        validate_certs: no
        tag_names:
          - category: "{{ cat_one }}"
            tag: "{{ tag_one }}"
        object_name: "{{ vm_name }}"
        object_type: VirtualMachine
        state: remove
      delegate_to: localhost
      register: vm_tag_info

    - name: Check if we removed correct tag
      assert:
        that:
          - vm_tag_info.changed

    - name: Delete Tags
      vmware_tag:
        hostname: '{{ vcenter_hostname }}'
        username: '{{ vcenter_username }}'
        password: '{{ vcenter_password }}'
        validate_certs: no
        tag_name: "{{ item }}"
        state: absent
      register: delete_tag
      with_items:
        - "{{ tag_one }}"

    - name: Delete Categories
      vmware_category:
        hostname: '{{ vcenter_hostname }}'
        username: '{{ vcenter_username }}'
        password: '{{ vcenter_password }}'
        validate_certs: no
        category_name: "{{ item }}"
        state: absent
      register: delete_categories
      with_items:
        - "{{ cat_one }}"
  vars:
    cat_one: category_1003
    tag_one: tag:1003