コード例 #1
0
def server_delete(server_id, force):
    '''
    指定したサーバーを削除する。

    Paramters
    ---------
    server_id: str
        対象サーバーのID
    force: bool
        削除ロックが設定してあった場合でも削除を強行するか

    Returns
    -------
    None
    '''
    if force:
        print_json(compute.delete_server(server_id))
    else:
        is_delete_locked = (compute.describe_server(server_id)
                            .get('server', {})
                            .get('metadata', {})
                            .get('IsDeleteLocked', 'False'))
        if is_delete_locked == 'True':
            print('このサーバーは削除ロックされています。')
        else:
            print_json(compute.delete_server(server_id))
コード例 #2
0
ファイル: image.py プロジェクト: ttk1/conoha-cli
def image_search(keyword):
    print_json({
        'images':
        list(
            filter(lambda x: keyword in x.get('name', ''),
                   compute.list_images().get('images', [])))
    })
コード例 #3
0
def flavor_search(keyword):
    print_json({
        'flavors':
        list(
            filter(lambda x: keyword in x.get('name', ''),
                   compute.list_flavors().get('flavors', [])))
    })
コード例 #4
0
def network_list(local_only):
    if local_only:
        # local で始まる network のみを表示する
        print_json({
            'networks':
            list(
                filter(lambda x: x.get('name', '').startswith('local'),
                       network.list_networks().get('networks', [])))
        })
    else:
        print_json(network.list_networks())
コード例 #5
0
def secutiry_group_create_rule(direction,
                               ether_type,
                               security_group_id,
                               port_range_min=None,
                               port_range_max=None,
                               protocol=None,
                               remote_group_id=None,
                               remote_ip_prefix=None):
    print_json(
        network.create_security_group_rule(direction, ether_type,
                                           security_group_id, port_range_min,
                                           port_range_max, protocol,
                                           remote_group_id, remote_ip_prefix))
コード例 #6
0
def server_describe(server_id):
    '''
    指定したサーバーの情報を JSON 形式で標準出力する。

    Paramters
    ---------
    server_id: str
        対象サーバーのID

    Returns
    -------
    None
    '''
    print_json(compute.describe_server(server_id))
コード例 #7
0
def server_start(server_id):
    '''
    指定したサーバーを起動する。

    Paramters
    ---------
    server_id: str
        対象サーバーのID

    Returns
    -------
    None
    '''
    print_json(compute.start_server(server_id))
コード例 #8
0
def server_stop(server_id, force):
    '''
    指定したサーバーを停止起動する。

    Paramters
    ---------
    server_id: str
        対象サーバーのID
    force: bool
        強制停止するか

    Returns
    -------
    None
    '''
    print_json(compute.stop_server(server_id, force))
コード例 #9
0
def server_list(detail):
    '''
    サーバーの一覧を JSON 形式で標準出力する。

    Paramters
    ---------
    detail: bool
        詳細を表示するか

    Returns
    -------
    None
    '''
    if detail:
        print_json(compute.list_servers_detail())
    else:
        print_json(compute.list_servers())
コード例 #10
0
def server_create(image_ref, flavor_ref,
                  admin_pass=None, key_name=None,
                  security_groups=None,
                  instance_name_tag=None, volume_id=None,
                  vnc_keymap=None, user_data=None):
    '''
    サーバーを新規に作成する。
    作成したサーバーの情報を JSON 形式で標準出力する。

    Paramters
    ---------
    image_ref: str
        【必須項目】使用するイメージの UUID
    flavor_ref: str
        【必須項目】VM プランの UUID
    admin_pass: str
        VM の root パスワード
        指定しなかったら
        * パブリックイメージの場合ランダムなパスワード
        * プライベートイメージの場合元のパスワード
        が設定される
    key_name: str
        SSH キーの名前
    security_groups: list of str
        アタッチするセキュリティグループのリスト
        多分デフォルトで作成されるポートに適用されるやつ
    instance_name_tag: str
        VM に設定するネームタグ
    volume_id: str
        アタッチする Volume の ID
    vnc_keymap: str
        キーマップ(en-us, ja のいずれか)
    user_data: str
        スタートアップスクリプト
        ※ ファイル名指定でもよいかも

    Returns
    -------
    None
    '''
    print_json(compute.create_server(image_ref, flavor_ref,
                                     admin_pass, key_name,
                                     security_groups,
                                     instance_name_tag, volume_id,
                                     vnc_keymap, user_data))
コード例 #11
0
def server_search(keyword):
    '''
    ネームタグをキーワード検索してヒットしたサーバーの詳細を表示する。

    Paramters
    ---------
    keyword: str
        検索キーワード

    Returns
    -------
    None
    '''
    print_json({
        'servers': list(filter(
            lambda x: keyword in x.get('metadata', {}).get('instance_name_tag', ''),
            compute.list_servers_detail().get('servers', [])
        ))
    })
コード例 #12
0
ファイル: port.py プロジェクト: ttk1/conoha-cli
def port_update(port_id, security_group_ids):
    print_json(network.update_port(port_id, security_group_ids))
コード例 #13
0
def security_group_describe(security_group_id):
    print_json(network.describe_security_group(security_group_id))
コード例 #14
0
def server_detach_port(server_id, port_id):
    print_json(compute.detach_port(server_id, port_id))
コード例 #15
0
def server_list_ports(server_id):
    print_json(compute.list_ports(server_id))
コード例 #16
0
def security_group_list_rules():
    print_json(network.list_security_group_rules())
コード例 #17
0
def security_group_delete(security_group_id):
    print_json(network.delete_security_group(security_group_id))
コード例 #18
0
ファイル: port.py プロジェクト: ttk1/conoha-cli
def port_delete(port_id):
    print_json(network.delete_port(port_id))
コード例 #19
0
ファイル: port.py プロジェクト: ttk1/conoha-cli
def port_describe(port_id):
    print_json(network.describe_port(port_id))
コード例 #20
0
def security_group_describe_rule(rule_id):
    print_json(network.describe_security_group_rule(rule_id))
コード例 #21
0
def network_describe(network_id):
    print_json(network.describe_network(network_id))
コード例 #22
0
def network_delete(network_id):
    print_json(network.delete_network(network_id))
コード例 #23
0
def network_create():
    print_json(network.create_network())
コード例 #24
0
def security_group_create(name, description=None):
    print_json(network.create_security_group(name, description))
コード例 #25
0
ファイル: port.py プロジェクト: ttk1/conoha-cli
def port_list():
    print_json(network.list_ports())
コード例 #26
0
ファイル: subnet.py プロジェクト: ttk1/conoha-cli
def subnet_describe(subnet_id):
    print_json(network.describe_subnet(subnet_id))
コード例 #27
0
ファイル: port.py プロジェクト: ttk1/conoha-cli
def port_create(network_id, ip_address, subnet_id, security_group_ids=None):
    print_json(
        network.create_port(network_id, ip_address, subnet_id,
                            security_group_ids))
コード例 #28
0
def server_attach_port(server_id, port_id):
    print_json(compute.attach_port(server_id, port_id))
コード例 #29
0
def flavor_list():
    print_json(compute.list_flavors())
コード例 #30
0
ファイル: subnet.py プロジェクト: ttk1/conoha-cli
def subnet_create(network_id, cidr):
    print_json(network.create_subnet(network_id, cidr))