def main(): """Main function""" module = GcpModule( argument_spec=dict( state=dict(default='present', choices=['present', 'absent'], type='str'), name=dict(type='str') ) ) state = module.params['state'] fetch = fetch_resource(module, self_link(module)) changed = False if fetch: if state == 'present': if is_different(module, fetch): fetch = update(module, self_link(module)) changed = True else: delete(module, self_link(module)) fetch = {} changed = True else: if state == 'present': fetch = create(module, self_link(module)) changed = True else: fetch = {} fetch.update({'changed': changed}) module.exit_json(**fetch)
def main(): """Main function""" module = GcpModule( argument_spec=dict( state=dict(default='present', choices=['present', 'absent'], type='str'), dest_range=dict(type='str'), name=dict(type='str'), network=dict(type='dict'), priority=dict(type='int'), tags=dict(type='list', elements='str'), next_hop_gateway=dict(type='str'), next_hop_instance=dict(type='str'), next_hop_ip=dict(type='str'), next_hop_vpn_tunnel=dict(type='str') ) ) state = module.params['state'] kind = 'compute#route' fetch = fetch_resource(module, self_link(module), kind) changed = False if fetch: if state == 'present': if is_different(module, fetch): fetch = update(module, self_link(module), kind) changed = True else: delete(module, self_link(module), kind) fetch = {} changed = True else: if state == 'present': fetch = create(module, collection(module), kind) changed = True else: fetch = {} fetch.update({'changed': changed}) module.exit_json(**fetch)
def main(): """Main function""" module = GcpModule( argument_spec=dict( state=dict(default='present', choices=['present', 'absent'], type='str'), check_interval_sec=dict(type='int'), description=dict(type='str'), healthy_threshold=dict(type='int'), host=dict(type='str'), name=dict(required=True, type='str'), port=dict(type='int'), request_path=dict(type='str'), timeout_sec=dict(type='int', aliases=['timeout_seconds']), unhealthy_threshold=dict(type='int') ) ) state = module.params['state'] kind = 'compute#httpsHealthCheck' fetch = fetch_resource(module, self_link(module), kind) changed = False if fetch: if state == 'present': if is_different(module, fetch): fetch = update(module, self_link(module), kind, fetch) changed = True else: delete(module, self_link(module), kind, fetch) fetch = {} changed = True else: if state == 'present': fetch = create(module, collection(module), kind) changed = True else: fetch = {} fetch.update({'changed': changed}) module.exit_json(**fetch)
def main(): """Main function""" module = GcpModule( argument_spec=dict( state=dict(default='present', choices=['present', 'absent'], type='str'), description=dict(type='str'), gateway_address=dict(type='str'), ip_cidr_range=dict(type='str'), name=dict(type='str'), network=dict(type='dict'), private_ip_google_access=dict(type='bool'), region=dict(required=True, type='str') ) ) state = module.params['state'] kind = 'compute#subnetwork' fetch = fetch_resource(module, self_link(module), kind) changed = False if fetch: if state == 'present': if is_different(module, fetch): fetch = update(module, self_link(module), kind, fetch) changed = True else: delete(module, self_link(module), kind, fetch) fetch = {} changed = True else: if state == 'present': fetch = create(module, collection(module), kind) changed = True else: fetch = {} fetch.update({'changed': changed}) module.exit_json(**fetch)
def main(): """Main function""" module = GcpModule( argument_spec=dict( state=dict(default='present', choices=['present', 'absent'], type='str'), name=dict(required=True, type='str'), type=dict(required=True, type='str', choices=['A', 'AAAA', 'CAA', 'CNAME', 'MX', 'NAPTR', 'NS', 'PTR', 'SOA', 'SPF', 'SRV', 'TXT']), ttl=dict(type='int'), target=dict(type='list', elements='str'), managed_zone=dict(required=True, type='dict') ) ) state = module.params['state'] kind = 'dns#resourceRecordSet' fetch = fetch_wrapped_resource(module, 'dns#resourceRecordSet', 'dns#resourceRecordSetsListResponse', 'rrsets') changed = False if fetch: if state == 'present': if is_different(module, fetch): fetch = update(module, self_link(module), kind, fetch) changed = True else: delete(module, self_link(module), kind, fetch) fetch = {} changed = True else: if state == 'present': fetch = create(module, collection(module), kind) changed = True else: fetch = {} fetch.update({'changed': changed}) module.exit_json(**fetch)
def main(): module = GcpModule( argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(required=True, type='str'))) if module._name == 'gcp_compute_region_disk_facts': module.deprecate( "The 'gcp_compute_region_disk_facts' module has been renamed to 'gcp_compute_region_disk_info'", version='2.13') if not module.params['scopes']: module.params['scopes'] = ['https://www.googleapis.com/auth/compute'] items = fetch_list(module, collection(module), query_options(module.params['filters'])) if items.get('items'): items = items.get('items') else: items = [] return_value = {'resources': items} module.exit_json(**return_value)
def main(): module = GcpModule(argument_spec=dict( instance=dict(required=True, type='str'))) if module._name == 'gcp_sql_database_facts': module.deprecate( "The 'gcp_sql_database_facts' module has been renamed to 'gcp_sql_database_info'", version='2.13') if not module.params['scopes']: module.params['scopes'] = [ 'https://www.googleapis.com/auth/sqlservice.admin' ] items = fetch_list(module, collection(module)) if items.get('items'): items = items.get('items') else: items = [] return_value = {'resources': items} module.exit_json(**return_value)
def main(): """Main function""" module = GcpModule( argument_spec=dict(state=dict( default='present', choices=['present', 'absent'], type='str'), certificate=dict(required=True, type='str'), description=dict(type='str'), name=dict(type='str'), private_key=dict(required=True, type='str'))) if not module.params['scopes']: module.params['scopes'] = ['https://www.googleapis.com/auth/compute'] state = module.params['state'] kind = 'compute#sslCertificate' fetch = fetch_resource(module, self_link(module), kind) changed = False if fetch: if state == 'present': if is_different(module, fetch): update(module, self_link(module), kind) fetch = fetch_resource(module, self_link(module), kind) changed = True else: delete(module, self_link(module), kind) fetch = {} changed = True else: if state == 'present': fetch = create(module, collection(module), kind) changed = True else: fetch = {} fetch.update({'changed': changed}) module.exit_json(**fetch)
def main(): """Main function""" module = GcpModule(argument_spec=dict(state=dict( default='present', choices=['present', 'absent'], type='str'), description=dict(type='str'), gateway_ipv4=dict(type='str'), ipv4_range=dict(type='str'), name=dict(type='str'), auto_create_subnetworks=dict( type='bool'))) if not module.params['scopes']: module.params['scopes'] = ['https://www.googleapis.com/auth/compute'] state = module.params['state'] kind = 'compute#network' fetch = fetch_resource(module, self_link(module), kind) changed = False if fetch: if state == 'present': if is_different(module, fetch): fetch = update(module, self_link(module), kind) changed = True else: delete(module, self_link(module), kind) fetch = {} changed = True else: if state == 'present': fetch = create(module, collection(module), kind) changed = True else: fetch = {} fetch.update({'changed': changed}) module.exit_json(**fetch)
def main(): """Main function""" module = GcpModule( argument_spec=dict(state=dict( default='present', choices=['present', 'absent'], type='str'), name=dict(type='str'), extra_statements=dict(type='list', elements='str'), instance=dict(required=True, type='dict'))) if not module.params['scopes']: module.params['scopes'] = [ 'https://www.googleapis.com/auth/spanner.admin' ] state = module.params['state'] fetch = fetch_resource(module, self_link(module)) changed = False if fetch: if state == 'present': if is_different(module, fetch): update(module, self_link(module)) fetch = fetch_resource(module, self_link(module)) changed = True else: delete(module, self_link(module)) fetch = {} changed = True else: if state == 'present': fetch = create(module, collection(module)) changed = True else: fetch = {} fetch.update({'changed': changed}) module.exit_json(**fetch)
def main(): module = GcpModule(argument_spec=dict( location=dict(required=True, type='str', aliases=['region', 'zone']), cluster=dict(required=True, type='dict'))) if module._name == 'gcp_container_node_pool_facts': module.deprecate( "The 'gcp_container_node_pool_facts' module has been renamed to 'gcp_container_node_pool_info'", version='2.13') if not module.params['scopes']: module.params['scopes'] = [ 'https://www.googleapis.com/auth/cloud-platform' ] items = fetch_list(module, collection(module)) if items.get('nodePools'): items = items.get('nodePools') else: items = [] return_value = {'resources': items} module.exit_json(**return_value)
def main(): """Main function""" module = GcpModule( argument_spec=dict( state=dict(default='present', choices=['present', 'absent'], type='str'), name=dict(type='str'), topic=dict(type='dict'), push_config=dict(type='dict', options=dict( push_endpoint=dict(type='str') )), ack_deadline_seconds=dict(type='int') ) ) state = module.params['state'] fetch = fetch_resource(module, self_link(module)) changed = False if fetch: if state == 'present': if is_different(module, fetch): fetch = update(module, self_link(module)) changed = True else: delete(module, self_link(module)) fetch = {} changed = True else: if state == 'present': fetch = create(module, self_link(module)) changed = True else: fetch = {} fetch.update({'changed': changed}) module.exit_json(**fetch)
def main(): """Main function""" module = GcpModule( argument_spec=dict(state=dict( default='present', choices=['present', 'absent'], type='str'), description=dict(type='str'), gateway_address=dict(type='str'), ip_cidr_range=dict(type='str'), name=dict(type='str'), network=dict(type='dict'), private_ip_google_access=dict(type='bool'), region=dict(required=True, type='str'))) state = module.params['state'] kind = 'compute#subnetwork' fetch = fetch_resource(module, self_link(module), kind) changed = False if fetch: if state == 'present': if is_different(module, fetch): fetch = update(module, self_link(module), kind, fetch) changed = True else: delete(module, self_link(module), kind, fetch) fetch = {} changed = True else: if state == 'present': fetch = create(module, collection(module), kind) changed = True else: fetch = {} fetch.update({'changed': changed}) module.exit_json(**fetch)
def main(): """Main function""" module = GcpModule(argument_spec=dict( state=dict( default='present', choices=['present', 'absent'], type='str'), action=dict(type='str'), overwrite=dict(type='bool'), src=dict(type='path'), dest=dict(type='path'), bucket=dict(type='str'), )) if not module.params['scopes']: module.params['scopes'] = [ 'https://www.googleapis.com/auth/devstorage.full_control' ] remote_object = fetch_resource(module, self_link(module)) local_file_exists = os.path.isfile(local_file_path(module)) # Check if files exist. if module.params['action'] == 'download' and not remote_object: module.fail_json(msg="File does not exist in bucket") if module.params['action'] == 'upload' and not local_file_exists: module.fail_json(msg="File does not exist on disk") # Check if we'll be overwriting files. if not module.params['overwrite']: remote_object['changed'] = False if module.params['action'] == 'download' and local_file_exists: # If files differ, throw an error if get_md5_local( local_file_path(module)) != remote_object['md5Hash']: module.fail_json( msg="Local file is different than remote file") # If files are the same, module is done running. else: module.exit_json(**remote_object) elif module.params['action'] == 'upload' and remote_object: # If files differ, throw an error if get_md5_local( local_file_path(module)) != remote_object['md5Hash']: module.fail_json( msg="Local file is different than remote file") # If files are the same, module is done running. else: module.exit_json(**remote_object) # Upload/download the files auth = GcpSession(module, 'storage') if module.params['action'] == 'download': results = download_file(module) else: results = upload_file(module) module.exit_json(**results)
def main(): """Main function""" module = GcpModule( argument_spec=dict( state=dict(default='present', choices=['present', 'absent'], type='str'), description=dict(type='str'), name=dict(type='str'), proxy_header=dict(type='str', choices=['NONE', 'PROXY_V1']), service=dict(type='dict') ) ) state = module.params['state'] kind = 'compute#targetTcpProxy' fetch = fetch_resource(module, self_link(module), kind) changed = False if fetch: if state == 'present': if is_different(module, fetch): fetch = update(module, self_link(module), kind) changed = True else: delete(module, self_link(module), kind) fetch = {} changed = True else: if state == 'present': fetch = create(module, collection(module), kind) changed = True else: fetch = {} fetch.update({'changed': changed}) module.exit_json(**fetch)
def main(): """Main function""" module = GcpModule( argument_spec=dict( state=dict(default='present', choices=['present', 'absent'], type='str'), bucket_name=dict(required=True, type='str'), description=dict(type='str'), enable_cdn=dict(type='bool'), name=dict(required=True, type='str') ) ) state = module.params['state'] kind = 'compute#backendBucket' fetch = fetch_resource(module, self_link(module), kind) changed = False if fetch: if state == 'present': if is_different(module, fetch): fetch = update(module, self_link(module), kind, fetch) changed = True else: delete(module, self_link(module), kind, fetch) fetch = {} changed = True else: if state == 'present': fetch = create(module, collection(module), kind) changed = True else: fetch = {} fetch.update({'changed': changed}) module.exit_json(**fetch)
def main(): """Main function""" module = GcpModule( argument_spec=dict( state=dict(default='present', choices=['present', 'absent'], type='str'), description=dict(type='str'), dns_name=dict(type='str'), name=dict(required=True, type='str'), name_server_set=dict(type='list'), ) ) state = module.params['state'] kind = 'dns#managedZone' fetch = fetch_resource(module, self_link(module), kind) changed = False if fetch: if state == 'present': if is_different(module, fetch): fetch = update(module, self_link(module), kind) else: delete(module, self_link(module), kind) fetch = {} changed = True else: if state == 'present': fetch = create(module, collection(module), kind) changed = True if fetch: fetch.update({'changed': changed}) else: fetch = {'changed': changed} module.exit_json(**fetch)
def main(): """Main function""" module = GcpModule( argument_spec=dict( state=dict(default='present', choices=['present', 'absent'], type='str'), description=dict(type='str'), dns_name=dict(type='str'), name=dict(required=True, type='str'), name_server_set=dict(type='list', elements='str') ) ) state = module.params['state'] kind = 'dns#managedZone' fetch = fetch_resource(module, self_link(module), kind) changed = False if fetch: if state == 'present': if is_different(module, fetch): fetch = update(module, self_link(module), kind) changed = True else: delete(module, self_link(module), kind) fetch = {} changed = True else: if state == 'present': fetch = create(module, collection(module), kind) changed = True else: fetch = {} fetch.update({'changed': changed}) module.exit_json(**fetch)
def main(): """Main function""" module = GcpModule(argument_spec=dict( state=dict( default='present', choices=['present', 'absent'], type='str'), private_key_type=dict(type='str'), key_algorithm=dict(type='str'), service_account=dict(type='dict'), path=dict(type='path'), )) if not module.params['scopes']: module.params['scopes'] = ['https://www.googleapis.com/auth/iam'] state = module.params['state'] # If file exists, we're doing a no-op or deleting the key. changed = False if os.path.isfile(module.params['path']): fetch = fetch_resource(module) # If file exists and we should delete the file, delete it. if fetch and module.params['state'] == 'absent': delete(module) changed = True # Create the file if present state and no current file. elif module.params['state'] == 'present': create(module) changed = True # Not returning any information about the key because that information should # end up in logs. module.exit_json(**{ 'changed': changed, 'file_path': module.params['path'] })
def main(): """Main function""" module = GcpModule(argument_spec=dict( state=dict( default='present', choices=['present', 'absent'], type='str'), description=dict(type='str'), name=dict(required=True, type='str'), ssl_certificates=dict(required=True, type='list', elements='dict'), url_map=dict(required=True, type='dict'))) state = module.params['state'] kind = 'compute#targetHttpsProxy' fetch = fetch_resource(module, self_link(module), kind) changed = False if fetch: if state == 'present': if is_different(module, fetch): fetch = update(module, self_link(module), kind) changed = True else: delete(module, self_link(module), kind) fetch = {} changed = True else: if state == 'present': fetch = create(module, collection(module), kind) changed = True else: fetch = {} fetch.update({'changed': changed}) module.exit_json(**fetch)
def main(): """Main function""" module = GcpModule(argument_spec=dict( state=dict( default='present', choices=['present', 'absent'], type='str'), name=dict(type='str'), config=dict(type='dict', options=dict(machine_type=dict(type='str'), disk_size_gb=dict(type='int'), oauth_scopes=dict(type='list', elements='str'), service_account=dict(type='str'), metadata=dict(type='dict'), image_type=dict(type='str'), labels=dict(type='dict'), local_ssd_count=dict(type='int'), tags=dict(type='list', elements='str'), preemptible=dict(type='bool'))), initial_node_count=dict(required=True, type='int'), autoscaling=dict(type='dict', options=dict(enabled=dict(type='bool'), min_node_count=dict(type='int'), max_node_count=dict(type='int'))), management=dict(type='dict', options=dict(auto_upgrade=dict(type='bool'), auto_repair=dict(type='bool'), upgrade_options=dict( type='dict', options=dict( auto_upgrade_start_time=dict( type='str'), description=dict(type='str'))))), cluster=dict(required=True, type='dict'), zone=dict(required=True, type='str'))) if not module.params['scopes']: module.params['scopes'] = [ 'https://www.googleapis.com/auth/cloud-platform' ] state = module.params['state'] fetch = fetch_resource(module, self_link(module)) changed = False if fetch: if state == 'present': if is_different(module, fetch): fetch = update(module, self_link(module)) changed = True else: delete(module, self_link(module)) fetch = {} changed = True else: if state == 'present': fetch = create(module, collection(module)) changed = True else: fetch = {} fetch.update({'changed': changed}) module.exit_json(**fetch)
def main(): """Main function""" module = GcpModule( argument_spec=dict( state=dict(default='present', choices=['present', 'absent'], type='str'), check_interval_sec=dict(default=5, type='int'), description=dict(type='str'), healthy_threshold=dict(type='int'), name=dict(type='str'), timeout_sec=dict(default=5, type='int', aliases=['timeout_seconds']), unhealthy_threshold=dict(default=2, type='int'), type=dict(type='str', choices=['TCP', 'SSL', 'HTTP']), http_health_check=dict(type='dict', options=dict( host=dict(type='str'), request_path=dict(type='str'), port=dict(type='int'), port_name=dict(type='str'), proxy_header=dict(type='str', choices=['NONE', 'PROXY_V1']) )), https_health_check=dict(type='dict', options=dict( host=dict(type='str'), request_path=dict(type='str'), port=dict(type='int'), port_name=dict(type='str'), proxy_header=dict(type='str', choices=['NONE', 'PROXY_V1']) )), tcp_health_check=dict(type='dict', options=dict( request=dict(type='str'), response=dict(type='str'), port=dict(type='int'), port_name=dict(type='str'), proxy_header=dict(type='str', choices=['NONE', 'PROXY_V1']) )), ssl_health_check=dict(type='dict', options=dict( request=dict(type='str'), response=dict(type='str'), port=dict(type='int'), port_name=dict(type='str'), proxy_header=dict(type='str', choices=['NONE', 'PROXY_V1']) )) ) ) state = module.params['state'] kind = 'compute#healthCheck' fetch = fetch_resource(module, self_link(module), kind) changed = False if fetch: if state == 'present': if is_different(module, fetch): fetch = update(module, self_link(module), kind) changed = True else: delete(module, self_link(module), kind) fetch = {} changed = True else: if state == 'present': fetch = create(module, collection(module), kind) changed = True else: fetch = {} fetch.update({'changed': changed}) module.exit_json(**fetch)
def main(): """Main function""" module = GcpModule( argument_spec=dict( state=dict(default='present', choices=['present', 'absent'], type='str'), name=dict(type='str'), access=dict( type='list', elements='dict', options=dict( domain=dict(type='str'), group_by_email=dict(type='str'), role=dict(type='str'), special_group=dict(type='str'), user_by_email=dict(type='str'), view=dict( type='dict', options=dict( dataset_id=dict(required=True, type='str'), project_id=dict(required=True, type='str'), table_id=dict(required=True, type='str') ), ), ), ), dataset_reference=dict(required=True, type='dict', options=dict(dataset_id=dict(required=True, type='str'), project_id=dict(type='str'))), default_table_expiration_ms=dict(type='int'), description=dict(type='str'), friendly_name=dict(type='str'), labels=dict(type='dict'), location=dict(default='US', type='str'), ) ) if not module.params['scopes']: module.params['scopes'] = ['https://www.googleapis.com/auth/bigquery'] state = module.params['state'] kind = 'bigquery#dataset' fetch = fetch_resource(module, self_link(module), kind) changed = False if fetch: if state == 'present': if is_different(module, fetch): update(module, self_link(module), kind) fetch = fetch_resource(module, self_link(module), kind) changed = True else: delete(module, self_link(module), kind) fetch = {} changed = True else: if state == 'present': fetch = create(module, collection(module), kind) changed = True else: fetch = {} fetch.update({'changed': changed}) module.exit_json(**fetch)
def main(): """Main function""" module = GcpModule( argument_spec=dict( state=dict(default='present', choices=['present', 'absent'], type='str'), allowed=dict(type='list', elements='dict', options=dict(ip_protocol=dict(required=True, type='str'), ports=dict(type='list', elements='str'))), denied=dict(type='list', elements='dict', options=dict(ip_protocol=dict(required=True, type='str'), ports=dict(type='list', elements='str'))), description=dict(type='str'), destination_ranges=dict(type='list', elements='str'), direction=dict(type='str'), disabled=dict(type='bool'), name=dict(required=True, type='str'), network=dict(default=dict(selfLink='global/networks/default'), type='dict'), priority=dict(default=1000, type='int'), source_ranges=dict(type='list', elements='str'), source_service_accounts=dict(type='list', elements='str'), source_tags=dict(type='list', elements='str'), target_service_accounts=dict(type='list', elements='str'), target_tags=dict(type='list', elements='str'), ), mutually_exclusive=[ ['allowed', 'denied'], ['destination_ranges', 'source_ranges', 'source_tags'], ['destination_ranges', 'source_ranges'], ['source_service_accounts', 'source_tags', 'target_tags'], [ 'destination_ranges', 'source_service_accounts', 'source_tags', 'target_service_accounts' ], ['source_tags', 'target_service_accounts', 'target_tags'], [ 'source_service_accounts', 'target_service_accounts', 'target_tags' ], ], ) if not module.params['scopes']: module.params['scopes'] = ['https://www.googleapis.com/auth/compute'] state = module.params['state'] kind = 'compute#firewall' fetch = fetch_resource(module, self_link(module), kind) changed = False if fetch: if state == 'present': if is_different(module, fetch): update(module, self_link(module), kind) fetch = fetch_resource(module, self_link(module), kind) changed = True else: delete(module, self_link(module), kind) fetch = {} changed = True else: if state == 'present': fetch = create(module, collection(module), kind) changed = True else: fetch = {} fetch.update({'changed': changed}) module.exit_json(**fetch)
def main(): """Main function""" module = GcpModule(argument_spec=dict( state=dict( default='present', choices=['present', 'absent'], type='str'), name=dict(required=True, type='str'), description=dict(type='str'), autoscaling_policy=dict( required=True, type='dict', options=dict( min_num_replicas=dict(type='int'), max_num_replicas=dict(required=True, type='int'), cool_down_period_sec=dict(default=60, type='int'), cpu_utilization=dict(type='dict', options=dict(utilization_target=dict( type='str'))), custom_metric_utilizations=dict( type='list', elements='dict', options=dict(metric=dict(required=True, type='str'), utilization_target=dict(type='str'), utilization_target_type=dict(type='str')), ), load_balancing_utilization=dict(type='dict', options=dict( utilization_target=dict( type='str'))), ), ), target=dict(required=True, type='str'), region=dict(required=True, type='str'), )) if not module.params['scopes']: module.params['scopes'] = ['https://www.googleapis.com/auth/compute'] state = module.params['state'] kind = 'compute#autoscaler' fetch = fetch_resource(module, self_link(module), kind) changed = False if fetch: if state == 'present': if is_different(module, fetch): update(module, self_link(module), kind) fetch = fetch_resource(module, self_link(module), kind) changed = True else: delete(module, self_link(module), kind) fetch = {} changed = True else: if state == 'present': fetch = create(module, collection(module), kind) changed = True else: fetch = {} fetch.update({'changed': changed}) module.exit_json(**fetch)
def main(): """Main function""" module = GcpModule( argument_spec=dict( state=dict(default='present', choices=['present', 'absent'], type='str'), acl=dict(type='list', elements='dict', options=dict( bucket=dict(required=True, type='dict'), domain=dict(type='str'), email=dict(type='str'), entity=dict(required=True, type='str'), entity_id=dict(type='str'), id=dict(type='str'), project_team=dict(type='dict', options=dict( project_number=dict(type='str'), team=dict(type='str', choices=['editors', 'owners', 'viewers']) )), role=dict(type='str', choices=['OWNER', 'READER', 'WRITER']) )), cors=dict(type='list', elements='dict', options=dict( max_age_seconds=dict(type='int'), method=dict(type='list', elements='str'), origin=dict(type='list', elements='str'), response_header=dict(type='list', elements='str') )), lifecycle=dict(type='dict', options=dict( rule=dict(type='list', elements='dict', options=dict( action=dict(type='dict', options=dict( storage_class=dict(type='str'), type=dict(type='str', choices=['Delete', 'SetStorageClass']) )), condition=dict(type='dict', options=dict( age_days=dict(type='int'), created_before=dict(type='str'), is_live=dict(type='bool'), matches_storage_class=dict(type='list', elements='str'), num_newer_versions=dict(type='int') )) )) )), location=dict(type='str'), logging=dict(type='dict', options=dict( log_bucket=dict(type='str'), log_object_prefix=dict(type='str') )), metageneration=dict(type='int'), name=dict(type='str'), owner=dict(type='dict', options=dict( entity=dict(type='str'), entity_id=dict(type='str') )), storage_class=dict(type='str', choices=['MULTI_REGIONAL', 'REGIONAL', 'STANDARD', 'NEARLINE', 'COLDLINE', 'DURABLE_REDUCED_AVAILABILITY']), versioning=dict(type='dict', options=dict( enabled=dict(type='bool') )), website=dict(type='dict', options=dict( main_page_suffix=dict(type='str'), not_found_page=dict(type='str') )), project=dict(type='str'), predefined_default_object_acl=dict(type='str', choices=['authenticatedRead', 'bucketOwnerFullControl', 'bucketOwnerRead', 'private', 'projectPrivate', 'publicRead']) ) ) state = module.params['state'] kind = 'storage#bucket' fetch = fetch_resource(module, self_link(module), kind) changed = False if fetch: if state == 'present': if is_different(module, fetch): fetch = update(module, self_link(module), kind) changed = True else: delete(module, self_link(module), kind) fetch = {} changed = True else: if state == 'present': fetch = create(module, collection(module), kind) changed = True else: fetch = {} fetch.update({'changed': changed}) module.exit_json(**fetch)
def main(): """Main function""" module = GcpModule( argument_spec=dict( state=dict(default='present', choices=['present', 'absent'], type='str'), check_interval_sec=dict(default=5, type='int'), description=dict(type='str'), healthy_threshold=dict(default=2, type='int'), name=dict(required=True, type='str'), timeout_sec=dict(default=5, type='int', aliases=['timeout_seconds']), unhealthy_threshold=dict(default=2, type='int'), type=dict(type='str'), http_health_check=dict( type='dict', options=dict( host=dict(type='str'), request_path=dict(default='/', type='str'), response=dict(type='str'), port=dict(type='int'), port_name=dict(type='str'), proxy_header=dict(default='NONE', type='str'), port_specification=dict(type='str'), ), ), https_health_check=dict( type='dict', options=dict( host=dict(type='str'), request_path=dict(default='/', type='str'), response=dict(type='str'), port=dict(type='int'), port_name=dict(type='str'), proxy_header=dict(default='NONE', type='str'), port_specification=dict(type='str'), ), ), tcp_health_check=dict( type='dict', options=dict( request=dict(type='str'), response=dict(type='str'), port=dict(type='int'), port_name=dict(type='str'), proxy_header=dict(default='NONE', type='str'), port_specification=dict(type='str'), ), ), ssl_health_check=dict( type='dict', options=dict( request=dict(type='str'), response=dict(type='str'), port=dict(type='int'), port_name=dict(type='str'), proxy_header=dict(default='NONE', type='str'), port_specification=dict(type='str'), ), ), http2_health_check=dict( type='dict', options=dict( host=dict(type='str'), request_path=dict(default='/', type='str'), response=dict(type='str'), port=dict(type='int'), port_name=dict(type='str'), proxy_header=dict(default='NONE', type='str'), port_specification=dict(type='str'), ), ), ), mutually_exclusive=[[ 'http2_health_check', 'http_health_check', 'https_health_check', 'ssl_health_check', 'tcp_health_check' ]], ) if not module.params['scopes']: module.params['scopes'] = ['https://www.googleapis.com/auth/compute'] state = module.params['state'] kind = 'compute#healthCheck' fetch = fetch_resource(module, self_link(module), kind) changed = False if fetch: if state == 'present': if is_different(module, fetch): update(module, self_link(module), kind) fetch = fetch_resource(module, self_link(module), kind) changed = True else: delete(module, self_link(module), kind) fetch = {} changed = True else: if state == 'present': fetch = create(module, collection(module), kind) changed = True else: fetch = {} fetch.update({'changed': changed}) module.exit_json(**fetch)
def main(): """Main function""" module = GcpModule(argument_spec=dict( state=dict( default='present', choices=['present', 'absent'], type='str'), affinity_cookie_ttl_sec=dict(type='int'), backends=dict( type='list', elements='dict', options=dict( balancing_mode=dict(default='UTILIZATION', type='str'), capacity_scaler=dict(default=1.0, type='str'), description=dict(type='str'), group=dict(type='str'), max_connections=dict(type='int'), max_connections_per_instance=dict(type='int'), max_connections_per_endpoint=dict(type='int'), max_rate=dict(type='int'), max_rate_per_instance=dict(type='str'), max_rate_per_endpoint=dict(type='str'), max_utilization=dict(default=0.8, type='str'), ), ), cdn_policy=dict( type='dict', options=dict( cache_key_policy=dict( type='dict', options=dict( include_host=dict(type='bool'), include_protocol=dict(type='bool'), include_query_string=dict(type='bool'), query_string_blacklist=dict(type='list', elements='str'), query_string_whitelist=dict(type='list', elements='str'), ), ), signed_url_cache_max_age_sec=dict(default=3600, type='int'), ), ), connection_draining=dict(type='dict', options=dict(draining_timeout_sec=dict( default=300, type='int'))), description=dict(type='str'), enable_cdn=dict(type='bool'), health_checks=dict(required=True, type='list', elements='str'), iap=dict( type='dict', options=dict(enabled=dict(type='bool'), oauth2_client_id=dict(required=True, type='str'), oauth2_client_secret=dict(required=True, type='str')), ), load_balancing_scheme=dict(default='EXTERNAL', type='str'), name=dict(required=True, type='str'), port_name=dict(type='str'), protocol=dict(type='str'), security_policy=dict(type='str'), session_affinity=dict(type='str'), timeout_sec=dict(type='int', aliases=['timeout_seconds']), )) if not module.params['scopes']: module.params['scopes'] = ['https://www.googleapis.com/auth/compute'] state = module.params['state'] kind = 'compute#backendService' fetch = fetch_resource(module, self_link(module), kind) changed = False if fetch: if state == 'present': if is_different(module, fetch): update(module, self_link(module), kind, fetch) fetch = fetch_resource(module, self_link(module), kind) changed = True else: delete(module, self_link(module), kind) fetch = {} changed = True else: if state == 'present': fetch = create(module, collection(module), kind) changed = True else: fetch = {} fetch.update({'changed': changed}) module.exit_json(**fetch)
def main(): """Main function""" module = GcpModule( argument_spec=dict( state=dict(default='present', choices=['present', 'absent'], type='str'), name=dict(type='str'), description=dict(type='str'), initial_node_count=dict(required=True, type='int'), node_config=dict(type='dict', options=dict( machine_type=dict(type='str'), disk_size_gb=dict(type='int'), oauth_scopes=dict(type='list', elements='str'), service_account=dict(type='str'), metadata=dict(type='dict'), image_type=dict(type='str'), labels=dict(type='dict'), local_ssd_count=dict(type='int'), tags=dict(type='list', elements='str'), preemptible=dict(type='bool') )), master_auth=dict(type='dict', options=dict( username=dict(type='str'), password=dict(type='str'), cluster_ca_certificate=dict(type='str'), client_certificate=dict(type='str'), client_key=dict(type='str') )), logging_service=dict(type='str', choices=['logging.googleapis.com', 'none']), monitoring_service=dict(type='str', choices=['monitoring.googleapis.com', 'none']), network=dict(type='str'), cluster_ipv4_cidr=dict(type='str'), addons_config=dict(type='dict', options=dict( http_load_balancing=dict(type='dict', options=dict( disabled=dict(type='bool') )), horizontal_pod_autoscaling=dict(type='dict', options=dict( disabled=dict(type='bool') )) )), subnetwork=dict(type='str'), location=dict(type='list', elements='str'), zone=dict(required=True, type='str') ) ) state = module.params['state'] fetch = fetch_resource(module, self_link(module)) changed = False if fetch: if state == 'present': if is_different(module, fetch): fetch = update(module, self_link(module), fetch) changed = True else: delete(module, self_link(module), fetch) fetch = {} changed = True else: if state == 'present': fetch = create(module, collection(module)) changed = True else: fetch = {} fetch.update({'changed': changed}) module.exit_json(**fetch)
def main(): """Main function""" module = GcpModule(argument_spec=dict( state=dict( default='present', choices=['present', 'absent'], type='str'), name=dict(required=True, type='str'), description=dict(type='str'), schedule=dict(type='str'), time_zone=dict(default='Etc/UTC', type='str'), attempt_deadline=dict(default='180s', type='str'), retry_config=dict( type='dict', options=dict( retry_count=dict(type='int'), max_retry_duration=dict(type='str'), min_backoff_duration=dict(type='str'), max_backoff_duration=dict(type='str'), max_doublings=dict(type='int'), ), ), pubsub_target=dict(type='dict', options=dict(topic_name=dict(required=True, type='str'), data=dict(type='str'), attributes=dict(type='dict'))), app_engine_http_target=dict( type='dict', options=dict( http_method=dict(type='str'), app_engine_routing=dict(type='dict', options=dict(service=dict(type='str'), version=dict(type='str'), instance=dict( type='str'))), relative_uri=dict(required=True, type='str'), body=dict(type='str'), headers=dict(type='dict'), ), ), http_target=dict( type='dict', options=dict( uri=dict(required=True, type='str'), http_method=dict(type='str'), body=dict(type='str'), headers=dict(type='dict'), oauth_token=dict(type='dict', options=dict(service_account_email=dict( required=True, type='str'), scope=dict(type='str'))), oidc_token=dict(type='dict', options=dict(service_account_email=dict( required=True, type='str'), audience=dict(type='str'))), ), ), region=dict(required=True, type='str'), )) if not module.params['scopes']: module.params['scopes'] = [ 'https://www.googleapis.com/auth/cloud-platform' ] state = module.params['state'] fetch = fetch_resource(module, self_link(module)) changed = False if fetch: if state == 'present': if is_different(module, fetch): update(module, self_link(module)) fetch = fetch_resource(module, self_link(module)) changed = True else: delete(module, self_link(module)) fetch = {} changed = True else: if state == 'present': fetch = create(module, collection(module)) changed = True else: fetch = {} fetch.update({'changed': changed}) module.exit_json(**fetch)
def main(): """Main function""" module = GcpModule( argument_spec=dict( state=dict(default='present', choices=['present', 'absent'], type='str'), id=dict(type='str'), name=dict(type='str'), description=dict(type='str'), disabled=dict(type='bool'), substitutions=dict(type='dict'), filename=dict(type='str'), ignored_files=dict(type='list', elements='str'), included_files=dict(type='list', elements='str'), trigger_template=dict( type='dict', options=dict( project_id=dict(type='str'), repo_name=dict(default='default', type='str'), dir=dict(type='str'), branch_name=dict(type='str'), tag_name=dict(type='str'), commit_sha=dict(type='str'), ), ), build=dict( type='dict', options=dict( tags=dict(type='list', elements='str'), images=dict(type='list', elements='str'), steps=dict( type='list', elements='dict', options=dict( name=dict(type='str'), args=dict(type='list', elements='str'), env=dict(type='list', elements='str'), id=dict(type='str'), entrypoint=dict(type='str'), dir=dict(type='str'), secret_env=dict(type='list', elements='str'), timeout=dict(type='str'), timing=dict(type='str'), volumes=dict(type='list', elements='dict', options=dict(name=dict(type='str'), path=dict(type='str'))), wait_for=dict(type='list', elements='str'), ), ), ), ), ), mutually_exclusive=[['build', 'filename']], ) if not module.params['scopes']: module.params['scopes'] = [ 'https://www.googleapis.com/auth/cloud-platform' ] state = module.params['state'] fetch = fetch_resource(module, self_link(module)) changed = False if fetch: if state == 'present': if is_different(module, fetch): update(module, self_link(module)) fetch = fetch_resource(module, self_link(module)) changed = True else: delete(module, self_link(module)) fetch = {} changed = True else: if state == 'present': fetch = create(module, collection(module)) changed = True else: fetch = {} fetch.update({'changed': changed}) module.exit_json(**fetch)
def main(): """Main function""" module = GcpModule( argument_spec=dict( state=dict(default='present', choices=['present', 'absent'], type='str'), backends=dict( type='list', elements='dict', options=dict( balancing_mode=dict(default='CONNECTION', type='str'), capacity_scaler=dict(type='str'), description=dict(type='str'), group=dict(required=True, type='str'), max_connections=dict(type='int'), max_connections_per_instance=dict(type='int'), max_connections_per_endpoint=dict(type='int'), max_rate=dict(type='int'), max_rate_per_instance=dict(type='str'), max_rate_per_endpoint=dict(type='str'), max_utilization=dict(type='str'), ), ), connection_draining=dict(type='dict', options=dict(draining_timeout_sec=dict(default=300, type='int'))), description=dict(type='str'), health_checks=dict(required=True, type='list', elements='str'), load_balancing_scheme=dict(default='INTERNAL', type='str'), name=dict(required=True, type='str'), protocol=dict(type='str'), session_affinity=dict(type='str'), timeout_sec=dict(type='int'), region=dict(required=True, type='str'), ) ) if not module.params['scopes']: module.params['scopes'] = ['https://www.googleapis.com/auth/compute'] state = module.params['state'] kind = 'compute#backendService' fetch = fetch_resource(module, self_link(module), kind) changed = False if fetch: if state == 'present': if is_different(module, fetch): update(module, self_link(module), kind) fetch = fetch_resource(module, self_link(module), kind) changed = True else: delete(module, self_link(module), kind) fetch = {} changed = True else: if state == 'present': fetch = create(module, collection(module), kind) changed = True else: fetch = {} fetch.update({'changed': changed}) module.exit_json(**fetch)
def main(): """Main function""" module = GcpModule(argument_spec=dict( state=dict( default='present', choices=['present', 'absent'], type='str'), description=dict(type='str'), disk_size_gb=dict(type='int'), family=dict(type='str'), guest_os_features=dict( type='list', elements='dict', options=dict( type=dict(type='str', choices=['VIRTIO_SCSI_MULTIQUEUE']))), image_encryption_key=dict(type='dict', options=dict(raw_key=dict(type='str'), sha256=dict(type='str'))), labels=dict(type='dict'), licenses=dict(type='list', elements='str'), name=dict(required=True, type='str'), raw_disk=dict( type='dict', options=dict(container_type=dict(type='str', choices=['TAR']), sha1_checksum=dict(type='str'), source=dict(required=True, type='str')), ), source_disk=dict(), source_disk_encryption_key=dict(type='dict', options=dict(raw_key=dict(type='str'), sha256=dict(type='str'))), source_disk_id=dict(type='str'), source_type=dict(type='str', choices=['RAW']), )) if not module.params['scopes']: module.params['scopes'] = ['https://www.googleapis.com/auth/compute'] state = module.params['state'] kind = 'compute#image' fetch = fetch_resource(module, self_link(module), kind) changed = False if fetch: if state == 'present': if is_different(module, fetch): update(module, self_link(module), kind, fetch) fetch = fetch_resource(module, self_link(module), kind) changed = True else: delete(module, self_link(module), kind) fetch = {} changed = True else: if state == 'present': fetch = create(module, collection(module), kind) changed = True else: fetch = {} fetch.update({'changed': changed}) module.exit_json(**fetch)
def main(): """Main function""" module = GcpModule(argument_spec=dict( state=dict( default='present', choices=['present', 'absent'], type='str'), description=dict(type='str'), labels=dict(type='dict'), licenses=dict(type='list', elements='str'), name=dict(required=True, type='str'), size_gb=dict(type='int'), type=dict(type='str'), source_image=dict(type='str'), zone=dict(required=True, type='str'), source_image_encryption_key=dict(type='dict', options=dict(raw_key=dict(type='str'), sha256=dict(type='str'), kms_key_name=dict( type='str'))), disk_encryption_key=dict(type='dict', options=dict(raw_key=dict(type='str'), sha256=dict(type='str'), kms_key_name=dict(type='str'))), source_snapshot=dict(), source_snapshot_encryption_key=dict(type='dict', options=dict(raw_key=dict( type='str'), kms_key_name=dict( type='str'), sha256=dict( type='str'))), )) if not module.params['scopes']: module.params['scopes'] = ['https://www.googleapis.com/auth/compute'] state = module.params['state'] kind = 'compute#disk' fetch = fetch_resource(module, self_link(module), kind) changed = False if fetch: if state == 'present': if is_different(module, fetch): update(module, self_link(module), kind, fetch) fetch = fetch_resource(module, self_link(module), kind) changed = True else: delete(module, self_link(module), kind) fetch = {} changed = True else: if state == 'present': fetch = create(module, collection(module), kind) changed = True else: fetch = {} fetch.update({'changed': changed}) module.exit_json(**fetch)
def main(): """Main function""" module = GcpModule(argument_spec=dict( state=dict( default='present', choices=['present', 'absent'], type='str'), acl=dict( type='list', elements='dict', options=dict( bucket=dict(required=True), domain=dict(type='str'), email=dict(type='str'), entity=dict(required=True, type='str'), entity_id=dict(type='str'), id=dict(type='str'), project_team=dict( type='dict', options=dict( project_number=dict(type='str'), team=dict(type='str', choices=['editors', 'owners', 'viewers']))), role=dict(type='str', choices=['OWNER', 'READER', 'WRITER']), ), ), cors=dict( type='list', elements='dict', options=dict( max_age_seconds=dict(type='int'), method=dict(type='list', elements='str'), origin=dict(type='list', elements='str'), response_header=dict(type='list', elements='str'), ), ), default_object_acl=dict( type='list', elements='dict', options=dict( bucket=dict(required=True), domain=dict(type='str'), email=dict(type='str'), entity=dict(required=True, type='str'), entity_id=dict(type='str'), generation=dict(type='int'), id=dict(type='str'), object=dict(type='str'), project_team=dict( type='dict', options=dict( project_number=dict(type='str'), team=dict(type='str', choices=['editors', 'owners', 'viewers']))), role=dict( required=True, type='str', choices=['OWNER', 'READER']), ), ), lifecycle=dict( type='dict', options=dict(rule=dict( type='list', elements='dict', options=dict( action=dict( type='dict', options=dict( storage_class=dict(type='str'), type=dict(type='str', choices=['Delete', 'SetStorageClass']))), condition=dict( type='dict', options=dict( age_days=dict(type='int'), created_before=dict(type='str'), is_live=dict(type='bool'), matches_storage_class=dict(type='list', elements='str'), num_newer_versions=dict(type='int'), ), ), ), )), ), location=dict(type='str'), logging=dict(type='dict', options=dict(log_bucket=dict(type='str'), log_object_prefix=dict(type='str'))), metageneration=dict(type='int'), name=dict(type='str'), owner=dict(type='dict', options=dict(entity=dict(type='str'), entity_id=dict(type='str'))), storage_class=dict( type='str', choices=[ 'MULTI_REGIONAL', 'REGIONAL', 'STANDARD', 'NEARLINE', 'COLDLINE', 'DURABLE_REDUCED_AVAILABILITY' ]), versioning=dict(type='dict', options=dict(enabled=dict(type='bool'))), website=dict(type='dict', options=dict(main_page_suffix=dict(type='str'), not_found_page=dict(type='str'))), project=dict(type='str'), predefined_default_object_acl=dict( type='str', choices=[ 'authenticatedRead', 'bucketOwnerFullControl', 'bucketOwnerRead', 'private', 'projectPrivate', 'publicRead' ]), )) if not module.params['scopes']: module.params['scopes'] = [ 'https://www.googleapis.com/auth/devstorage.full_control' ] state = module.params['state'] kind = 'storage#bucket' fetch = fetch_resource(module, self_link(module), kind) changed = False if fetch: if state == 'present': if is_different(module, fetch): update(module, self_link(module), kind) fetch = fetch_resource(module, self_link(module), kind) changed = True else: delete(module, self_link(module), kind) fetch = {} changed = True else: if state == 'present': fetch = create(module, collection(module), kind) changed = True else: fetch = {} fetch.update({'changed': changed}) module.exit_json(**fetch)
def main(): """Main function""" module = GcpModule(argument_spec=dict( state=dict( default='present', choices=['present', 'absent'], type='str'), acl=dict( type='list', elements='dict', options=dict( bucket=dict(required=True, type='dict'), entity=dict(required=True, type='str'), entity_id=dict(type='str'), project_team=dict(type='dict', options=dict(project_number=dict(type='str'), team=dict(type='str'))), role=dict(type='str'), ), ), cors=dict( type='list', elements='dict', options=dict( max_age_seconds=dict(type='int'), method=dict(type='list', elements='str'), origin=dict(type='list', elements='str'), response_header=dict(type='list', elements='str'), ), ), default_object_acl=dict( type='list', elements='dict', options=dict( bucket=dict(required=True, type='dict'), entity=dict(required=True, type='str'), object=dict(type='str'), role=dict(required=True, type='str'), ), ), lifecycle=dict( type='dict', options=dict(rule=dict( type='list', elements='dict', options=dict( action=dict(type='dict', options=dict(storage_class=dict(type='str'), type=dict(type='str'))), condition=dict( type='dict', options=dict( age_days=dict(type='int'), created_before=dict(type='str'), is_live=dict(type='bool'), matches_storage_class=dict(type='list', elements='str'), num_newer_versions=dict(type='int'), ), ), ), )), ), location=dict(type='str'), logging=dict(type='dict', options=dict(log_bucket=dict(type='str'), log_object_prefix=dict(type='str'))), metageneration=dict(type='int'), name=dict(type='str'), owner=dict(type='dict', options=dict(entity=dict(type='str'))), storage_class=dict(type='str'), versioning=dict(type='dict', options=dict(enabled=dict(type='bool'))), website=dict(type='dict', options=dict(main_page_suffix=dict(type='str'), not_found_page=dict(type='str'))), project=dict(type='str'), predefined_default_object_acl=dict(type='str'), )) if not module.params['scopes']: module.params['scopes'] = [ 'https://www.googleapis.com/auth/devstorage.full_control' ] state = module.params['state'] kind = 'storage#bucket' fetch = fetch_resource(module, self_link(module), kind) changed = False if fetch: if state == 'present': if is_different(module, fetch): update(module, self_link(module), kind) fetch = fetch_resource(module, self_link(module), kind) changed = True else: delete(module, self_link(module), kind) fetch = {} changed = True else: if state == 'present': fetch = create(module, collection(module), kind) changed = True else: fetch = {} fetch.update({'changed': changed}) module.exit_json(**fetch)
def main(): """Main function""" module = GcpModule( argument_spec=dict( state=dict(default='present', choices=['present', 'absent'], type='str'), default_service=dict(required=True), description=dict(type='str'), host_rules=dict( type='list', elements='dict', options=dict( description=dict(type='str'), hosts=dict(required=True, type='list', elements='str'), path_matcher=dict(required=True, type='str') ), ), name=dict(required=True, type='str'), path_matchers=dict( type='list', elements='dict', options=dict( default_service=dict(required=True), description=dict(type='str'), name=dict(required=True, type='str'), path_rules=dict( type='list', elements='dict', options=dict(paths=dict(required=True, type='list', elements='str'), service=dict(required=True)) ), ), ), tests=dict( type='list', elements='dict', options=dict( description=dict(type='str'), host=dict(required=True, type='str'), path=dict(required=True, type='str'), service=dict(required=True) ), ), ) ) if not module.params['scopes']: module.params['scopes'] = ['https://www.googleapis.com/auth/compute'] state = module.params['state'] kind = 'compute#urlMap' fetch = fetch_resource(module, self_link(module), kind) changed = False if fetch: if state == 'present': if is_different(module, fetch): update(module, self_link(module), kind) fetch = fetch_resource(module, self_link(module), kind) changed = True else: delete(module, self_link(module), kind) fetch = {} changed = True else: if state == 'present': fetch = create(module, collection(module), kind) changed = True else: fetch = {} fetch.update({'changed': changed}) module.exit_json(**fetch)
def main(): """Main function""" module = GcpModule( argument_spec=dict( state=dict(default='present', choices=['present', 'absent'], type='str'), name=dict(required=True, type='str'), description=dict(type='str'), filter=dict(required=True, type='str'), metric_descriptor=dict( required=True, type='dict', options=dict( unit=dict(default='1', type='str'), value_type=dict(required=True, type='str'), metric_kind=dict(required=True, type='str'), labels=dict( type='list', elements='dict', options=dict(key=dict(required=True, type='str'), description=dict(type='str'), value_type=dict(default='STRING', type='str')), ), display_name=dict(type='str'), ), ), label_extractors=dict(type='dict'), value_extractor=dict(type='str'), bucket_options=dict( type='dict', options=dict( linear_buckets=dict(type='dict', options=dict(num_finite_buckets=dict(type='int'), width=dict(type='int'), offset=dict(type='str'))), exponential_buckets=dict( type='dict', options=dict(num_finite_buckets=dict(type='int'), growth_factor=dict(type='int'), scale=dict(type='str')) ), explicit_buckets=dict(type='dict', options=dict(bounds=dict(type='list', elements='str'))), ), ), ) ) if not module.params['scopes']: module.params['scopes'] = ['https://www.googleapis.com/auth/cloud-platform'] state = module.params['state'] fetch = fetch_resource(module, self_link(module)) changed = False if fetch: if state == 'present': if is_different(module, fetch): update(module, self_link(module)) fetch = fetch_resource(module, self_link(module)) changed = True else: delete(module, self_link(module)) fetch = {} changed = True else: if state == 'present': fetch = create(module, collection(module)) changed = True else: fetch = {} fetch.update({'changed': changed}) module.exit_json(**fetch)
def main(): """Main function""" module = GcpModule(argument_spec=dict( state=dict( default='present', choices=['present', 'absent'], type='str'), backend_type=dict(type='str', choices=['FIRST_GEN', 'SECOND_GEN', 'EXTERNAL']), connection_name=dict(type='str'), database_version=dict( type='str', choices=['MYSQL_5_5', 'MYSQL_5_6', 'MYSQL_5_7', 'POSTGRES_9_6']), failover_replica=dict(type='dict', options=dict(available=dict(type='bool'), name=dict(type='str'))), instance_type=dict(type='str', choices=[ 'CLOUD_SQL_INSTANCE', 'ON_PREMISES_INSTANCE', 'READ_REPLICA_INSTANCE' ]), ipv6_address=dict(type='str'), master_instance_name=dict(type='str'), max_disk_size=dict(type='int'), name=dict(required=True, type='str'), region=dict(type='str'), replica_configuration=dict( type='dict', options=dict(failover_target=dict(type='bool'), mysql_replica_configuration=dict( type='dict', options=dict(ca_certificate=dict(type='str'), client_certificate=dict(type='str'), client_key=dict(type='str'), connect_retry_interval=dict( type='int'), dump_file_path=dict(type='str'), master_heartbeat_period=dict( type='int'), password=dict(type='str'), ssl_cipher=dict(type='str'), username=dict(type='str'), verify_server_certificate=dict( type='bool'))), replica_names=dict(type='list', elements='str'), service_account_email_address=dict(type='str'))), settings=dict(type='dict', options=dict(ip_configuration=dict( type='dict', options=dict(ipv4_enabled=dict(type='bool'), authorized_networks=dict( type='list', elements='dict', options=dict(expiration_time=dict( type='str'), name=dict(type='str'), value=dict( type='str'))), require_ssl=dict(type='bool'))), tier=dict(type='str'), settings_version=dict(type='int'))))) if not module.params['scopes']: module.params['scopes'] = [ 'https://www.googleapis.com/auth/sqlservice.admin' ] state = module.params['state'] kind = 'sql#instance' fetch = fetch_resource(module, self_link(module), kind) changed = False if fetch: if state == 'present': if is_different(module, fetch): update(module, self_link(module), kind, fetch) fetch = fetch_resource(module, self_link(module), kind) changed = True else: delete(module, self_link(module), kind, fetch) fetch = {} changed = True else: if state == 'present': fetch = create(module, collection(module), kind) changed = True else: fetch = {} fetch.update({'changed': changed}) module.exit_json(**fetch)
def main(): """Main function""" module = GcpModule( argument_spec=dict( state=dict(default='present', choices=['present', 'absent'], type='str'), affinity_cookie_ttl_sec=dict(type='int'), backends=dict(type='list', elements='dict', options=dict( balancing_mode=dict(type='str', choices=['UTILIZATION', 'RATE', 'CONNECTION']), capacity_scaler=dict(type='str'), description=dict(type='str'), group=dict(type='dict'), max_connections=dict(type='int'), max_connections_per_instance=dict(type='int'), max_rate=dict(type='int'), max_rate_per_instance=dict(type='str'), max_utilization=dict(type='str') )), cdn_policy=dict(type='dict', options=dict( cache_key_policy=dict(type='dict', options=dict( include_host=dict(type='bool'), include_protocol=dict(type='bool'), include_query_string=dict(type='bool'), query_string_blacklist=dict(type='list', elements='str'), query_string_whitelist=dict(type='list', elements='str') )) )), connection_draining=dict(type='dict', options=dict( draining_timeout_sec=dict(type='int') )), description=dict(type='str'), enable_cdn=dict(type='bool'), health_checks=dict(type='list', elements='str'), name=dict(type='str'), port_name=dict(type='str'), protocol=dict(type='str', choices=['HTTP', 'HTTPS', 'TCP', 'SSL']), region=dict(type='str'), session_affinity=dict(type='str', choices=['NONE', 'CLIENT_IP', 'GENERATED_COOKIE', 'CLIENT_IP_PROTO', 'CLIENT_IP_PORT_PROTO']), timeout_sec=dict(type='int', aliases=['timeout_seconds']) ) ) state = module.params['state'] kind = 'compute#backendService' fetch = fetch_resource(module, self_link(module), kind) changed = False if fetch: if state == 'present': if is_different(module, fetch): fetch = update(module, self_link(module), kind, fetch) changed = True else: delete(module, self_link(module), kind, fetch) fetch = {} changed = True else: if state == 'present': fetch = create(module, collection(module), kind) changed = True else: fetch = {} fetch.update({'changed': changed}) module.exit_json(**fetch)