日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

業務爸爸:小毛驢幫我實現一個功能,我在做業務版本更新的時候需要把該主機在clb上權限改為0,要求用shell腳本實現。

小毛驢:安排!

#!/bin/sh
#
#調用騰訊云的clb api,修改指定 clb, 指定 localtion id下指定 targets 主機的權限。
# author 小毛驢
#

clb_modify_target_api_url=${ApiUrl}

function installJq() {
    if [ -f /etc/redhat-release ];then
        _OSFLAG=`cat /etc/redhat-release | awk '{print tolower($1)}'`
        if [[ ${_OSFLAG}x == 'centos'x  ]]  || [[  ${_OSFLAG}x == 'tencent'x ]] ; then
             yum  -y  -q  install jq
        fi
    elif [ -f /etc/lsb-release ];then
        _OSFLAG=`cat /etc/lsb-release | grep "DISTRIB_ID" | awk -F"=" '{print tolower($2)}'` 
        if [ ${_OSFLAG}x == "ubuntu"x ];then
            sudo apt-get -y   -q install jq
        fi
    else
        echo  "This is no CentOS and Ubuntu , 腳本目前不支持此系統 !"
        exit 1
    fi
}

which jq > /dev/null
if [ $? -gt 0 ]; then
    installJq
fi

function modify_clb_targets() {
    local region=$1
    local load_balancer_id=$2
    local listener_id=$3
    local location_id=$4
    local eni_ip=$5
    local port=$6
    local weight=$7
    generate_get_clb_post_data() {
cat <<EOF
{
    "region": "${region}",
    "load_balancer_id": "${load_balancer_id}",
    "listener_id": "${listener_id}",
    "location_id": "${location_id}",
    "targets": [{
        "eni_ip": "${eni_ip}",
        "port": ${port},
        "weight": ${weight}
    }]
}
EOF
}

    respond=$(curl -s -X POST 
        ${clb_modify_target_api_url} 
        -H 'cache-control: no-cache' 
        -H 'content-type: Application/json' 
        -d "$(generate_get_clb_post_data)")
    echo ${respond}
    http_code=$(echo ${respond} | jq '.code')
    if [[ ${http_code} != 200 ]]; then
        echo "$(echo ${respond} | jq '.message')"
        exit  2
    fi
    echo ${respond} | jq '.message'
}

#如果 Port 是 -1 表示該LocationId下EniIp這地址只有一個端口
if [ ${Port} == -1 ];then
    modify_clb_targets ${Region} ${LoadBalancerId} ${ListenerId} ${LocationId} ${EniIp} -1 ${Weight}
else
    modify_clb_targets ${Region} ${LoadBalancerId} ${ListenerId} ${LocationId} ${EniIp} ${Port} ${Weight}
fi

知識點

  1. clb_modify_target_api_url 這個接口是基于騰訊云封裝后的接口(golang實現,后面會把該代碼分享), 接收json數據能修改對應clb下localtionId的主機權限。
  2. 用jq處理返回的json數據。

分享到:
標簽:shell
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定