1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- # -*- coding: utf-8 -*-
- # This file is auto-generated, don't edit it. Thanks.
- import os
- import sys
- import json
- from typing import List
- from http.client import responses
- from alibabacloud_alidns20150109.client import Client as Alidns20150109Client
- from alibabacloud_tea_openapi import models as open_api_models
- from alibabacloud_alidns20150109 import models as alidns_20150109_models
- from alibabacloud_tea_util import models as util_models
- from alibabacloud_tea_util.client import Client as UtilClient
- from alibabacloud_cms20190101.client import Client as Cms20190101Client
- from alibabacloud_tea_openapi import models as open_api_models
- from alibabacloud_cms20190101 import models as cms_20190101_models
- from alibabacloud_tea_util import models as util_models
- from alibabacloud_tea_util.client import Client as UtilClient
- import conf
- import utils
- def main():
- try:
- # 云监控客户端
- metrics_client = utils.client(access_key_id=conf.metrics_client['access_key_secret'],
- access_key_secret=conf.metrics_client['access_key_secret'],
- endpoint=conf.metrics_client['endpoint']
- )
- # DNS客户端
- dns_client = utils.client(access_key_id=conf.dns_client['access_key_secret'],
- access_key_secret=conf.dns_client['access_key_secret'],
- endpoint=conf.dns_client['endpoint']
- )
- # 获取共享带宽流量 metric_name 入网流量
- bandwidth = utils.DescribeMetricList(metrics_client=metrics_client,
- namespace=conf.namespace,
- metric_name=conf.metric_name,
- period=conf.period,
- dimensions=conf.dimensions,
- start_time=conf.start_time,
- end_time=conf.end_time)
- # 获取所有dns解析RecordId
- # {'Value': '', 'RecordId': ''}
- record_list = utils.DescribeDomainRecords(dns_client=dns_client,
- lang=conf.lang,
- domain_name=conf.domain_name)
- # 获取backup_alb RecordId
- matched_record_ids = [
- record['RecordId']
- for record in record_list
- if record['Value'] in conf.backup_alb_ip_list
- ]
- # 计算权重比
- backup_weight = utils.update_dns_weights(bandwidth)
- for record in matched_record_ids:
- # 修改backup权重
- utils.update_dnsslbweight(dns_client=dns_client,
- lang=conf.lang,
- record=record,
- backup_weight=backup_weight)
- except Exception as e:
- exit(e)
- if __name__ == '__main__':
- main()
|