mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-05-08 02:01:31 -07:00
Bug fixes for GCP modules (#55977)
This commit is contained in:
parent
b37ae35ba0
commit
e598eeeebe
8 changed files with 32 additions and 44 deletions
|
@ -53,8 +53,8 @@ EXAMPLES = '''
|
||||||
'''
|
'''
|
||||||
|
|
||||||
RETURN = '''
|
RETURN = '''
|
||||||
items:
|
resources:
|
||||||
description: List of items
|
description: List of resources
|
||||||
returned: always
|
returned: always
|
||||||
type: complex
|
type: complex
|
||||||
contains:
|
contains:
|
||||||
|
@ -99,7 +99,7 @@ def main():
|
||||||
items = items.get('repos')
|
items = items.get('repos')
|
||||||
else:
|
else:
|
||||||
items = []
|
items = []
|
||||||
return_value = {'items': items}
|
return_value = {'resources': items}
|
||||||
module.exit_json(**return_value)
|
module.exit_json(**return_value)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -63,8 +63,8 @@ EXAMPLES = '''
|
||||||
'''
|
'''
|
||||||
|
|
||||||
RETURN = '''
|
RETURN = '''
|
||||||
items:
|
resources:
|
||||||
description: List of items
|
description: List of resources
|
||||||
returned: always
|
returned: always
|
||||||
type: complex
|
type: complex
|
||||||
contains:
|
contains:
|
||||||
|
@ -111,7 +111,7 @@ def main():
|
||||||
items = items.get('databases')
|
items = items.get('databases')
|
||||||
else:
|
else:
|
||||||
items = []
|
items = []
|
||||||
return_value = {'items': items}
|
return_value = {'resources': items}
|
||||||
module.exit_json(**return_value)
|
module.exit_json(**return_value)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -53,8 +53,8 @@ EXAMPLES = '''
|
||||||
'''
|
'''
|
||||||
|
|
||||||
RETURN = '''
|
RETURN = '''
|
||||||
items:
|
resources:
|
||||||
description: List of items
|
description: List of resources
|
||||||
returned: always
|
returned: always
|
||||||
type: complex
|
type: complex
|
||||||
contains:
|
contains:
|
||||||
|
@ -115,7 +115,7 @@ def main():
|
||||||
items = items.get('instances')
|
items = items.get('instances')
|
||||||
else:
|
else:
|
||||||
items = []
|
items = []
|
||||||
return_value = {'items': items}
|
return_value = {'resources': items}
|
||||||
module.exit_json(**return_value)
|
module.exit_json(**return_value)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -59,15 +59,10 @@ options:
|
||||||
description:
|
description:
|
||||||
- The name of the database in the Cloud SQL instance.
|
- The name of the database in the Cloud SQL instance.
|
||||||
- This does not include the project ID or instance name.
|
- This does not include the project ID or instance name.
|
||||||
required: false
|
required: true
|
||||||
instance:
|
instance:
|
||||||
description:
|
description:
|
||||||
- The name of the Cloud SQL instance. This does not include the project ID.
|
- The name of the Cloud SQL instance. This does not include the project ID.
|
||||||
- 'This field represents a link to a Instance resource in GCP. It can be specified
|
|
||||||
in two ways. First, you can place a dictionary with key ''name'' and value of
|
|
||||||
your resource''s name Alternatively, you can add `register: name-of-resource`
|
|
||||||
to a gcp_sql_instance task and then set this instance field to "{{ name-of-resource
|
|
||||||
}}"'
|
|
||||||
required: true
|
required: true
|
||||||
extends_documentation_fragment: gcp
|
extends_documentation_fragment: gcp
|
||||||
'''
|
'''
|
||||||
|
@ -121,7 +116,7 @@ instance:
|
||||||
description:
|
description:
|
||||||
- The name of the Cloud SQL instance. This does not include the project ID.
|
- The name of the Cloud SQL instance. This does not include the project ID.
|
||||||
returned: success
|
returned: success
|
||||||
type: dict
|
type: str
|
||||||
'''
|
'''
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
|
@ -145,8 +140,8 @@ def main():
|
||||||
state=dict(default='present', choices=['present', 'absent'], type='str'),
|
state=dict(default='present', choices=['present', 'absent'], type='str'),
|
||||||
charset=dict(type='str'),
|
charset=dict(type='str'),
|
||||||
collation=dict(type='str'),
|
collation=dict(type='str'),
|
||||||
name=dict(type='str'),
|
name=dict(required=True, type='str'),
|
||||||
instance=dict(required=True, type='dict'),
|
instance=dict(required=True, type='str'),
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -199,6 +194,7 @@ def delete(module, link, kind):
|
||||||
def resource_to_request(module):
|
def resource_to_request(module):
|
||||||
request = {
|
request = {
|
||||||
u'kind': 'sql#database',
|
u'kind': 'sql#database',
|
||||||
|
u'instance': module.params.get('instance'),
|
||||||
u'charset': module.params.get('charset'),
|
u'charset': module.params.get('charset'),
|
||||||
u'collation': module.params.get('collation'),
|
u'collation': module.params.get('collation'),
|
||||||
u'name': module.params.get('name'),
|
u'name': module.params.get('name'),
|
||||||
|
@ -217,13 +213,11 @@ def fetch_resource(module, link, kind, allow_not_found=True):
|
||||||
|
|
||||||
|
|
||||||
def self_link(module):
|
def self_link(module):
|
||||||
res = {'project': module.params['project'], 'instance': replace_resource_dict(module.params['instance'], 'name'), 'name': module.params['name']}
|
return "https://www.googleapis.com/sql/v1beta4/projects/{project}/instances/{instance}/databases/{name}".format(**module.params)
|
||||||
return "https://www.googleapis.com/sql/v1beta4/projects/{project}/instances/{instance}/databases/{name}".format(**res)
|
|
||||||
|
|
||||||
|
|
||||||
def collection(module):
|
def collection(module):
|
||||||
res = {'project': module.params['project'], 'instance': replace_resource_dict(module.params['instance'], 'name')}
|
return "https://www.googleapis.com/sql/v1beta4/projects/{project}/instances/{instance}/databases".format(**module.params)
|
||||||
return "https://www.googleapis.com/sql/v1beta4/projects/{project}/instances/{instance}/databases".format(**res)
|
|
||||||
|
|
||||||
|
|
||||||
def return_if_object(module, response, kind, allow_not_found=False):
|
def return_if_object(module, response, kind, allow_not_found=False):
|
||||||
|
@ -271,7 +265,7 @@ def is_different(module, response):
|
||||||
# Remove unnecessary properties from the response.
|
# Remove unnecessary properties from the response.
|
||||||
# This is for doing comparisons with Ansible's current parameters.
|
# This is for doing comparisons with Ansible's current parameters.
|
||||||
def response_to_hash(module, response):
|
def response_to_hash(module, response):
|
||||||
return {u'charset': response.get(u'charset'), u'collation': response.get(u'collation'), u'name': response.get(u'name')}
|
return {u'charset': response.get(u'charset'), u'collation': response.get(u'collation'), u'name': module.params.get('name')}
|
||||||
|
|
||||||
|
|
||||||
def async_op_url(module, extra_data=None):
|
def async_op_url(module, extra_data=None):
|
||||||
|
|
|
@ -43,11 +43,6 @@ options:
|
||||||
instance:
|
instance:
|
||||||
description:
|
description:
|
||||||
- The name of the Cloud SQL instance. This does not include the project ID.
|
- The name of the Cloud SQL instance. This does not include the project ID.
|
||||||
- 'This field represents a link to a Instance resource in GCP. It can be specified
|
|
||||||
in two ways. First, you can place a dictionary with key ''name'' and value of
|
|
||||||
your resource''s name Alternatively, you can add `register: name-of-resource`
|
|
||||||
to a gcp_sql_instance task and then set this instance field to "{{ name-of-resource
|
|
||||||
}}"'
|
|
||||||
required: true
|
required: true
|
||||||
extends_documentation_fragment: gcp
|
extends_documentation_fragment: gcp
|
||||||
'''
|
'''
|
||||||
|
@ -63,8 +58,8 @@ EXAMPLES = '''
|
||||||
'''
|
'''
|
||||||
|
|
||||||
RETURN = '''
|
RETURN = '''
|
||||||
items:
|
resources:
|
||||||
description: List of items
|
description: List of resources
|
||||||
returned: always
|
returned: always
|
||||||
type: complex
|
type: complex
|
||||||
contains:
|
contains:
|
||||||
|
@ -88,13 +83,13 @@ items:
|
||||||
description:
|
description:
|
||||||
- The name of the Cloud SQL instance. This does not include the project ID.
|
- The name of the Cloud SQL instance. This does not include the project ID.
|
||||||
returned: success
|
returned: success
|
||||||
type: dict
|
type: str
|
||||||
'''
|
'''
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# Imports
|
# Imports
|
||||||
################################################################################
|
################################################################################
|
||||||
from ansible.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest, replace_resource_dict
|
from ansible.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest
|
||||||
import json
|
import json
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
|
@ -103,7 +98,7 @@ import json
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
module = GcpModule(argument_spec=dict(instance=dict(required=True, type='dict')))
|
module = GcpModule(argument_spec=dict(instance=dict(required=True, type='str')))
|
||||||
|
|
||||||
if not module.params['scopes']:
|
if not module.params['scopes']:
|
||||||
module.params['scopes'] = ['https://www.googleapis.com/auth/sqlservice.admin']
|
module.params['scopes'] = ['https://www.googleapis.com/auth/sqlservice.admin']
|
||||||
|
@ -113,13 +108,12 @@ def main():
|
||||||
items = items.get('items')
|
items = items.get('items')
|
||||||
else:
|
else:
|
||||||
items = []
|
items = []
|
||||||
return_value = {'items': items}
|
return_value = {'resources': items}
|
||||||
module.exit_json(**return_value)
|
module.exit_json(**return_value)
|
||||||
|
|
||||||
|
|
||||||
def collection(module):
|
def collection(module):
|
||||||
res = {'project': module.params['project'], 'instance': replace_resource_dict(module.params['instance'], 'name')}
|
return "https://www.googleapis.com/sql/v1beta4/projects/{project}/instances/{instance}/databases".format(**module.params)
|
||||||
return "https://www.googleapis.com/sql/v1beta4/projects/{project}/instances/{instance}/databases".format(**res)
|
|
||||||
|
|
||||||
|
|
||||||
def fetch_list(module, link):
|
def fetch_list(module, link):
|
||||||
|
|
|
@ -53,8 +53,8 @@ EXAMPLES = '''
|
||||||
'''
|
'''
|
||||||
|
|
||||||
RETURN = '''
|
RETURN = '''
|
||||||
items:
|
resources:
|
||||||
description: List of items
|
description: List of resources
|
||||||
returned: always
|
returned: always
|
||||||
type: complex
|
type: complex
|
||||||
contains:
|
contains:
|
||||||
|
@ -373,7 +373,7 @@ def main():
|
||||||
items = items.get('items')
|
items = items.get('items')
|
||||||
else:
|
else:
|
||||||
items = []
|
items = []
|
||||||
return_value = {'items': items}
|
return_value = {'resources': items}
|
||||||
module.exit_json(**return_value)
|
module.exit_json(**return_value)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -63,8 +63,8 @@ EXAMPLES = '''
|
||||||
'''
|
'''
|
||||||
|
|
||||||
RETURN = '''
|
RETURN = '''
|
||||||
items:
|
resources:
|
||||||
description: List of items
|
description: List of resources
|
||||||
returned: always
|
returned: always
|
||||||
type: complex
|
type: complex
|
||||||
contains:
|
contains:
|
||||||
|
@ -114,7 +114,7 @@ def main():
|
||||||
items = items.get('items')
|
items = items.get('items')
|
||||||
else:
|
else:
|
||||||
items = []
|
items = []
|
||||||
return_value = {'items': items}
|
return_value = {'resources': items}
|
||||||
module.exit_json(**return_value)
|
module.exit_json(**return_value)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -59,7 +59,7 @@
|
||||||
- name: verify that command succeeded
|
- name: verify that command succeeded
|
||||||
assert:
|
assert:
|
||||||
that:
|
that:
|
||||||
- results['items'] | length >= 1
|
- results['resources'] | length >= 1
|
||||||
# ----------------------------------------------------------------------------
|
# ----------------------------------------------------------------------------
|
||||||
- name: create a instance that already exists
|
- name: create a instance that already exists
|
||||||
gcp_sql_instance:
|
gcp_sql_instance:
|
||||||
|
@ -113,7 +113,7 @@
|
||||||
- name: verify that command succeeded
|
- name: verify that command succeeded
|
||||||
assert:
|
assert:
|
||||||
that:
|
that:
|
||||||
- results['items'] | length == 0
|
- results['resources'] | length == 0
|
||||||
# ----------------------------------------------------------------------------
|
# ----------------------------------------------------------------------------
|
||||||
- name: delete a instance that does not exist
|
- name: delete a instance that does not exist
|
||||||
gcp_sql_instance:
|
gcp_sql_instance:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue