def _build_url_map_dict(params, project_id=None): """ Reformat services in Ansible Params. :param params: Params from AnsibleModule object :type params: ``dict`` :param project_id: The GCP project ID. :type project_id: ``str`` :return: dictionary suitable for submission to GCP UrlMap API. :rtype ``dict`` """ url = '' if project_id: url = GCPUtils.build_googleapi_url(project_id) gcp_dict = GCPUtils.params_to_gcp_dict(params, 'url_map_name') if 'defaultService' in gcp_dict: gcp_dict['defaultService'] = '%s/global/backendServices/%s' % ( url, gcp_dict['defaultService']) if 'pathMatchers' in gcp_dict: gcp_dict['pathMatchers'] = _build_path_matchers( gcp_dict['pathMatchers'], project_id) return gcp_dict
def _build_global_forwarding_rule_dict(params, project_id=None): """ Reformat services in Ansible Params. :param params: Params from AnsibleModule object :type params: ``dict`` :param project_id: The GCP project ID. :type project_id: ``str`` :return: dictionary suitable for submission to GCP API. :rtype ``dict`` """ url = '' if project_id: url = GCPUtils.build_googleapi_url(project_id) gcp_dict = GCPUtils.params_to_gcp_dict(params, 'forwarding_rule_name') if 'target' in gcp_dict: gcp_dict['target'] = '%s/global/targetHttpProxies/%s' % (url, gcp_dict['target']) if 'address' in gcp_dict: gcp_dict['IPAddress'] = '%s/global/addresses/%s' % (url, gcp_dict['address']) del gcp_dict['address'] if 'protocol' in gcp_dict: gcp_dict['IPProtocol'] = gcp_dict['protocol'] del gcp_dict['protocol'] return gcp_dict
def _build_healthcheck_dict(params): """ Reformat services in Ansible Params for GCP. :param params: Params from AnsibleModule object :type params: ``dict`` :param project_id: The GCP project ID. :type project_id: ``str`` :return: dictionary suitable for submission to GCP HealthCheck (HTTP/HTTPS) API. :rtype ``dict`` """ gcp_dict = GCPUtils.params_to_gcp_dict(params, 'healthcheck_name') if 'timeout' in gcp_dict: gcp_dict['timeoutSec'] = gcp_dict['timeout'] del gcp_dict['timeout'] if 'checkInterval' in gcp_dict: gcp_dict['checkIntervalSec'] = gcp_dict['checkInterval'] del gcp_dict['checkInterval'] if 'hostHeader' in gcp_dict: gcp_dict['host'] = gcp_dict['hostHeader'] del gcp_dict['hostHeader'] if 'healthcheckType' in gcp_dict: del gcp_dict['healthcheckType'] return gcp_dict
def _build_target_proxy_dict(params, project_id=None): """ Reformat services in Ansible Params. :param params: Params from AnsibleModule object :type params: ``dict`` :param project_id: The GCP project ID. :type project_id: ``str`` :return: dictionary suitable for submission to GCP UrlMap API. :rtype ``dict`` """ url = '' if project_id: url = GCPUtils.build_googleapi_url(project_id) gcp_dict = GCPUtils.params_to_gcp_dict(params, 'target_proxy_name') if 'urlMap' in gcp_dict: gcp_dict['urlMap'] = '%s/global/urlMaps/%s' % (url, gcp_dict['urlMap']) return gcp_dict