mirror of
https://github.com/ansible-collections/google.cloud.git
synced 2025-04-25 04:11:24 -07:00
Ansible Redis (#173)
<!-- This change is generated by MagicModules. --> /cc @rambleraptor
This commit is contained in:
parent
6cbacba697
commit
918acf47d4
6 changed files with 118 additions and 135 deletions
|
@ -123,7 +123,7 @@ def main():
|
||||||
|
|
||||||
def collection(module):
|
def collection(module):
|
||||||
res = {'project': module.params['project'], 'managed_zone': replace_resource_dict(module.params['managed_zone'], 'name')}
|
res = {'project': module.params['project'], 'managed_zone': replace_resource_dict(module.params['managed_zone'], 'name')}
|
||||||
return "https://www.googleapis.com/dns/v1/projects/{project}/managedZones/{managed_zone}/rrsets".format(**res)
|
return "https://www.googleapis.com/dns/v1/projects/{project}/managedZones/{managed_zone}/changes".format(**res)
|
||||||
|
|
||||||
|
|
||||||
def fetch_list(module, link):
|
def fetch_list(module, link):
|
||||||
|
|
|
@ -123,30 +123,30 @@ notes:
|
||||||
EXAMPLES = '''
|
EXAMPLES = '''
|
||||||
- name: create a network
|
- name: create a network
|
||||||
gcp_compute_network:
|
gcp_compute_network:
|
||||||
name: network-instance
|
name: "network-instance"
|
||||||
project: "{{ gcp_project }}"
|
project: "{{ gcp_project }}"
|
||||||
auth_kind: "{{ gcp_cred_kind }}"
|
auth_kind: "{{ gcp_cred_kind }}"
|
||||||
service_account_file: "{{ gcp_cred_file }}"
|
service_account_file: "{{ gcp_cred_file }}"
|
||||||
state: present
|
state: present
|
||||||
register: network
|
register: network
|
||||||
|
|
||||||
- name: create a instance
|
- name: create a instance
|
||||||
gcp_redis_instance:
|
gcp_redis_instance:
|
||||||
name: instance37
|
name: instance37
|
||||||
tier: STANDARD_HA
|
tier: STANDARD_HA
|
||||||
memory_size_gb: 1
|
memory_size_gb: 1
|
||||||
region: us-central1
|
region: us-central1
|
||||||
location_id: us-central1-a
|
location_id: us-central1-a
|
||||||
redis_version: REDIS_3_2
|
redis_version: REDIS_3_2
|
||||||
display_name: Ansible Test Instance
|
display_name: Ansible Test Instance
|
||||||
reserved_ip_range: 192.168.0.0/29
|
reserved_ip_range: 192.168.0.0/29
|
||||||
labels:
|
labels:
|
||||||
my_key: my_val
|
my_key: my_val
|
||||||
other_key: other_val
|
other_key: other_val
|
||||||
project: test_project
|
project: "test_project"
|
||||||
auth_kind: serviceaccount
|
auth_kind: "serviceaccount"
|
||||||
service_account_file: "/tmp/auth.pem"
|
service_account_file: "/tmp/auth.pem"
|
||||||
state: present
|
state: present
|
||||||
'''
|
'''
|
||||||
|
|
||||||
RETURN = '''
|
RETURN = '''
|
||||||
|
@ -296,7 +296,7 @@ def main():
|
||||||
if fetch:
|
if fetch:
|
||||||
if state == 'present':
|
if state == 'present':
|
||||||
if is_different(module, fetch):
|
if is_different(module, fetch):
|
||||||
update(module, self_link(module), fetch)
|
update(module, self_link(module))
|
||||||
fetch = fetch_resource(module, self_link(module))
|
fetch = fetch_resource(module, self_link(module))
|
||||||
changed = True
|
changed = True
|
||||||
else:
|
else:
|
||||||
|
@ -320,25 +320,8 @@ def create(module, link):
|
||||||
return wait_for_operation(module, auth.post(link, resource_to_request(module)))
|
return wait_for_operation(module, auth.post(link, resource_to_request(module)))
|
||||||
|
|
||||||
|
|
||||||
def update(module, link, fetch):
|
def update(module, link):
|
||||||
auth = GcpSession(module, 'redis')
|
module.fail_json(msg="Instance cannot be edited")
|
||||||
params = {'updateMask': updateMask(resource_to_request(module), response_to_hash(module, fetch))}
|
|
||||||
request = resource_to_request(module)
|
|
||||||
del request['name']
|
|
||||||
return wait_for_operation(module, auth.patch(link, request, params=params))
|
|
||||||
|
|
||||||
|
|
||||||
def updateMask(request, response):
|
|
||||||
update_mask = []
|
|
||||||
if request.get('displayName') != response.get('displayName'):
|
|
||||||
update_mask.append('displayName')
|
|
||||||
if request.get('labels') != response.get('labels'):
|
|
||||||
update_mask.append('labels')
|
|
||||||
if request.get('redisConfigs') != response.get('redisConfigs'):
|
|
||||||
update_mask.append('redisConfigs')
|
|
||||||
if request.get('memorySizeGb') != response.get('memorySizeGb'):
|
|
||||||
update_mask.append('memorySizeGb')
|
|
||||||
return ','.join(update_mask)
|
|
||||||
|
|
||||||
|
|
||||||
def delete(module, link):
|
def delete(module, link):
|
||||||
|
@ -467,7 +450,7 @@ def wait_for_completion(status, op_result, module):
|
||||||
while not status:
|
while not status:
|
||||||
raise_if_errors(op_result, ['error'], module)
|
raise_if_errors(op_result, ['error'], module)
|
||||||
time.sleep(1.0)
|
time.sleep(1.0)
|
||||||
op_result = fetch_resource(module, op_uri, False)
|
op_result = fetch_resource(module, op_uri)
|
||||||
status = navigate_hash(op_result, ['done'])
|
status = navigate_hash(op_result, ['done'])
|
||||||
return op_result
|
return op_result
|
||||||
|
|
||||||
|
|
|
@ -48,13 +48,12 @@ extends_documentation_fragment: gcp
|
||||||
'''
|
'''
|
||||||
|
|
||||||
EXAMPLES = '''
|
EXAMPLES = '''
|
||||||
- name: " a instance facts"
|
- name: a instance facts
|
||||||
gcp_redis_instance_facts:
|
gcp_redis_instance_facts:
|
||||||
region: us-central1
|
region: us-central1
|
||||||
project: test_project
|
project: test_project
|
||||||
auth_kind: serviceaccount
|
auth_kind: serviceaccount
|
||||||
service_account_file: "/tmp/auth.pem"
|
service_account_file: "/tmp/auth.pem"
|
||||||
state: facts
|
|
||||||
'''
|
'''
|
||||||
|
|
||||||
RETURN = '''
|
RETURN = '''
|
||||||
|
|
|
@ -336,7 +336,7 @@ def wait_for_operation(module, response):
|
||||||
def wait_for_completion(status, op_result, module):
|
def wait_for_completion(status, op_result, module):
|
||||||
op_id = navigate_hash(op_result, ['name'])
|
op_id = navigate_hash(op_result, ['name'])
|
||||||
op_uri = async_op_url(module, {'op_id': op_id})
|
op_uri = async_op_url(module, {'op_id': op_id})
|
||||||
if not status:
|
while not status:
|
||||||
raise_if_errors(op_result, ['error'], module)
|
raise_if_errors(op_result, ['error'], module)
|
||||||
time.sleep(1.0)
|
time.sleep(1.0)
|
||||||
op_result = fetch_resource(module, op_uri)
|
op_result = fetch_resource(module, op_uri)
|
||||||
|
|
|
@ -1,2 +1,3 @@
|
||||||
---
|
---
|
||||||
resource_name: "{{ resource_prefix }}"
|
# defaults file
|
||||||
|
resource_name: '{{resource_prefix}}'
|
||||||
|
|
|
@ -15,47 +15,47 @@
|
||||||
# Pre-test setup
|
# Pre-test setup
|
||||||
- name: create a network
|
- name: create a network
|
||||||
gcp_compute_network:
|
gcp_compute_network:
|
||||||
name: network-instance
|
name: "network-instance"
|
||||||
project: "{{ gcp_project }}"
|
project: "{{ gcp_project }}"
|
||||||
auth_kind: "{{ gcp_cred_kind }}"
|
auth_kind: "{{ gcp_cred_kind }}"
|
||||||
service_account_file: "{{ gcp_cred_file }}"
|
service_account_file: "{{ gcp_cred_file }}"
|
||||||
state: present
|
state: present
|
||||||
register: network
|
register: network
|
||||||
- name: delete a instance
|
- name: delete a instance
|
||||||
gcp_redis_instance:
|
gcp_redis_instance:
|
||||||
name: instance37
|
name: instance37
|
||||||
tier: STANDARD_HA
|
tier: STANDARD_HA
|
||||||
memory_size_gb: 1
|
memory_size_gb: 1
|
||||||
region: us-central1
|
region: us-central1
|
||||||
location_id: us-central1-a
|
location_id: us-central1-a
|
||||||
redis_version: REDIS_3_2
|
redis_version: REDIS_3_2
|
||||||
display_name: Ansible Test Instance
|
display_name: Ansible Test Instance
|
||||||
reserved_ip_range: 192.168.0.0/29
|
reserved_ip_range: 192.168.0.0/29
|
||||||
labels:
|
labels:
|
||||||
my_key: my_val
|
my_key: my_val
|
||||||
other_key: other_val
|
other_key: other_val
|
||||||
project: "{{ gcp_project }}"
|
project: "{{ gcp_project }}"
|
||||||
auth_kind: "{{ gcp_cred_kind }}"
|
auth_kind: "{{ gcp_cred_kind }}"
|
||||||
service_account_file: "{{ gcp_cred_file }}"
|
service_account_file: "{{ gcp_cred_file }}"
|
||||||
state: absent
|
state: absent
|
||||||
#----------------------------------------------------------
|
#----------------------------------------------------------
|
||||||
- name: create a instance
|
- name: create a instance
|
||||||
gcp_redis_instance:
|
gcp_redis_instance:
|
||||||
name: instance37
|
name: instance37
|
||||||
tier: STANDARD_HA
|
tier: STANDARD_HA
|
||||||
memory_size_gb: 1
|
memory_size_gb: 1
|
||||||
region: us-central1
|
region: us-central1
|
||||||
location_id: us-central1-a
|
location_id: us-central1-a
|
||||||
redis_version: REDIS_3_2
|
redis_version: REDIS_3_2
|
||||||
display_name: Ansible Test Instance
|
display_name: Ansible Test Instance
|
||||||
reserved_ip_range: 192.168.0.0/29
|
reserved_ip_range: 192.168.0.0/29
|
||||||
labels:
|
labels:
|
||||||
my_key: my_val
|
my_key: my_val
|
||||||
other_key: other_val
|
other_key: other_val
|
||||||
project: "{{ gcp_project }}"
|
project: "{{ gcp_project }}"
|
||||||
auth_kind: "{{ gcp_cred_kind }}"
|
auth_kind: "{{ gcp_cred_kind }}"
|
||||||
service_account_file: "{{ gcp_cred_file }}"
|
service_account_file: "{{ gcp_cred_file }}"
|
||||||
state: present
|
state: present
|
||||||
register: result
|
register: result
|
||||||
- name: assert changed is true
|
- name: assert changed is true
|
||||||
assert:
|
assert:
|
||||||
|
@ -77,21 +77,21 @@
|
||||||
# ----------------------------------------------------------------------------
|
# ----------------------------------------------------------------------------
|
||||||
- name: create a instance that already exists
|
- name: create a instance that already exists
|
||||||
gcp_redis_instance:
|
gcp_redis_instance:
|
||||||
name: instance37
|
name: instance37
|
||||||
tier: STANDARD_HA
|
tier: STANDARD_HA
|
||||||
memory_size_gb: 1
|
memory_size_gb: 1
|
||||||
region: us-central1
|
region: us-central1
|
||||||
location_id: us-central1-a
|
location_id: us-central1-a
|
||||||
redis_version: REDIS_3_2
|
redis_version: REDIS_3_2
|
||||||
display_name: Ansible Test Instance
|
display_name: Ansible Test Instance
|
||||||
reserved_ip_range: 192.168.0.0/29
|
reserved_ip_range: 192.168.0.0/29
|
||||||
labels:
|
labels:
|
||||||
my_key: my_val
|
my_key: my_val
|
||||||
other_key: other_val
|
other_key: other_val
|
||||||
project: "{{ gcp_project }}"
|
project: "{{ gcp_project }}"
|
||||||
auth_kind: "{{ gcp_cred_kind }}"
|
auth_kind: "{{ gcp_cred_kind }}"
|
||||||
service_account_file: "{{ gcp_cred_file }}"
|
service_account_file: "{{ gcp_cred_file }}"
|
||||||
state: present
|
state: present
|
||||||
register: result
|
register: result
|
||||||
- name: assert changed is false
|
- name: assert changed is false
|
||||||
assert:
|
assert:
|
||||||
|
@ -100,21 +100,21 @@
|
||||||
#----------------------------------------------------------
|
#----------------------------------------------------------
|
||||||
- name: delete a instance
|
- name: delete a instance
|
||||||
gcp_redis_instance:
|
gcp_redis_instance:
|
||||||
name: instance37
|
name: instance37
|
||||||
tier: STANDARD_HA
|
tier: STANDARD_HA
|
||||||
memory_size_gb: 1
|
memory_size_gb: 1
|
||||||
region: us-central1
|
region: us-central1
|
||||||
location_id: us-central1-a
|
location_id: us-central1-a
|
||||||
redis_version: REDIS_3_2
|
redis_version: REDIS_3_2
|
||||||
display_name: Ansible Test Instance
|
display_name: Ansible Test Instance
|
||||||
reserved_ip_range: 192.168.0.0/29
|
reserved_ip_range: 192.168.0.0/29
|
||||||
labels:
|
labels:
|
||||||
my_key: my_val
|
my_key: my_val
|
||||||
other_key: other_val
|
other_key: other_val
|
||||||
project: "{{ gcp_project }}"
|
project: "{{ gcp_project }}"
|
||||||
auth_kind: "{{ gcp_cred_kind }}"
|
auth_kind: "{{ gcp_cred_kind }}"
|
||||||
service_account_file: "{{ gcp_cred_file }}"
|
service_account_file: "{{ gcp_cred_file }}"
|
||||||
state: absent
|
state: absent
|
||||||
register: result
|
register: result
|
||||||
- name: assert changed is true
|
- name: assert changed is true
|
||||||
assert:
|
assert:
|
||||||
|
@ -136,21 +136,21 @@
|
||||||
# ----------------------------------------------------------------------------
|
# ----------------------------------------------------------------------------
|
||||||
- name: delete a instance that does not exist
|
- name: delete a instance that does not exist
|
||||||
gcp_redis_instance:
|
gcp_redis_instance:
|
||||||
name: instance37
|
name: instance37
|
||||||
tier: STANDARD_HA
|
tier: STANDARD_HA
|
||||||
memory_size_gb: 1
|
memory_size_gb: 1
|
||||||
region: us-central1
|
region: us-central1
|
||||||
location_id: us-central1-a
|
location_id: us-central1-a
|
||||||
redis_version: REDIS_3_2
|
redis_version: REDIS_3_2
|
||||||
display_name: Ansible Test Instance
|
display_name: Ansible Test Instance
|
||||||
reserved_ip_range: 192.168.0.0/29
|
reserved_ip_range: 192.168.0.0/29
|
||||||
labels:
|
labels:
|
||||||
my_key: my_val
|
my_key: my_val
|
||||||
other_key: other_val
|
other_key: other_val
|
||||||
project: "{{ gcp_project }}"
|
project: "{{ gcp_project }}"
|
||||||
auth_kind: "{{ gcp_cred_kind }}"
|
auth_kind: "{{ gcp_cred_kind }}"
|
||||||
service_account_file: "{{ gcp_cred_file }}"
|
service_account_file: "{{ gcp_cred_file }}"
|
||||||
state: absent
|
state: absent
|
||||||
register: result
|
register: result
|
||||||
- name: assert changed is false
|
- name: assert changed is false
|
||||||
assert:
|
assert:
|
||||||
|
@ -161,10 +161,10 @@
|
||||||
# If errors happen, don't crash the playbook!
|
# If errors happen, don't crash the playbook!
|
||||||
- name: delete a network
|
- name: delete a network
|
||||||
gcp_compute_network:
|
gcp_compute_network:
|
||||||
name: network-instance
|
name: "network-instance"
|
||||||
project: "{{ gcp_project }}"
|
project: "{{ gcp_project }}"
|
||||||
auth_kind: "{{ gcp_cred_kind }}"
|
auth_kind: "{{ gcp_cred_kind }}"
|
||||||
service_account_file: "{{ gcp_cred_file }}"
|
service_account_file: "{{ gcp_cred_file }}"
|
||||||
state: absent
|
state: absent
|
||||||
register: network
|
register: network
|
||||||
ignore_errors: true
|
ignore_errors: true
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue