def snapshots_rm(region_id, snapshots, region_volume_ids): ''' Return snapshots RelationshipMap given region_id and a Snapshot ResultSet. ''' snapshot_data = [] for snapshot in snapshots: if snapshot.volume_id: if snapshot.volume_id in region_volume_ids: volume_id = prepId(snapshot.volume_id) else: volume_id = None else: volume_id = None snapshot_data.append({ 'id': prepId(snapshot.id), 'title': name_or(snapshot.tags, snapshot.id), 'description': snapshot.description, 'size': format_size(snapshot.volume_size), 'status': snapshot.status, 'progress': snapshot.progress, 'start_time': format_time(snapshot.start_time), 'setVolumeId': volume_id, }) return RelationshipMap( compname='regions/%s' % region_id, relname='snapshots', modname=MODULE_NAME['EC2Snapshot'], objmaps=snapshot_data)
def get_instance_data(instance, image_ids): zone_id = prepId(instance.placement) if instance.placement else None subnet_id = prepId(instance.subnet_id) if instance.subnet_id else None if instance.image_id in image_ids: instance_image_id = instance.image_id else: instance_image_id = None return { 'id': prepId(instance.id), 'title': name_or(instance.tags, instance.id), 'instance_id': instance.id, 'tags': tags_string(instance.tags), 'public_dns_name': instance.public_dns_name, 'public_ip': instance.ip_address, 'private_ip_address': instance.private_ip_address, 'instance_type': instance.instance_type, 'launch_time': format_time(instance.launch_time), 'state': instance.state, 'platform': getattr(instance, 'platform', ''), 'detailed_monitoring': instance.monitored, 'setZoneId': zone_id, 'setImageId': instance_image_id, 'setVPCSubnetId': subnet_id, }
def volumes_rm(region_id, volumes): ''' Return volumes RelationshipMap given region_id and a VolumeInfo ResultSet. ''' volume_data = [] for volume in volumes: if volume.attach_data.instance_id: instance_id = prepId(volume.attach_data.instance_id) else: instance_id = None volume_data.append({ 'id': prepId(volume.id), 'title': name_or(volume.tags, volume.id), 'volume_type': volume.type, 'create_time': format_time(volume.create_time), 'size': format_size(volume.size), # Min:1GiB, Max:1TiB 'iops': volume.iops, 'status': volume.status, 'attach_data_status': volume.attach_data.status, 'attach_data_devicepath': volume.attach_data.device, 'setInstanceId': instance_id, 'setZoneId': volume.zone, }) return RelationshipMap( compname='regions/%s' % region_id, relname='volumes', modname=MODULE_NAME['EC2Volume'], objmaps=volume_data)
def s3buckets_rm(buckets, bucket_region): ''' Return buckets RelationshipMap given a BucketInfo ResultSet and a mapping of bucket id to region ''' bucket_oms = [] for bucket in buckets: bucket_oms.append(ObjectMap(data={ 'id': prepId(bucket.name), 'title': bucket.name, 'region': bucket_region.get(bucket.name, ""), 'creation_date': format_time(bucket.creation_date), })) return RelationshipMap( relname='s3buckets', modname=MODULE_NAME['S3Bucket'], objmaps=bucket_oms )