def resource_to_request(module): request = { u'kind': 'compute#vpnTunnel', u'name': module.params.get('name'), u'description': module.params.get('description'), u'targetVpnGateway': replace_resource_dict(module.params.get(u'target_vpn_gateway', {}), 'selfLink'), u'router': replace_resource_dict(module.params.get(u'router', {}), 'selfLink'), u'peerIp': module.params.get('peer_ip'), u'sharedSecret': module.params.get('shared_secret'), u'ikeVersion': module.params.get('ike_version'), u'localTrafficSelector': module.params.get('local_traffic_selector'), u'remoteTrafficSelector': module.params.get('remote_traffic_selector'), u'labels': module.params.get('labels') } return_vals = {} for k, v in request.items(): if v or v is False: return_vals[k] = v return return_vals
def set_default(module): res = { 'project': module.params['project'], 'model': replace_resource_dict(module.params['model'], 'name'), 'name': module.params['name'] } link = "https://ml.googleapis.com/v1/projects/{project}/models/{model}/versions/{name}:setDefault".format( **res) auth = GcpSession(module, 'mlengine') return_if_object(module, auth.post(link))
def ssl_certificates_update(module, request, response): auth = GcpSession(module, 'compute') auth.post( ''.join([ "https://www.googleapis.com/compute/v1/", "projects/{project}/targetHttpsProxies/{name}/setSslCertificates" ]).format(**module.params), { u'sslCertificates': replace_resource_dict(module.params.get('ssl_certificates', []), 'selfLink') })
def resource_to_request(module): request = { u'kind': 'compute#targetHttpsProxy', u'description': module.params.get('description'), u'name': module.params.get('name'), u'sslCertificates': replace_resource_dict(module.params.get('ssl_certificates', []), 'selfLink'), u'urlMap': replace_resource_dict(module.params.get(u'url_map', {}), 'selfLink') } return_vals = {} for k, v in request.items(): if v: return_vals[k] = v return return_vals
def _request_for_item(self, item): return remove_nones_from_dict({ u'description': item.get('description'), u'host': item.get('host'), u'path': item.get('path'), u'service': replace_resource_dict(item.get(u'service', {}), 'selfLink'), })
def _request_for_item(self, item): return remove_nones_from_dict({ u'bucket': replace_resource_dict(item.get(u'bucket', {}), 'name'), u'domain': item.get('domain'), u'email': item.get('email'), u'entity': item.get('entity'), u'entityId': item.get('entity_id'), u'id': item.get('id'), u'projectTeam': BucketProjectTeam(item.get('project_team', {})).to_request(), u'role': item.get('role') })
def topic_pattern(name, module): if name is None: return regex = r"projects/.*/topics/.*" if not re.match(regex, name): formatted_params = {'project': module.params['project'], 'topic': replace_resource_dict(module.params['topic'], 'name')} name = "projects/{project}/topics/{topic}".format(**formatted_params) return name
def _request_for_item(self, item): return remove_nones_from_dict({ u'bucket': replace_resource_dict(item.get(u'bucket', {}), 'name'), u'entity': item.get('entity'), u'object': item.get('object'), u'role': item.get('role'), })
def __init__(self, module): self.module = module self.current_instances = self.list_instances() self.module_instances = [] # Transform module list of instances (dicts of instance responses) into a list of selfLinks. instances = self.module.params.get('instances') if instances: for instance in instances: self.module_instances.append( replace_resource_dict(instance, 'selfLink'))
def service_update(module, request, response): auth = GcpSession(module, 'compute') auth.post( ''.join([ "https://www.googleapis.com/compute/v1/", "projects/{project}/global/targetSslProxies/{name}/setBackendService" ]).format(**module.params), { u'service': replace_resource_dict(module.params.get(u'service', {}), 'selfLink') })
def response_to_hash(module, response): return { u'name': name_pattern(module.params.get('name'), module), u'topic': topic_pattern(replace_resource_dict(module.params.get(u'topic', {}), 'name'), module), u'labels': response.get(u'labels'), u'pushConfig': SubscriptionPushconfig(response.get(u'pushConfig', {}), module).from_response(), u'ackDeadlineSeconds': response.get(u'ackDeadlineSeconds'), u'messageRetentionDuration': response.get(u'messageRetentionDuration'), u'retainAckedMessages': response.get(u'retainAckedMessages'), u'expirationPolicy': SubscriptionExpirationpolicy(response.get(u'expirationPolicy', {}), module).from_response(), }
def url_map_update(module, request, response): auth = GcpSession(module, 'compute') auth.post( ''.join([ "https://www.googleapis.com/compute/v1/", "projects/{project}/targetHttpProxies/{name}/setUrlMap" ]).format(**module.params), { u'urlMap': replace_resource_dict(module.params.get(u'url_map', {}), 'selfLink') })
def resource_to_request(module): request = { u'kind': 'compute#forwardingRule', u'description': module.params.get('description'), u'IPAddress': module.params.get('ip_address'), u'IPProtocol': module.params.get('ip_protocol'), u'backendService': replace_resource_dict(module.params.get(u'backend_service', {}), 'selfLink'), u'ipVersion': module.params.get('ip_version'), u'loadBalancingScheme': module.params.get('load_balancing_scheme'), u'name': module.params.get('name'), u'network': replace_resource_dict(module.params.get(u'network', {}), 'selfLink'), u'portRange': module.params.get('port_range'), u'ports': module.params.get('ports'), u'subnetwork': replace_resource_dict(module.params.get(u'subnetwork', {}), 'selfLink'), u'target': replace_resource_dict(module.params.get(u'target', {}), 'selfLink'), u'allPorts': module.params.get('all_ports'), u'networkTier': module.params.get('network_tier'), } return_vals = {} for k, v in request.items(): if v or v is False: return_vals[k] = v return return_vals
def resource_to_request(module): request = { u'kind': 'compute#route', u'destRange': module.params.get('dest_range'), u'description': module.params.get('description'), u'name': module.params.get('name'), u'network': replace_resource_dict(module.params.get(u'network', {}), 'selfLink'), u'priority': module.params.get('priority'), u'tags': module.params.get('tags'), u'nextHopGateway': module.params.get('next_hop_gateway'), u'nextHopInstance': replace_resource_dict(module.params.get(u'next_hop_instance', {}), 'selfLink'), u'nextHopIp': module.params.get('next_hop_ip'), u'nextHopVpnTunnel': replace_resource_dict(module.params.get(u'next_hop_vpn_tunnel', {}), 'selfLink'), u'nextHopIlb': replace_resource_dict(module.params.get(u'next_hop_ilb', {}), 'selfLink'), } return_vals = {} for k, v in request.items(): if v or v is False: return_vals[k] = v return return_vals
def response_to_hash(module, response): return { u'creationTimestamp': response.get(u'creationTimestamp'), u'description': response.get(u'description'), u'gatewayAddress': response.get(u'gatewayAddress'), u'id': response.get(u'id'), u'ipCidrRange': response.get(u'ipCidrRange'), u'name': response.get(u'name'), u'network': replace_resource_dict(module.params.get(u'network', {}), 'selfLink'), u'privateIpGoogleAccess': response.get(u'privateIpGoogleAccess'), u'region': module.params.get('region') }
def response_to_hash(module, response): return { u'destRange': response.get(u'destRange'), u'name': response.get(u'name'), u'network': replace_resource_dict(module.params.get(u'network', {}), 'selfLink'), u'priority': module.params.get('priority'), u'tags': module.params.get('tags'), u'nextHopGateway': module.params.get('next_hop_gateway'), u'nextHopInstance': module.params.get('next_hop_instance'), u'nextHopIp': module.params.get('next_hop_ip'), u'nextHopVpnTunnel': module.params.get('next_hop_vpn_tunnel') }
def _request_for_item(self, item): return remove_nones_from_dict({ u'balancingMode': item.get('balancing_mode'), u'capacityScaler': item.get('capacity_scaler'), u'description': item.get('description'), u'group': replace_resource_dict(item.get(u'group', {}), 'selfLink'), u'maxConnections': item.get('max_connections'), u'maxConnectionsPerInstance': item.get('max_connections_per_instance'), u'maxRate': item.get('max_rate'), u'maxRatePerInstance': item.get('max_rate_per_instance'), u'maxUtilization': item.get('max_utilization') })
def response_to_hash(module, response): return { u'creationTimestamp': response.get(u'creationTimestamp'), u'description': response.get(u'description'), u'gatewayAddress': module.params.get('gateway_address'), u'id': response.get(u'id'), u'ipCidrRange': module.params.get('ip_cidr_range'), u'name': response.get(u'name'), u'network': replace_resource_dict(module.params.get(u'network', {}), 'selfLink'), u'privateIpGoogleAccess': response.get(u'privateIpGoogleAccess'), u'region': module.params.get('region') }
def target_update(module, request, response): auth = GcpSession(module, 'compute') auth.post( ''.join([ "https://www.googleapis.com/compute/v1/", "projects/{project}/regions/{region}/forwardingRules/{name}/setTarget" ]).format(**module.params), { u'target': replace_resource_dict(module.params.get(u'target', {}), 'selfLink') }, )
def _request_for_item(self, item): return remove_nones_from_dict({ u'balancingMode': item.get('balancing_mode'), u'capacityScaler': item.get('capacity_scaler'), u'description': item.get('description'), u'group': replace_resource_dict(item.get(u'group', {}), 'selfLink'), u'maxConnections': item.get('max_connections'), u'maxConnectionsPerInstance': item.get('max_connections_per_instance'), u'maxRate': item.get('max_rate'), u'maxRatePerInstance': item.get('max_rate_per_instance'), u'maxUtilization': item.get('max_utilization') })
def response_to_hash(module, response): return { u'backupPool': replace_resource_dict(module.params.get(u'backup_pool', {}), 'selfLink'), u'creationTimestamp': response.get(u'creationTimestamp'), u'description': response.get(u'description'), u'failoverRatio': response.get(u'failoverRatio'), u'healthCheck': response.get(u'healthCheck'), u'id': response.get(u'id'), u'instances': response.get(u'instances'), u'name': module.params.get('name'), u'sessionAffinity': module.params.get('session_affinity') }
def response_to_hash(module, response): return { u'creationTimestamp': response.get(u'creationTimestamp'), u'description': response.get(u'description'), u'gatewayAddress': response.get(u'gatewayAddress'), u'id': response.get(u'id'), u'ipCidrRange': response.get(u'ipCidrRange'), u'name': response.get(u'name'), u'network': replace_resource_dict(module.params.get(u'network', {}), 'selfLink'), u'secondaryIpRanges': SubnetworkSecondaryiprangesArray(response.get(u'secondaryIpRanges', []), module).from_response(), u'privateIpGoogleAccess': response.get(u'privateIpGoogleAccess'), u'region': module.params.get('region'), }
def _request_for_item(self, item): return remove_nones_from_dict({ u'defaultService': replace_resource_dict(item.get(u'default_service', {}), 'selfLink'), u'description': item.get('description'), u'name': item.get('name'), u'pathRules': UrlMapPathRulesArray(item.get('path_rules', []), self.module).to_request() })
def resource_to_request(module): request = { u'kind': 'compute#targetVpnGateway', u'description': module.params.get('description'), u'name': module.params.get('name'), u'network': replace_resource_dict(module.params.get(u'network', {}), 'selfLink') } return_vals = {} for k, v in request.items(): if v: return_vals[k] = v return return_vals
def self_link(module): res = { 'project': module.params['project'], 'managed_zone': replace_resource_dict(module.params['managed_zone'], 'name'), 'name': module.params['name'], 'type': module.params['type'] } return "https://www.googleapis.com/dns/v1/projects/{project}/managedZones/{managed_zone}/rrsets?name={name}&type={type}".format( **res)
def resource_to_request(module): request = { u'kind': 'compute#targetHttpProxy', u'description': module.params.get('description'), u'name': module.params.get('name'), u'urlMap': replace_resource_dict(module.params.get(u'url_map', {}), 'selfLink'), } return_vals = {} for k, v in request.items(): if v or v is False: return_vals[k] = v return return_vals
def resource_to_request(module): request = { u'kind': 'compute#targetSslProxy', u'description': module.params.get('description'), u'name': module.params.get('name'), u'proxyHeader': module.params.get('proxy_header'), u'service': replace_resource_dict(module.params.get(u'service', {}), 'selfLink'), u'sslCertificates': replace_resource_dict(module.params.get('ssl_certificates', []), 'selfLink') } return_vals = {} for k, v in request.items(): if v or v is False: return_vals[k] = v return return_vals
def node_template_update(module, request, response): auth = GcpSession(module, 'compute') auth.post( ''.join([ "https://www.googleapis.com/compute/v1/", "projects/{project}/zones/{zone}/nodeGroups/{name}/setNodeTemplate" ]).format(**module.params), { u'nodeTemplate': replace_resource_dict(module.params.get(u'node_template', {}), 'selfLink') }, )
def response_to_hash(module, response): return { u'name': module.params.get('name'), u'topic': replace_resource_dict(module.params.get(u'topic', {}), 'name'), u'labels': response.get(u'labels'), u'pushConfig': SubscriptionPushconfig(response.get(u'pushConfig', {}), module).from_response(), u'ackDeadlineSeconds': response.get(u'ackDeadlineSeconds'), }
def resource_to_request(module): request = { u'kind': 'storage#bucketAccessControl', u'bucket': replace_resource_dict(module.params.get(u'bucket', {}), 'name'), u'entity': module.params.get('entity'), u'role': module.params.get('role'), } return_vals = {} for k, v in request.items(): if v or v is False: return_vals[k] = v return return_vals
def resource_to_request(module): request = { u'name': module.params.get('name'), u'topic': replace_resource_dict(module.params.get(u'topic', {}), 'name'), u'pushConfig': SubscriptionPushconfig(module.params.get('push_config', {}), module).to_request(), u'ackDeadlineSeconds': module.params.get('ack_deadline_seconds'), } request = encode_request(request, module) return_vals = {} for k, v in request.items(): if v or v is False: return_vals[k] = v return return_vals
def _request_for_item(self, item): return remove_nones_from_dict({ u'bucket': replace_resource_dict(item.get(u'bucket', {}), 'name'), u'entity': item.get('entity'), u'entityId': item.get('entity_id'), u'projectTeam': BucketProjectteam(item.get('project_team', {}), self.module).to_request(), u'role': item.get('role'), })
def resource_to_request(module): request = { u'name': module.params.get('name'), u'topic': replace_resource_dict(module.params.get(u'topic', {}), 'name'), u'pushConfig': SubscriPushConfig(module.params.get('push_config', {}), module).to_request(), u'ackDeadlineSeconds': module.params.get('ack_deadline_seconds') } request = encode_request(request, module) return_vals = {} for k, v in request.items(): if v: return_vals[k] = v return return_vals
def response_to_hash(module, response): return { u'id': response.get(u'id'), u'creationTimestamp': response.get(u'creationTimestamp'), u'name': module.params.get('name'), u'description': response.get(u'description'), u'network': replace_resource_dict(module.params.get(u'network', {}), 'selfLink'), u'bgp': RouterBgp(response.get(u'bgp', {}), module).from_response(), }
def resource_to_request(module): request = { u'kind': 'compute#instanceGroup', u'description': module.params.get('description'), u'name': module.params.get('name'), u'namedPorts': InstanceGroupNamedPortsArray(module.params.get('named_ports', []), module).to_request(), u'network': replace_resource_dict(module.params.get(u'network', {}), 'selfLink'), u'region': region_selflink(module.params.get('region'), module.params), u'subnetwork': replace_resource_dict(module.params.get(u'subnetwork', {}), 'selfLink') } return_vals = {} for k, v in request.items(): if v: return_vals[k] = v return return_vals
def resource_to_request(module): request = { u'kind': 'dns#resourceRecordSet', u'managed_zone': replace_resource_dict(module.params.get(u'managed_zone', {}), 'name'), u'name': module.params.get('name'), u'type': module.params.get('type'), u'ttl': module.params.get('ttl'), u'rrdatas': module.params.get('target') } return_vals = {} for k, v in request.items(): if v: return_vals[k] = v return return_vals
def resource_to_request(module): request = { u'kind': 'compute#subnetwork', u'description': module.params.get('description'), u'gatewayAddress': module.params.get('gateway_address'), u'ipCidrRange': module.params.get('ip_cidr_range'), u'name': module.params.get('name'), u'network': replace_resource_dict(module.params.get(u'network', {}), 'selfLink'), u'privateIpGoogleAccess': module.params.get('private_ip_google_access'), u'region': module.params.get('region') } return_vals = {} for k, v in request.items(): if v: return_vals[k] = v return return_vals
def resource_to_request(module): request = { u'kind': 'compute#route', u'destRange': module.params.get('dest_range'), u'name': module.params.get('name'), u'network': replace_resource_dict(module.params.get(u'network', {}), 'selfLink'), u'priority': module.params.get('priority'), u'tags': module.params.get('tags'), u'nextHopGateway': module.params.get('next_hop_gateway'), u'nextHopInstance': module.params.get('next_hop_instance'), u'nextHopIp': module.params.get('next_hop_ip'), u'nextHopVpnTunnel': module.params.get('next_hop_vpn_tunnel') } return_vals = {} for k, v in request.items(): if v: return_vals[k] = v return return_vals