Beispiel #1
0
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)
Beispiel #2
0
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,
    }
Beispiel #3
0
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
    )