From 0d0a80525e0b41883714874ad5f2bb6805bcc56b Mon Sep 17 00:00:00 2001 From: yufeiminds Date: Mon, 21 Oct 2019 21:04:21 +0800 Subject: [PATCH 01/10] auto release in local --- .gitignore | 2 + .travis.yml | 1 + Makefile | 20 +- docs/services.rst | 5 - scripts/codegen.sh | 17 ++ scripts/gen-services.sh | 16 -- scripts/gen-tests.sh | 253 ----------------- scripts/release.py | 161 +++++++++++ tests/test_services/test_set_4140.py | 30 +- ucloud/_compat.py | 0 ucloud/client.py | 14 - ucloud/services/ucdn/client.py | 370 +++++++------------------ ucloud/services/ucdn/schemas/apis.py | 316 ++++++--------------- ucloud/services/ucdn/schemas/models.py | 100 ++----- 14 files changed, 400 insertions(+), 905 deletions(-) create mode 100644 scripts/codegen.sh delete mode 100644 scripts/gen-services.sh delete mode 100644 scripts/gen-tests.sh create mode 100644 scripts/release.py create mode 100644 ucloud/_compat.py diff --git a/.gitignore b/.gitignore index ef30da4d..2f81771c 100644 --- a/.gitignore +++ b/.gitignore @@ -114,3 +114,5 @@ venv.bak/ examples/debug bdd/ .version + +scripts/gen-apis.sh diff --git a/.travis.yml b/.travis.yml index 8bd1a95d..6f13dd71 100644 --- a/.travis.yml +++ b/.travis.yml @@ -15,6 +15,7 @@ install: pip install -e .[ci] script: - make lint - make test-cov + - make release-check after_success: - bash <(curl -s https://codecov.io/bash) diff --git a/Makefile b/Makefile index 208a5f28..85b2d163 100644 --- a/Makefile +++ b/Makefile @@ -78,16 +78,14 @@ clean-test: rm -f .coverage rm -fr htmlcov/ -gen: - ucloud-model sdk apis \ - --lang python3 \ - --type=public \ - --template ${UCLOUD_TEMPLATE_PATH}/scripts-api.tpl \ - --output ./scripts/gen-services.sh - ucloud-model sdk tests \ - --lang python3 \ - --template ${UCLOUD_TEMPLATE_PATH}/scripts-test.tpl \ - --output ./scripts/gen-tests.sh - version: @python -c 'from ucloud.version import version; print(version)' + +codegen: + @bash ./scripts/codegen.sh + +release-check: + @python scripts/release.py --dry-run + +release: + @python scripts/release.py diff --git a/docs/services.rst b/docs/services.rst index 74c0b81c..59d8fb53 100644 --- a/docs/services.rst +++ b/docs/services.rst @@ -73,8 +73,3 @@ USMS .. autoclass:: ucloud.services.usms.client.USMSClient :members: -VPC ---- - -.. autoclass:: ucloud.services.vpc.client.VPCClient - :members: diff --git a/scripts/codegen.sh b/scripts/codegen.sh new file mode 100644 index 00000000..5f5a0cfa --- /dev/null +++ b/scripts/codegen.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash + +#set -u +set -e + +if [ -n "$PRODUCT" ]; then + ucloud-model sync --lang python --product "$PRODUCT" + ucloud-model sdk apis --type public --product "$PRODUCT" --lang python --template "$U_MODEL_HOME"/providers/python/templates/scripts-api.tpl --output scripts/gen-apis.sh + bash ./scripts/gen-apis.sh +fi + +if [ -n "$TEST" ]; then + IFS=',' read -ra TL <<< "$TEST" + for i in "${TL[@]}"; do + ucloud-model sdk test --name "$i" --lang python --template "$U_MODEL_HOME"/providers/python/templates/testing.tpl --output tests/test_services/test_set_"$i".py + done +fi diff --git a/scripts/gen-services.sh b/scripts/gen-services.sh deleted file mode 100644 index 8fc62008..00000000 --- a/scripts/gen-services.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/env bash - -# Code is generated by ucloud-model, DO NOT EDIT IT. - -ucloud-model sdk apis --lang python3 --type public --in-db --template ../ucloud-api-model-v2/apisdk/lang/python/templates/clients.tpl --output ./ucloud/client.py -ucloud-model sdk apis --lang python3 --type public --in-db --template ../ucloud-api-model-v2/apisdk/lang/python/templates/docs.tpl --output ./docs/services.rst - - -mkdir -p ./ucloud/services/ucdn/schemas -touch ./ucloud/services/ucdn/__init__.py -touch ./ucloud/services/ucdn/schemas/__init__.py -ucloud-model sdk apis --lang python3 --product UCDN --type public --template ../ucloud-api-model-v2/apisdk/lang/python/templates/schema.tpl --output ./ucloud/services/ucdn/schemas/apis.py -ucloud-model sdk apis --lang python3 --product UCDN --type public --template ../ucloud-api-model-v2/apisdk/lang/python/templates/model.tpl --output ./ucloud/services/ucdn/schemas/models.py -ucloud-model sdk apis --lang python3 --product UCDN --type public --template ../ucloud-api-model-v2/apisdk/lang/python/templates/client.tpl --output ./ucloud/services/ucdn/client.py -black ucloud/services/ucdn -python -m ucloud.services.ucdn.client diff --git a/scripts/gen-tests.sh b/scripts/gen-tests.sh deleted file mode 100644 index 79f947b7..00000000 --- a/scripts/gen-tests.sh +++ /dev/null @@ -1,253 +0,0 @@ -#!/usr/bin/env bash - -# Code is generated by ucloud-model, DO NOT EDIT IT. - - -ucloud-model sdk test \ - --lang python3 \ - --template ../ucloud-api-model-v2/apisdk/lang/python/templates/testing.tpl \ - --output tests/test_services/test_set_113.py \ - --name 113 - -ucloud-model sdk test \ - --lang python3 \ - --template ../ucloud-api-model-v2/apisdk/lang/python/templates/testing.tpl \ - --output tests/test_services/test_set_179.py \ - --name 179 - -ucloud-model sdk test \ - --lang python3 \ - --template ../ucloud-api-model-v2/apisdk/lang/python/templates/testing.tpl \ - --output tests/test_services/test_set_181.py \ - --name 181 - -ucloud-model sdk test \ - --lang python3 \ - --template ../ucloud-api-model-v2/apisdk/lang/python/templates/testing.tpl \ - --output tests/test_services/test_set_207.py \ - --name 207 - -ucloud-model sdk test \ - --lang python3 \ - --template ../ucloud-api-model-v2/apisdk/lang/python/templates/testing.tpl \ - --output tests/test_services/test_set_227.py \ - --name 227 - -ucloud-model sdk test \ - --lang python3 \ - --template ../ucloud-api-model-v2/apisdk/lang/python/templates/testing.tpl \ - --output tests/test_services/test_set_230.py \ - --name 230 - -ucloud-model sdk test \ - --lang python3 \ - --template ../ucloud-api-model-v2/apisdk/lang/python/templates/testing.tpl \ - --output tests/test_services/test_set_242.py \ - --name 242 - -ucloud-model sdk test \ - --lang python3 \ - --template ../ucloud-api-model-v2/apisdk/lang/python/templates/testing.tpl \ - --output tests/test_services/test_set_245.py \ - --name 245 - -ucloud-model sdk test \ - --lang python3 \ - --template ../ucloud-api-model-v2/apisdk/lang/python/templates/testing.tpl \ - --output tests/test_services/test_set_255.py \ - --name 255 - -ucloud-model sdk test \ - --lang python3 \ - --template ../ucloud-api-model-v2/apisdk/lang/python/templates/testing.tpl \ - --output tests/test_services/test_set_268.py \ - --name 268 - -ucloud-model sdk test \ - --lang python3 \ - --template ../ucloud-api-model-v2/apisdk/lang/python/templates/testing.tpl \ - --output tests/test_services/test_set_279.py \ - --name 279 - -ucloud-model sdk test \ - --lang python3 \ - --template ../ucloud-api-model-v2/apisdk/lang/python/templates/testing.tpl \ - --output tests/test_services/test_set_283.py \ - --name 283 - -ucloud-model sdk test \ - --lang python3 \ - --template ../ucloud-api-model-v2/apisdk/lang/python/templates/testing.tpl \ - --output tests/test_services/test_set_286.py \ - --name 286 - -ucloud-model sdk test \ - --lang python3 \ - --template ../ucloud-api-model-v2/apisdk/lang/python/templates/testing.tpl \ - --output tests/test_services/test_set_289.py \ - --name 289 - -ucloud-model sdk test \ - --lang python3 \ - --template ../ucloud-api-model-v2/apisdk/lang/python/templates/testing.tpl \ - --output tests/test_services/test_set_293.py \ - --name 293 - -ucloud-model sdk test \ - --lang python3 \ - --template ../ucloud-api-model-v2/apisdk/lang/python/templates/testing.tpl \ - --output tests/test_services/test_set_302.py \ - --name 302 - -ucloud-model sdk test \ - --lang python3 \ - --template ../ucloud-api-model-v2/apisdk/lang/python/templates/testing.tpl \ - --output tests/test_services/test_set_330.py \ - --name 330 - -ucloud-model sdk test \ - --lang python3 \ - --template ../ucloud-api-model-v2/apisdk/lang/python/templates/testing.tpl \ - --output tests/test_services/test_set_333.py \ - --name 333 - -ucloud-model sdk test \ - --lang python3 \ - --template ../ucloud-api-model-v2/apisdk/lang/python/templates/testing.tpl \ - --output tests/test_services/test_set_448.py \ - --name 448 - -ucloud-model sdk test \ - --lang python3 \ - --template ../ucloud-api-model-v2/apisdk/lang/python/templates/testing.tpl \ - --output tests/test_services/test_set_449.py \ - --name 449 - -ucloud-model sdk test \ - --lang python3 \ - --template ../ucloud-api-model-v2/apisdk/lang/python/templates/testing.tpl \ - --output tests/test_services/test_set_471.py \ - --name 471 - -ucloud-model sdk test \ - --lang python3 \ - --template ../ucloud-api-model-v2/apisdk/lang/python/templates/testing.tpl \ - --output tests/test_services/test_set_488.py \ - --name 488 - -ucloud-model sdk test \ - --lang python3 \ - --template ../ucloud-api-model-v2/apisdk/lang/python/templates/testing.tpl \ - --output tests/test_services/test_set_489.py \ - --name 489 - -ucloud-model sdk test \ - --lang python3 \ - --template ../ucloud-api-model-v2/apisdk/lang/python/templates/testing.tpl \ - --output tests/test_services/test_set_490.py \ - --name 490 - -ucloud-model sdk test \ - --lang python3 \ - --template ../ucloud-api-model-v2/apisdk/lang/python/templates/testing.tpl \ - --output tests/test_services/test_set_491.py \ - --name 491 - -ucloud-model sdk test \ - --lang python3 \ - --template ../ucloud-api-model-v2/apisdk/lang/python/templates/testing.tpl \ - --output tests/test_services/test_set_499.py \ - --name 499 - -ucloud-model sdk test \ - --lang python3 \ - --template ../ucloud-api-model-v2/apisdk/lang/python/templates/testing.tpl \ - --output tests/test_services/test_set_503.py \ - --name 503 - -ucloud-model sdk test \ - --lang python3 \ - --template ../ucloud-api-model-v2/apisdk/lang/python/templates/testing.tpl \ - --output tests/test_services/test_set_687.py \ - --name 687 - -ucloud-model sdk test \ - --lang python3 \ - --template ../ucloud-api-model-v2/apisdk/lang/python/templates/testing.tpl \ - --output tests/test_services/test_set_867.py \ - --name 867 - -ucloud-model sdk test \ - --lang python3 \ - --template ../ucloud-api-model-v2/apisdk/lang/python/templates/testing.tpl \ - --output tests/test_services/test_set_1073.py \ - --name 1073 - -ucloud-model sdk test \ - --lang python3 \ - --template ../ucloud-api-model-v2/apisdk/lang/python/templates/testing.tpl \ - --output tests/test_services/test_set_1201.py \ - --name 1201 - -ucloud-model sdk test \ - --lang python3 \ - --template ../ucloud-api-model-v2/apisdk/lang/python/templates/testing.tpl \ - --output tests/test_services/test_set_1202.py \ - --name 1202 - -ucloud-model sdk test \ - --lang python3 \ - --template ../ucloud-api-model-v2/apisdk/lang/python/templates/testing.tpl \ - --output tests/test_services/test_set_1203.py \ - --name 1203 - -ucloud-model sdk test \ - --lang python3 \ - --template ../ucloud-api-model-v2/apisdk/lang/python/templates/testing.tpl \ - --output tests/test_services/test_set_2117.py \ - --name 2117 - -ucloud-model sdk test \ - --lang python3 \ - --template ../ucloud-api-model-v2/apisdk/lang/python/templates/testing.tpl \ - --output tests/test_services/test_set_2174.py \ - --name 2174 - -ucloud-model sdk test \ - --lang python3 \ - --template ../ucloud-api-model-v2/apisdk/lang/python/templates/testing.tpl \ - --output tests/test_services/test_set_2377.py \ - --name 2377 - -ucloud-model sdk test \ - --lang python3 \ - --template ../ucloud-api-model-v2/apisdk/lang/python/templates/testing.tpl \ - --output tests/test_services/test_set_2457.py \ - --name 2457 - -ucloud-model sdk test \ - --lang python3 \ - --template ../ucloud-api-model-v2/apisdk/lang/python/templates/testing.tpl \ - --output tests/test_services/test_set_2935.py \ - --name 2935 - -ucloud-model sdk test \ - --lang python3 \ - --template ../ucloud-api-model-v2/apisdk/lang/python/templates/testing.tpl \ - --output tests/test_services/test_set_3278.py \ - --name 3278 - -ucloud-model sdk test \ - --lang python3 \ - --template ../ucloud-api-model-v2/apisdk/lang/python/templates/testing.tpl \ - --output tests/test_services/test_set_3279.py \ - --name 3279 - - -ucloud-model sdk test \ - --lang python3 \ - --template ../ucloud-api-model-v2/apisdk/lang/python/templates/testing.tpl \ - --output tests/test_services/test_set_4079.py \ - --name 4079 - -black tests/test_services/* diff --git a/scripts/release.py b/scripts/release.py new file mode 100644 index 00000000..84855a96 --- /dev/null +++ b/scripts/release.py @@ -0,0 +1,161 @@ +import logging +import subprocess +import copy +from datetime import datetime + +import ucloud.version + + +logger = logging.getLogger(__name__) + + +def shell(cmd): + print(cmd) + p = subprocess.check_output(cmd) + return p.decode().strip() + + +class Bumper: + def __init__(self, version): + self.version = version + versioned = version.split('.') + if len(versioned) != 3: + raise ValueError('invalid version {}'.format(version)) + + major, minor, patch = versioned + self.major = int(major) + self.minor = int(minor) + self.patch = int(patch) + + def bump_major(self): + clone = copy.deepcopy(self) + clone.major += 1 + clone.minor = 0 + clone.patch = 0 + return clone + + def bump_minor(self): + clone = copy.deepcopy(self) + clone.minor += 1 + clone.patch = 0 + return clone + + def bump_patch(self): + clone = copy.deepcopy(self) + clone.patch += 1 + return clone + + +class StepWriteChangelog: + classifier_tokens = ['FEATURES', 'ENHANCEMENTS', 'BUG FIXES'] + + def __init__(self, changelog_file='CHANGELOG.md', is_prerelease=True, is_dry_run=True): + self.state = '' + self.logs = {} + self.changelog_file = changelog_file + self.is_prerelease = is_prerelease + self.is_dry_run = is_dry_run + + @staticmethod + def get_git_logs(): + version = shell('git describe --tags --abbrev=0') + commit_sha = shell('git show-ref -s {}'.format(version)) + return shell('git log --format=%B {}..HEAD'.format(commit_sha)) + + def get_change_logs(self): + logs = {} + for line in self.get_git_logs().split('\n'): + line = line.strip() + if not line: + continue + + if line.strip(':') in self.classifier_tokens: + self.state = line + logs.setdefault(line, []) + continue + + if line.startswith('- ') and self.state: + logs[self.state].append(line) + else: + logger.warning('ignore changelog: {}'.format(line)) + + return logs + + def write_changelog(self, logs): + buffer_lines = [] + should_bump = None + + # render change logs + for i, token in enumerate(self.classifier_tokens): + items = logs.get(token) + if not items: + continue + + buffer_lines.append(token) + for item in items: + buffer_lines.append('- ' + item) + + if should_bump is None: + should_bump = i + + if should_bump is None: + raise ValueError('no content should be release') + + # auto increase version number + bumper = Bumper(ucloud.version.version) + if should_bump == 0: + if not self.is_prerelease: + bumper = bumper.bump_major() + else: + bumper = bumper.bump_minor() + elif should_bump == 1: + bumper = bumper.bump_minor() + else: + bumper = bumper.bump_patch() + + if not self.is_dry_run: + # insert change logs at the begin of changelog file + with open('CHANGELOG.md', 'rw') as f: + content = f.read() + f.write('\n\n'.join([ + '## {} ({})'.format(bumper.version, datetime.now().date().isoformat()), + '\n'.join(buffer_lines), + content, + ])) + + return bumper.version + + def write_version(self, version): + version_code = 'version = "{}"'.format(version) + if self.is_dry_run: + print(version_code) + return + + with open('./ucloud/version.py', 'w') as f: + f.write(version_code) + + +def main(): + import argparse + + parser = argparse.ArgumentParser(description='Process some integers.') + parser.add_argument('--changelog-file', default='CHANGELOG.md', + help='the file path of changelog file') + parser.add_argument('--production', default=False, action='store_true', help='is prerelease') + parser.add_argument('--dry-run', default=False, action='store_true', help='is dry run') + + args = parser.parse_args() + print(args) + + step1 = StepWriteChangelog( + changelog_file=args.changelog_file, + is_dry_run=args.dry_run, + is_prerelease=not args.production, + ) + logs = step1.get_change_logs() + version = step1.write_changelog(logs) + step1.write_version(version) + + +if __name__ == '__main__': + main() diff --git a/tests/test_services/test_set_4140.py b/tests/test_services/test_set_4140.py index f59a74ae..095d9153 100644 --- a/tests/test_services/test_set_4140.py +++ b/tests/test_services/test_set_4140.py @@ -100,7 +100,7 @@ def describe_ucdn_domain_02(client: utest.Client, variables: dict): d = {"DomainId": [variables.get("domainId")]} try: - resp = client.ucdn().describe_ucdn_domain(d) + resp = client.invoke("DescribeUcdnDomain", d) except exc.RetCodeException as e: resp = e.json() @@ -132,7 +132,7 @@ def describe_ucdn_domain_03(client: utest.Client, variables: dict): d = {"DomainId": [variables.get("domainId")]} try: - resp = client.ucdn().describe_ucdn_domain(d) + resp = client.invoke("DescribeUcdnDomain", d) except exc.RetCodeException as e: resp = e.json() @@ -155,7 +155,7 @@ def batch_describe_new_ucdn_domain_04(client: utest.Client, variables: dict): d = {} try: - resp = client.ucdn().batch_describe_new_ucdn_domain(d) + resp = client.invoke("BatchDescribeNewUcdnDomain", d) except exc.RetCodeException as e: resp = e.json() @@ -181,7 +181,7 @@ def get_new_ucdn_domain_http_code_v2_05(client: utest.Client, variables: dict): } try: - resp = client.ucdn().get_new_ucdn_domain_http_code_v2(d) + resp = client.invoke("GetNewUcdnDomainHttpCodeV2", d) except exc.RetCodeException as e: resp = e.json() @@ -233,7 +233,7 @@ def get_new_ucdn_domain_http_code_07(client: utest.Client, variables: dict): } try: - resp = client.ucdn().get_new_ucdn_domain_http_code(d) + resp = client.invoke("GetNewUcdnDomainHttpCode", d) except exc.RetCodeException as e: resp = e.json() @@ -255,7 +255,7 @@ def prefetch_new_ucdn_domain_cache_08(client: utest.Client, variables: dict): d = {"UrlList": [funcs.concat("http://", variables.get("domain"), "/")]} try: - resp = client.ucdn().prefetch_new_ucdn_domain_cache(d) + resp = client.invoke("PrefetchNewUcdnDomainCache", d) except exc.RetCodeException as e: resp = e.json() @@ -280,7 +280,7 @@ def describe_new_ucdn_prefetch_cache_task_09( d = {"TaskId": [variables.get("PrefetchCache_TaskId")]} try: - resp = client.ucdn().describe_new_ucdn_prefetch_cache_task(d) + resp = client.invoke("DescribeNewUcdnPrefetchCacheTask", d) except exc.RetCodeException as e: resp = e.json() @@ -304,7 +304,7 @@ def describe_new_ucdn_refresh_cache_task_10( d = {"TaskId": [variables.get("PrefetchCache_TaskId")]} try: - resp = client.ucdn().describe_new_ucdn_refresh_cache_task(d) + resp = client.invoke("DescribeNewUcdnRefreshCacheTask", d) except exc.RetCodeException as e: resp = e.json() @@ -329,7 +329,7 @@ def refresh_new_ucdn_domain_cache_11(client: utest.Client, variables: dict): } try: - resp = client.ucdn().refresh_new_ucdn_domain_cache(d) + resp = client.invoke("RefreshNewUcdnDomainCache", d) except exc.RetCodeException as e: resp = e.json() @@ -425,7 +425,7 @@ def get_ucdn_domain_log_15(client: utest.Client, variables: dict): } try: - resp = client.ucdn().get_ucdn_domain_log(d) + resp = client.invoke("GetUcdnDomainLog", d) except exc.RetCodeException as e: resp = e.json() @@ -447,7 +447,7 @@ def get_ucdn_traffic_16(client: utest.Client, variables: dict): d = {} try: - resp = client.ucdn().get_ucdn_traffic(d) + resp = client.invoke("GetUcdnTraffic", d) except exc.RetCodeException as e: resp = e.json() @@ -469,7 +469,7 @@ def get_ucdn_domain_traffic_17(client: utest.Client, variables: dict): d = {"AccountType": "top"} try: - resp = client.ucdn().get_ucdn_domain_traffic(d) + resp = client.invoke("GetUcdnDomainTraffic", d) except exc.RetCodeException as e: resp = e.json() @@ -492,7 +492,7 @@ def get_ucdn_domain_prefetch_enable_18(client: utest.Client, variables: dict): d = {"DomainId": variables.get("domainId")} try: - resp = client.ucdn().get_ucdn_domain_prefetch_enable(d) + resp = client.invoke("GetUcdnDomainPrefetchEnable", d) except exc.RetCodeException as e: resp = e.json() @@ -514,7 +514,7 @@ def switch_ucdn_charge_type_19(client: utest.Client, variables: dict): d = {"ChargeType": "traffic"} try: - resp = client.ucdn().switch_ucdn_charge_type(d) + resp = client.invoke("SwitchUcdnChargeType", d) except exc.RetCodeException as e: resp = e.json() @@ -571,7 +571,7 @@ def describe_ucdn_domain_21(client: utest.Client, variables: dict): d = {"DomainId": [variables.get("domainId")]} try: - resp = client.ucdn().describe_ucdn_domain(d) + resp = client.invoke("DescribeUcdnDomain", d) except exc.RetCodeException as e: resp = e.json() diff --git a/ucloud/_compat.py b/ucloud/_compat.py new file mode 100644 index 00000000..e69de29b diff --git a/ucloud/client.py b/ucloud/client.py index b3696c4c..5734d1fc 100644 --- a/ucloud/client.py +++ b/ucloud/client.py @@ -8,13 +8,6 @@ def __init__(self, config: dict, transport=None, middleware=None): self._config = config super(Client, self).__init__(config, transport, middleware) - def pathx(self): - from ucloud.services.pathx.client import PathXClient - - return PathXClient( - self._config, self.transport, self.middleware, self.logger - ) - def stepflow(self): from ucloud.services.stepflow.client import StepFlowClient @@ -98,10 +91,3 @@ def usms(self): return USMSClient( self._config, self.transport, self.middleware, self.logger ) - - def vpc(self): - from ucloud.services.vpc.client import VPCClient - - return VPCClient( - self._config, self.transport, self.middleware, self.logger - ) diff --git a/ucloud/services/ucdn/client.py b/ucloud/services/ucdn/client.py index 0c932463..f305c8ee 100644 --- a/ucloud/services/ucdn/client.py +++ b/ucloud/services/ucdn/client.py @@ -38,10 +38,6 @@ def batch_describe_new_ucdn_domain( **Response Model** - **AccessConf** - - - **IpBlacklist** (str) - 多个ip用逗号隔开 - **CacheConf** - **CacheBehavior** (bool) - 是否缓存,true为缓存,false为不缓存。为false的情况下,CacheTTL和CacheUnit强制不生效 @@ -53,6 +49,10 @@ def batch_describe_new_ucdn_domain( - **IgnoreQueryString** (bool) - 是否忽略参数缓存(false为不忽略,true为忽略,默认为false) - **PathPattern** (str) - 路径模式,支持正则 + **AccessConf** + + - **IpBlacklist** (str) - 多个ip用逗号隔开 + **DomainInfo** - **AccessConf** (dict) - 见 **AccessConf** 模型定义 @@ -184,179 +184,75 @@ def describe_new_ucdn_refresh_cache_task( resp = self.invoke("DescribeNewUcdnRefreshCacheTask", d, **kwargs) return apis.DescribeNewUcdnRefreshCacheTaskResponseSchema().loads(resp) - def describe_prefetch_cache_task( + def get_new_ucdn_domain_bandwidth( self, req: typing.Optional[dict] = None, **kwargs ) -> dict: - """ DescribePrefetchCacheTask - 获取域名预取任务状态 + """ GetNewUcdnDomainBandwidth - 获取域名带宽数据 **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ - - **DomainId** (str) - (Required) 域名ID,创建加速域名时生成。 - - **BeginTime** (int) - 查询的起始时间,格式为Unix Timestamp。如果有EndTime,BeginTime必须赋值。 + - **Type** (int) - (Required) 时间粒度(0表示按照5分钟粒度,1表示按照1小时粒度,2表示按照一天的粒度) + - **Areacode** (str) - 查询带宽区域 cn代表国内 abroad代表海外 不填默认为全部区域 + - **BeginTime** (int) - 查询的起始时间,格式为Unix Timestamp。如果有EndTime,BeginTime必须赋值。如没有赋值,则返回缺少参 数错误,如果没有EndTime,BeginTime也可以不赋值,EndTime默认当前时间,BeginTime 默认前一天的当前时间。 + - **DomainId** (list) - 域名id,创建域名时生成的id。默认全部域名 - **EndTime** (int) - 查询的结束时间,格式为Unix Timestamp。EndTime默认为当前时间,BeginTime默认为当前时间前一天时间。 - - **Limit** (int) - 返回数据的长度,默认20。 - - **Offset** (int) - 数据偏移量,默认为0 - - **Status** (str) - 需要获取的内容刷新的状态,枚举值:success:成功;wait:等待处理;process:正在处理;failure:失败; unknow:未知,默认选择所有状态 - - **TaskId** (str) - 提交任务时返回的任务ID **Response** - - **TaskSet** (list) - 见 **PrefetchCacheTaskSet** 模型定义 - - **TotalCount** (int) - 预取任务的总条数 + - **BandwidthList** (list) - 见 **BandwidthInfo** 模型定义 + - **Traffic** (str) - 从起始时间到结束时间内的所使用的CDN总流量,单位GB **Response Model** - **PrefetchCacheTaskSet** + **BandwidthInfo** - - **CheckTime** (int) - 任务状态查询时间,成功后不再查询。格式为Unix Timestamp - - **CreateTime** (int) - 预取任务创建的时间。格式为Unix Timestamp - - **Domain** (str) - 预取域名 - - **ErrorCode** (int) - 预取任务失败时返回,0未知原因,请联系技术支持 1源站无法连接 2源站禁止访问 3源站文件不存在 4源站返回 错误的请求 5源站服务器错误 6文件格式不支持 7源站网络不稳定 8任务重复 9文件路径包含特殊字符 - - **Percent** (int) - 预取任务执行的百分比。1代表1%,100代表100%。(大文件下载、点播不支持展示精确进度,只有成功或失败) - - **Status** (str) - 预取任务的当前状态,枚举值:success:成功;wait:等待处理;process:正在处理;failure:失败; unknow:未知 - - **TaskId** (str) - 任务ID,提交预取任务时返回。 - - **UrlLists** (list) - 预取提交的多条URL + - **CdnBandwidth** (str) - 返回值返回指定时间区间内CDN的带宽峰值,单位Mbps(如果请求参数Type为0,则Value是五分钟粒度的带宽值,如果Type为1,则Value是1小时的带宽峰值,如果Type为2,则Value是一天内的带宽峰值) + - **Time** (int) - 带宽获取的时间点。格式:时间戳 """ # build request d = {"ProjectId": self.config.project_id} req and d.update(req) - d = apis.DescribePrefetchCacheTaskRequestSchema().dumps(d) + d = apis.GetNewUcdnDomainBandwidthRequestSchema().dumps(d) - resp = self.invoke("DescribePrefetchCacheTask", d, **kwargs) - return apis.DescribePrefetchCacheTaskResponseSchema().loads(resp) + resp = self.invoke("GetNewUcdnDomainBandwidth", d, **kwargs) + return apis.GetNewUcdnDomainBandwidthResponseSchema().loads(resp) - def describe_refresh_cache_task( + def get_new_ucdn_domain_hit_rate( self, req: typing.Optional[dict] = None, **kwargs ) -> dict: - """ DescribeRefreshCacheTask - 获取域名刷新任务状态 + """ GetNewUcdnDomainHitRate - 获取域名命中率 **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ - - **DomainId** (str) - (Required) 域名ID,创建加速域名时生成。 - - **BeginTime** (int) - 查询的起始时间,格式为Unix Timestamp。如果有EndTime,BeginTime必须赋值。 + - **Type** (int) - (Required) 时间粒度(0表示按照5分钟粒度,1表示按照1小时粒度,2表示按照一天的粒度) + - **Areacode** (str) - 查询带宽区域 cn代表国内 abroad代表海外,只支持国内 + - **BeginTime** (int) - 查询的起始时间,格式为Unix Timestamp。如果有EndTime,BeginTime必须赋值。如没有赋值,则返回缺少参 数错误,如果没有EndTime,BeginTime也可以不赋值,EndTime默认当前时间,BeginTime 默认前一天的当前时间。 + - **DomainId** (list) - 域名id,创建域名时生成的id。默认全部域名 - **EndTime** (int) - 查询的结束时间,格式为Unix Timestamp。EndTime默认为当前时间,BeginTime默认为当前时间前一天时间。 - - **Limit** (int) - 返回数据的长度,默认20。 - - **Offset** (int) - 数据偏移量,默认为0 - - **Status** (str) - 需要获取的内容刷新的状态,枚举值:success:成功;wait:等待处理;process:正在处理;failure:失败; unknow:未知,默认选择所有状态 - - **TaskId** (str) - 提交任务时返回的任务ID **Response** - - **TaskSet** (list) - 见 **RefreshCacheTaskSet** 模型定义 - - **TotalCount** (int) - 刷新任务的总条数 + - **HitRateList** (list) - 见 **HitRateInfo** 模型定义 **Response Model** - **RefreshCacheTaskSet** - - - **CheckTime** (str) - 任务状态查询时间,成功后不再查询。格式为Unix Timestamp - - **CreateTime** (int) - 刷新任务创建的时间。格式为Unix Timestamp - - **Domain** (str) - 刷新域名 - - **Percent** (int) - 刷新任务执行的百分比。1代表1%,100代表100% - - **Status** (str) - 刷新任务的当前状态,枚举值:success:成功;wait:等待处理;process:正在处理;failure:失败; unknow:未知 - - **TaskId** (str) - 提交任务时返回的任务ID - - **UrlLists** (list) - 刷新提交的多条URL - - """ - # build request - d = {"ProjectId": self.config.project_id} - req and d.update(req) - d = apis.DescribeRefreshCacheTaskRequestSchema().dumps(d) - - resp = self.invoke("DescribeRefreshCacheTask", d, **kwargs) - return apis.DescribeRefreshCacheTaskResponseSchema().loads(resp) - - def describe_ucdn_domain( - self, req: typing.Optional[dict] = None, **kwargs - ) -> dict: - """ DescribeUcdnDomain - 获取加速域名详细信息 - - **Request** - - - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ - - **DomainId** (list) - 域名ID,创建加速域名时生成。默认获取账户下所有域名。 - - **Limit** (str) - 返回数据的长度,默认20。 - - **Offset** (int) - 返回数据的偏移量,默认0。 - - **Response** - - - **ChargeType** (str) - 表示当前的计费方式,traffic代表按流量包计费,bandwidth按带宽付费 - - **DomainSet** (list) - 见 **UcdnDomainSet** 模型定义 - - **TotalCount** (int) - 满足条件的条目数 + **HitRateInfo** - **Response Model** - - **UcdnDomainCacheConfSet** - - - **CacheBehavior** (bool) - 是否缓存(true为缓存,false为不缓存) - - **CacheTTL** (int) - 缓存时间 - - **CacheUnit** (str) - 缓存时间的单位。sec(秒),min(分钟),hour(小时),day(天) - - **Description** (str) - 描述 - - **PathPattern** (str) - 路径模式 - - **UcdnDomainSet** - - - **Areacode** (list) - CDN加速区域,cn:国内;abroad:国外。[ cn, abroad]表示两者皆启用 - - **CacheConf** (list) - 见 **UcdnDomainCacheConfSet** 模型定义 - - **CdnType** (str) - 加速域名的业务类型,枚举值:web:网站;Stream:视频;download:下载; - - **ChargeType** (str) - 计费方式,枚举值为:traffic:按流量包计费; - - **Cname** (str) - cdn域名,创建加速域名时生成的cdn域名,用于设置CNAME记录 - - **CreateTime** (int) - 域名创建的时间。格式为Unix Timestamp - - **Domain** (str) - 域名,用户创建加速的域名 - - **DomainId** (str) - 加速域名ID,创建加速域名时生成 - - **SourceIp** (list) - 源站IP,即cdn服务器回源访问的IP地址。多个IP地址可以表述为:[1.1.1.1, 2.2.2.2] - - **Status** (str) - 加速域名的当前状态:check:审核中;checkSuccess:审核通过;checkFaile:审核失败; enable(ing):(正在)开启加速;disable(ing):(正在)停止加速;delete(ing):(正在)删除加速 - - **TestUrl** (str) - 测试URL,用于测试加速域名的可用性 - - **VaildTime** (int) - 开始分配Cname时间。格式为Unix Timestamp + - **FlowHitRate** (float) - 流量命中率,单位% + - **RequestHitRate** (float) - 请求数命中率,单位% + - **Time** (int) - 带宽获取的时间点。格式:时间戳 """ # build request d = {"ProjectId": self.config.project_id} req and d.update(req) - return self.invoke("DescribeUcdnDomain", d, **kwargs) - - def describe_ucdn_live_access( - self, req: typing.Optional[dict] = None, **kwargs - ) -> dict: - """ DescribeUcdnLiveAccess - 获取直播加速 + d = apis.GetNewUcdnDomainHitRateRequestSchema().dumps(d) - **Request** - - - **DomainId** (str) - 创建直播加速生成的Id,默认获取帐号下所有直播加速 - - **Response** - - - **ChargeType** (str) - 表示当前的计费方式,traffic代表按流量包计费 bandwidth按带宽付费 - - **DomainSet** (list) - 见 **UcdnLiveAccessDomainSet** 模型定义 - - **LastChargeType** (str) - 表示最后一次切换的计费方式,traffic代表按流 量包计费,bandwidth按带宽付费 - - **TotalCount** (int) - 满足条件的直播加速个数 - - **Response Model** - - **UcdnLiveAccessDomainSet** - - - **AccessPoint** (str) - 接入点 - - **CreateTime** (int) - 创建时间,格式:时间戳 - - **DomainId** (str) - 域名Id,创建直播加速生成的Id - - **HlsPlayCname** (str) - Hls播放CDN域名,客户CNAME到该域名播放hls流 - - **HlsPlayDomain** (str) - hls播放域名 - - **PublishCname** (str) - 推流CDN域名,客户推流域名需要CNAME到该域名 - - **PublishDomain** (str) - 推流域名 - - **RtmpPlayCname** (str) - Rtmp播放CDN域名,客户CNAME到该域名播放rtmp流 - - **RtmpPlayDomain** (str) - rtmp播放域名 - - **Status** (str) - 状态。checking:配置中;enabled:加速中; failed:失败;deleting:删除中; disabling:禁用中;disabled:禁用。 - - """ - # build request - d = {} - req and d.update(req) - d = apis.DescribeUcdnLiveAccessRequestSchema().dumps(d) - - resp = self.invoke("DescribeUcdnLiveAccess", d, **kwargs) - return apis.DescribeUcdnLiveAccessResponseSchema().loads(resp) + resp = self.invoke("GetNewUcdnDomainHitRate", d, **kwargs) + return apis.GetNewUcdnDomainHitRateResponseSchema().loads(resp) def get_new_ucdn_domain_http_code( self, req: typing.Optional[dict] = None, **kwargs @@ -485,41 +381,40 @@ def get_new_ucdn_domain_http_code_v2( resp = self.invoke("GetNewUcdnDomainHttpCodeV2", d, **kwargs) return apis.GetNewUcdnDomainHttpCodeV2ResponseSchema().loads(resp) - def get_ucdn_domain_bandwidth( + def get_new_ucdn_domain_request_num( self, req: typing.Optional[dict] = None, **kwargs ) -> dict: - """ GetUcdnDomainBandwidth - 获取加速域名带宽使用信息 + """ GetNewUcdnDomainRequestNum - 获取域名请求数 **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ - - **Areacode** (str) - CDN加速区域,查询带宽区域 cn代表国内 abroad代表海外 默认全部区域 + - **Type** (int) - (Required) 时间粒度(0表示按照5分钟粒度,1表示按照1小时粒度,2表示按照一天的粒度) + - **Areacode** (str) - 查询区域 cn代表国内 abroad代表海外,只支持国内 - **BeginTime** (int) - 查询的起始时间,格式为Unix Timestamp。如果有EndTime,BeginTime必须赋值。如没有赋值,则返回缺少参 数错误,如果没有EndTime,BeginTime也可以不赋值,EndTime默认当前时间,BeginTime 默认前一天的当前时间。 - - **DomainId** (list) - 域名ID,创建域名时生成的id。默认全部域名 + - **DomainId** (list) - 域名id,创建域名时生成的id。默认全部域名 - **EndTime** (int) - 查询的结束时间,格式为Unix Timestamp。EndTime默认为当前时间,BeginTime默认为当前时间前一天时间。 - - **Type** (int) - 时间粒度(0表示按照5分钟粒度,1表示按照1小时粒度,2表示按照一天的粒度) **Response** - - **BandWidthSet** (list) - 见 **CDNBandwidthSet** 模型定义 - - **Traffic** (float) - 从起始时间到结束时间内所使用的总流量,单位GB + - **RequestList** (list) - 见 **RequestInfo** 模型定义 **Response Model** - **CDNBandwidthSet** + **RequestInfo** - - **Time** (int) - 带宽获取的时间点,格式为Unix Timestamp - - **TopFluxTime** (int) - 峰值时间点,只有请求1小时粒度和1天粒度的时候返回 - - **Value** (float) - 返回值返回指定时间区间内的带宽峰值(如果请求参数Type为0, 则Value是五分钟粒度的带宽峰值,如果Type为1,则Value是1 小时的带宽峰值,如果Type为2,则Value是一天内的带宽峰值) + - **CdnRequest** (float) - 返回值返回指定时间区间内的cdn收到的请求次数之和 + - **OriginRequest** (float) - 返回值返回指定时间区间内的cdn回源的请求次数之和 + - **Time** (int) - 带宽获取的时间点。格式:时间戳 """ # build request d = {"ProjectId": self.config.project_id} req and d.update(req) - d = apis.GetUcdnDomainBandwidthRequestSchema().dumps(d) + d = apis.GetNewUcdnDomainRequestNumRequestSchema().dumps(d) - resp = self.invoke("GetUcdnDomainBandwidth", d, **kwargs) - return apis.GetUcdnDomainBandwidthResponseSchema().loads(resp) + resp = self.invoke("GetNewUcdnDomainRequestNum", d, **kwargs) + return apis.GetNewUcdnDomainRequestNumResponseSchema().loads(resp) def get_ucdn_domain_log( self, req: typing.Optional[dict] = None, **kwargs @@ -583,6 +478,41 @@ def get_ucdn_domain_prefetch_enable( resp = self.invoke("GetUcdnDomainPrefetchEnable", d, **kwargs) return apis.GetUcdnDomainPrefetchEnableResponseSchema().loads(resp) + def get_ucdn_domain_request_num_v2( + self, req: typing.Optional[dict] = None, **kwargs + ) -> dict: + """ GetUcdnDomainRequestNumV2 - 获取域名请求数 + + **Request** + + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **BeginTime** (int) - (Required) 查询的起始时间,格式为Unix Timestamp + - **EndTime** (int) - (Required) 查询的结束时间,格式为Unix Timestamp + - **Type** (int) - (Required) 时间粒度(0表示按照5分钟粒度,1表示按照1小时粒度,2表示按照一天的粒度, 3=按1分钟) + - **Areacode** (str) - 查询区域 cn代表国内 abroad代表海外,只支持国内 + - **DomainId** (list) - 域名id,创建域名时生成的id。默认全部域名 + + **Response** + + - **RequestList** (list) - 见 **RequestInfo** 模型定义 + + **Response Model** + + **RequestInfo** + + - **CdnRequest** (float) - 返回值返回指定时间区间内的cdn收到的请求次数之和 + - **OriginRequest** (float) - 返回值返回指定时间区间内的cdn回源的请求次数之和 + - **Time** (int) - 带宽获取的时间点。格式:时间戳 + + """ + # build request + d = {"ProjectId": self.config.project_id} + req and d.update(req) + d = apis.GetUcdnDomainRequestNumV2RequestSchema().dumps(d) + + resp = self.invoke("GetUcdnDomainRequestNumV2", d, **kwargs) + return apis.GetUcdnDomainRequestNumV2ResponseSchema().loads(resp) + def get_ucdn_domain_traffic( self, req: typing.Optional[dict] = None, **kwargs ) -> dict: @@ -616,40 +546,39 @@ def get_ucdn_domain_traffic( resp = self.invoke("GetUcdnDomainTraffic", d, **kwargs) return apis.GetUcdnDomainTrafficResponseSchema().loads(resp) - def get_ucdn_live_access_bandwidth( + def get_ucdn_pass_bandwidth( self, req: typing.Optional[dict] = None, **kwargs ) -> dict: - """ GetUcdnLiveAccessBandwidth - 获取直播加速带宽 + """ GetUcdnPassBandwidth - 获取回源带宽数据(cdn回客户源站部分) **Request** - - **DomainId** (list) - (Required) 域名ID,创建加速域名时生成。 - - **Type** (int) - (Required) 流量查询粒度,0:5分钟;1:1小时;2:1天 - - **BeginTime** (int) - 查询流量的起始时间,格式:时间戳 - - **EndTime** (int) - 查询流量的结束时间,格式:时间戳 - - **Protocol** (str) - 播放协议,rtmp/hls,不传则获取带宽总和 + - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ + - **Type** (int) - (Required) 时间粒度(0表示按照5分钟粒度,1表示按照1小时粒度,2表示按照一天的粒度) + - **Areacode** (str) - 查询带宽区域 cn代表国内 abroad代表海外,只支持国内 + - **BeginTime** (int) - 查询的起始时间,格式为Unix Timestamp。如果有EndTime,BeginTime必须赋值。如没有赋值,则返回缺少参 数错误,如果没有EndTime,BeginTime也可以不赋值,EndTime默认当前时间,BeginTime 默认前一天的当前时间。 + - **DomainId** (list) - 域名id,创建域名时生成的id。默认全部域名 + - **EndTime** (int) - 查询的结束时间,格式为Unix Timestamp。EndTime默认为当前时间,BeginTime默认为当前时间前一天时间。 **Response** - - **BandwidthSet** (list) - 见 **UcdnLiveAccessBandwidthSet** 模型定义 - - **Traffic** (float) - 从起始时间到结束时间内所使用的总流量,单位GB + - **BandwidthDetail** (list) - 见 **BandwidthInfoDetail** 模型定义 **Response Model** - **UcdnLiveAccessBandwidthSet** + **BandwidthInfoDetail** - - **Time** (int) - 带宽获取的时间点。格式:时间戳 - - **TopFluxTime** (int) - 峰值时间点,只有请求1小时粒度和1天粒度的时候返回 - - **Value** (float) - 返回值返回指定时间区间内的带宽峰值(如果请求参数Type为0,则Value是五分 钟粒度的带宽峰值,如果Type为1,则Value是1小时的带宽峰值,如果Type为2, 则Value是一天内的带宽峰值) + - **Bandwidth** (float) - 返回值带宽值数据。 + - **Time** (int) - 宽获取的时间点。格式:时间戳 """ # build request - d = {} + d = {"ProjectId": self.config.project_id} req and d.update(req) - d = apis.GetUcdnLiveAccessBandwidthRequestSchema().dumps(d) + d = apis.GetUcdnPassBandwidthRequestSchema().dumps(d) - resp = self.invoke("GetUcdnLiveAccessBandwidth", d, **kwargs) - return apis.GetUcdnLiveAccessBandwidthResponseSchema().loads(resp) + resp = self.invoke("GetUcdnPassBandwidth", d, **kwargs) + return apis.GetUcdnPassBandwidthResponseSchema().loads(resp) def get_ucdn_traffic( self, req: typing.Optional[dict] = None, **kwargs @@ -682,30 +611,6 @@ def get_ucdn_traffic( resp = self.invoke("GetUcdnTraffic", d, **kwargs) return apis.GetUcdnTrafficResponseSchema().loads(resp) - def prefetch_domain_cache( - self, req: typing.Optional[dict] = None, **kwargs - ) -> dict: - """ PrefetchDomainCache - 预取文件 - - **Request** - - - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ - - **DomainId** (str) - (Required) 域名ID,创建加速域名时生成。 - - **UrlList** (list) - (Required) 要预取的多个url列表。一次最多提交10个,必须以“http://要预取的域名/”开始的全路径,格式即为(http://要预取的域名/”开始的全路径,格式即为): http://abc.ucloud.cn/a/img.png,提交错误url可能预取不成功。 - - **Response** - - - **TaskId** (str) - 本次提交的url对应的任务id,可用于任务状态查询 - - """ - # build request - d = {"ProjectId": self.config.project_id} - req and d.update(req) - d = apis.PrefetchDomainCacheRequestSchema().dumps(d) - - resp = self.invoke("PrefetchDomainCache", d, **kwargs) - return apis.PrefetchDomainCacheResponseSchema().loads(resp) - def prefetch_new_ucdn_domain_cache( self, req: typing.Optional[dict] = None, **kwargs ) -> dict: @@ -753,31 +658,6 @@ def refresh_new_ucdn_domain_cache( resp = self.invoke("RefreshNewUcdnDomainCache", d, **kwargs) return apis.RefreshNewUcdnDomainCacheResponseSchema().loads(resp) - def refresh_ucdn_domain_cache( - self, req: typing.Optional[dict] = None, **kwargs - ) -> dict: - """ RefreshUcdnDomainCache - 刷新加速缓存 - - **Request** - - - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ - - **DomainId** (str) - (Required) 域名ID,创建加速域名时生成。 - - **Type** (str) - (Required) 刷新类型,file代表文件刷新,dir代表路径刷新 - - **UrlList** (list) - (Required) 刷新多个URL列表时,一次最多提交30个。必须以" `http://域名/"开始。目录要以"/"结尾 `_ , 如刷新目录a下所有文件,格式为:http://abc.ucloud.cn/a/;如刷新文件目录a下面所有img.png文件, 格式为http://abc.ucloud.cn/a/img.png。请正确提交需要刷新的域名 - - **Response** - - - **TaskId** (str) - 本次提交的url对应的任务id,可用于任务状态查询 - - """ - # build request - d = {"ProjectId": self.config.project_id} - req and d.update(req) - d = apis.RefreshUcdnDomainCacheRequestSchema().dumps(d) - - resp = self.invoke("RefreshUcdnDomainCache", d, **kwargs) - return apis.RefreshUcdnDomainCacheResponseSchema().loads(resp) - def switch_ucdn_charge_type( self, req: typing.Optional[dict] = None, **kwargs ) -> dict: @@ -799,61 +679,3 @@ def switch_ucdn_charge_type( resp = self.invoke("SwitchUcdnChargeType", d, **kwargs) return apis.SwitchUcdnChargeTypeResponseSchema().loads(resp) - - def update_ucdn_domain( - self, req: typing.Optional[dict] = None, **kwargs - ) -> dict: - """ UpdateUcdnDomain - 更新加速域名配置 - - **Request** - - - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ - - **DomainId** (str) - (Required) 域名ID,创建加速域名时生成。 - - **CacheConf** (list) - 见 **UpdateUcdnDomainParamCacheConf** 模型定义 - - **SourceIp** (list) - 源站IP,即cdn服务器回源访问的IP地址。支持多个源站IP。多个源站IP可以表述为 :SourceIps.0=1.1.1.1,SourceIps.1=2.2.2.2 - - **TestUrl** (str) - 测试url,用于域名创建加速时的测试。 - - **Response** - - - **Request Model** - - **UpdateUcdnDomainParamCacheConf** - - - **CacheBehavior** (int) - 缓存配置 - 是否缓存(1为缓存,0为不缓存) - - **CacheTTL** (int) - 缓存配置 - 缓存时间 - - **CacheUnit** (str) - 缓存配置 - 缓存时间的单位。sec(秒),min(分钟),hour(小时),day(天) - - **Description** (str) - 缓存配置 - 缓存规则描述 - - **PathPattern** (str) - 缓存配置 - 路径模式 - - """ - # build request - d = {"ProjectId": self.config.project_id} - req and d.update(req) - d = apis.UpdateUcdnDomainRequestSchema().dumps(d) - - resp = self.invoke("UpdateUcdnDomain", d, **kwargs) - return apis.UpdateUcdnDomainResponseSchema().loads(resp) - - def update_ucdn_domain_status( - self, req: typing.Optional[dict] = None, **kwargs - ) -> dict: - """ UpdateUcdnDomainStatus - 更新加速域名状态 - - **Request** - - - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ - - **DomainId** (str) - (Required) 域名ID,创建加速域名时生成。 - - **Status** (str) - (Required) 域名状态,enable代表加速中,disable代表停止加速,delete代表删除。 - - **Response** - - - """ - # build request - d = {"ProjectId": self.config.project_id} - req and d.update(req) - d = apis.UpdateUcdnDomainStatusRequestSchema().dumps(d) - - resp = self.invoke("UpdateUcdnDomainStatus", d, **kwargs) - return apis.UpdateUcdnDomainStatusResponseSchema().loads(resp) diff --git a/ucloud/services/ucdn/schemas/apis.py b/ucloud/services/ucdn/schemas/apis.py index 26f2a753..5be59d6e 100644 --- a/ucloud/services/ucdn/schemas/apis.py +++ b/ucloud/services/ucdn/schemas/apis.py @@ -118,140 +118,69 @@ class DescribeNewUcdnRefreshCacheTaskResponseSchema(schema.ResponseSchema): """ -API: DescribePrefetchCacheTask +API: GetNewUcdnDomainBandwidth -获取域名预取任务状态 +获取域名带宽数据 """ -class DescribePrefetchCacheTaskRequestSchema(schema.RequestSchema): - """ DescribePrefetchCacheTask - 获取域名预取任务状态 +class GetNewUcdnDomainBandwidthRequestSchema(schema.RequestSchema): + """ GetNewUcdnDomainBandwidth - 获取域名带宽数据 """ fields = { + "Areacode": fields.Str(required=False, dump_to="Areacode"), "BeginTime": fields.Int(required=False, dump_to="BeginTime"), - "DomainId": fields.Str(required=True, dump_to="DomainId"), + "DomainId": fields.List(fields.Str()), "EndTime": fields.Int(required=False, dump_to="EndTime"), - "Limit": fields.Int(required=False, dump_to="Limit"), - "Offset": fields.Int(required=False, dump_to="Offset"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "Status": fields.Str(required=False, dump_to="Status"), - "TaskId": fields.Str(required=False, dump_to="TaskId"), + "Type": fields.Int(required=True, dump_to="Type"), } -class DescribePrefetchCacheTaskResponseSchema(schema.ResponseSchema): - """ DescribePrefetchCacheTask - 获取域名预取任务状态 +class GetNewUcdnDomainBandwidthResponseSchema(schema.ResponseSchema): + """ GetNewUcdnDomainBandwidth - 获取域名带宽数据 """ fields = { - "TaskSet": fields.List( - models.PrefetchCacheTaskSetSchema(), + "BandwidthList": fields.List( + models.BandwidthInfoSchema(), required=False, - load_from="TaskSet", + load_from="BandwidthList", ), - "TotalCount": fields.Int(required=False, load_from="TotalCount"), + "Traffic": fields.Str(required=False, load_from="Traffic"), } """ -API: DescribeRefreshCacheTask +API: GetNewUcdnDomainHitRate -获取域名刷新任务状态 +获取域名命中率 """ -class DescribeRefreshCacheTaskRequestSchema(schema.RequestSchema): - """ DescribeRefreshCacheTask - 获取域名刷新任务状态 +class GetNewUcdnDomainHitRateRequestSchema(schema.RequestSchema): + """ GetNewUcdnDomainHitRate - 获取域名命中率 """ fields = { + "Areacode": fields.Str(required=False, dump_to="Areacode"), "BeginTime": fields.Int(required=False, dump_to="BeginTime"), - "DomainId": fields.Str(required=True, dump_to="DomainId"), - "EndTime": fields.Int(required=False, dump_to="EndTime"), - "Limit": fields.Int(required=False, dump_to="Limit"), - "Offset": fields.Int(required=False, dump_to="Offset"), - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "Status": fields.Str(required=False, dump_to="Status"), - "TaskId": fields.Str(required=False, dump_to="TaskId"), - } - - -class DescribeRefreshCacheTaskResponseSchema(schema.ResponseSchema): - """ DescribeRefreshCacheTask - 获取域名刷新任务状态 - """ - - fields = { - "TaskSet": fields.List( - models.RefreshCacheTaskSetSchema(), - required=False, - load_from="TaskSet", - ), - "TotalCount": fields.Int(required=False, load_from="TotalCount"), - } - - -""" -API: DescribeUcdnDomain - -获取加速域名详细信息 -""" - - -class DescribeUcdnDomainRequestSchema(schema.RequestSchema): - """ DescribeUcdnDomain - 获取加速域名详细信息 - """ - - fields = { "DomainId": fields.List(fields.Str()), - "Limit": fields.Str(required=False, dump_to="Limit"), - "Offset": fields.Int(required=False, dump_to="Offset"), + "EndTime": fields.Int(required=False, dump_to="EndTime"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "Type": fields.Int(required=True, dump_to="Type"), } -class DescribeUcdnDomainResponseSchema(schema.ResponseSchema): - """ DescribeUcdnDomain - 获取加速域名详细信息 - """ - - fields = { - "ChargeType": fields.Str(required=False, load_from="ChargeType"), - "DomainSet": fields.List( - models.UcdnDomainSetSchema(), required=False, load_from="DomainSet" - ), - "TotalCount": fields.Int(required=False, load_from="TotalCount"), - } - - -""" -API: DescribeUcdnLiveAccess - -获取直播加速 -""" - - -class DescribeUcdnLiveAccessRequestSchema(schema.RequestSchema): - """ DescribeUcdnLiveAccess - 获取直播加速 - """ - - fields = {"DomainId": fields.Str(required=False, dump_to="DomainId")} - - -class DescribeUcdnLiveAccessResponseSchema(schema.ResponseSchema): - """ DescribeUcdnLiveAccess - 获取直播加速 +class GetNewUcdnDomainHitRateResponseSchema(schema.ResponseSchema): + """ GetNewUcdnDomainHitRate - 获取域名命中率 """ fields = { - "ChargeType": fields.Str(required=False, load_from="ChargeType"), - "DomainSet": fields.List( - models.UcdnLiveAccessDomainSetSchema(), - required=False, - load_from="DomainSet", - ), - "LastChargeType": fields.Str( - required=False, load_from="LastChargeType" - ), - "TotalCount": fields.Int(required=False, load_from="TotalCount"), + "HitRateList": fields.List( + models.HitRateInfoSchema(), required=False, load_from="HitRateList" + ) } @@ -324,14 +253,14 @@ class GetNewUcdnDomainHttpCodeV2ResponseSchema(schema.ResponseSchema): """ -API: GetUcdnDomainBandwidth +API: GetNewUcdnDomainRequestNum -获取加速域名带宽使用信息 +获取域名请求数 """ -class GetUcdnDomainBandwidthRequestSchema(schema.RequestSchema): - """ GetUcdnDomainBandwidth - 获取加速域名带宽使用信息 +class GetNewUcdnDomainRequestNumRequestSchema(schema.RequestSchema): + """ GetNewUcdnDomainRequestNum - 获取域名请求数 """ fields = { @@ -340,21 +269,18 @@ class GetUcdnDomainBandwidthRequestSchema(schema.RequestSchema): "DomainId": fields.List(fields.Str()), "EndTime": fields.Int(required=False, dump_to="EndTime"), "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "Type": fields.Int(required=False, dump_to="Type"), + "Type": fields.Int(required=True, dump_to="Type"), } -class GetUcdnDomainBandwidthResponseSchema(schema.ResponseSchema): - """ GetUcdnDomainBandwidth - 获取加速域名带宽使用信息 +class GetNewUcdnDomainRequestNumResponseSchema(schema.ResponseSchema): + """ GetNewUcdnDomainRequestNum - 获取域名请求数 """ fields = { - "BandWidthSet": fields.List( - models.CDNBandwidthSetSchema(), - required=False, - load_from="BandWidthSet", - ), - "Traffic": fields.Float(required=False, load_from="Traffic"), + "RequestList": fields.List( + models.RequestInfoSchema(), required=False, load_from="RequestList" + ) } @@ -413,6 +339,38 @@ class GetUcdnDomainPrefetchEnableResponseSchema(schema.ResponseSchema): fields = {"Enable": fields.Int(required=False, load_from="Enable")} +""" +API: GetUcdnDomainRequestNumV2 + +获取域名请求数 +""" + + +class GetUcdnDomainRequestNumV2RequestSchema(schema.RequestSchema): + """ GetUcdnDomainRequestNumV2 - 获取域名请求数 + """ + + fields = { + "Areacode": fields.Str(required=False, dump_to="Areacode"), + "BeginTime": fields.Int(required=True, dump_to="BeginTime"), + "DomainId": fields.List(fields.Str()), + "EndTime": fields.Int(required=True, dump_to="EndTime"), + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "Type": fields.Int(required=True, dump_to="Type"), + } + + +class GetUcdnDomainRequestNumV2ResponseSchema(schema.ResponseSchema): + """ GetUcdnDomainRequestNumV2 - 获取域名请求数 + """ + + fields = { + "RequestList": fields.List( + models.RequestInfoSchema(), required=False, load_from="RequestList" + ) + } + + """ API: GetUcdnDomainTraffic @@ -447,36 +405,36 @@ class GetUcdnDomainTrafficResponseSchema(schema.ResponseSchema): """ -API: GetUcdnLiveAccessBandwidth +API: GetUcdnPassBandwidth -获取直播加速带宽 +获取回源带宽数据(cdn回客户源站部分) """ -class GetUcdnLiveAccessBandwidthRequestSchema(schema.RequestSchema): - """ GetUcdnLiveAccessBandwidth - 获取直播加速带宽 +class GetUcdnPassBandwidthRequestSchema(schema.RequestSchema): + """ GetUcdnPassBandwidth - 获取回源带宽数据(cdn回客户源站部分) """ fields = { + "Areacode": fields.Str(required=False, dump_to="Areacode"), "BeginTime": fields.Int(required=False, dump_to="BeginTime"), "DomainId": fields.List(fields.Str()), "EndTime": fields.Int(required=False, dump_to="EndTime"), - "Protocol": fields.Str(required=False, dump_to="Protocol"), + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), "Type": fields.Int(required=True, dump_to="Type"), } -class GetUcdnLiveAccessBandwidthResponseSchema(schema.ResponseSchema): - """ GetUcdnLiveAccessBandwidth - 获取直播加速带宽 +class GetUcdnPassBandwidthResponseSchema(schema.ResponseSchema): + """ GetUcdnPassBandwidth - 获取回源带宽数据(cdn回客户源站部分) """ fields = { - "BandwidthSet": fields.List( - models.UcdnLiveAccessBandwidthSetSchema(), + "BandwidthDetail": fields.List( + models.BandwidthInfoDetailSchema(), required=False, - load_from="BandwidthSet", - ), - "Traffic": fields.Float(required=False, load_from="Traffic"), + load_from="BandwidthDetail", + ) } @@ -505,31 +463,6 @@ class GetUcdnTrafficResponseSchema(schema.ResponseSchema): } -""" -API: PrefetchDomainCache - -预取文件 -""" - - -class PrefetchDomainCacheRequestSchema(schema.RequestSchema): - """ PrefetchDomainCache - 预取文件 - """ - - fields = { - "DomainId": fields.Str(required=True, dump_to="DomainId"), - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "UrlList": fields.List(fields.Str()), - } - - -class PrefetchDomainCacheResponseSchema(schema.ResponseSchema): - """ PrefetchDomainCache - 预取文件 - """ - - fields = {"TaskId": fields.Str(required=False, load_from="TaskId")} - - """ API: PrefetchNewUcdnDomainCache @@ -579,32 +512,6 @@ class RefreshNewUcdnDomainCacheResponseSchema(schema.ResponseSchema): fields = {"TaskId": fields.Str(required=False, load_from="TaskId")} -""" -API: RefreshUcdnDomainCache - -刷新加速缓存 -""" - - -class RefreshUcdnDomainCacheRequestSchema(schema.RequestSchema): - """ RefreshUcdnDomainCache - 刷新加速缓存 - """ - - fields = { - "DomainId": fields.Str(required=True, dump_to="DomainId"), - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "Type": fields.Str(required=True, dump_to="Type"), - "UrlList": fields.List(fields.Str()), - } - - -class RefreshUcdnDomainCacheResponseSchema(schema.ResponseSchema): - """ RefreshUcdnDomainCache - 刷新加速缓存 - """ - - fields = {"TaskId": fields.Str(required=False, load_from="TaskId")} - - """ API: SwitchUcdnChargeType @@ -627,68 +534,3 @@ class SwitchUcdnChargeTypeResponseSchema(schema.ResponseSchema): """ fields = {} - - -""" -API: UpdateUcdnDomain - -更新加速域名配置 -""" - - -class UpdateUcdnDomainParamCacheConfSchema(schema.RequestSchema): - """ UpdateUcdnDomainParamCacheConf - - """ - - fields = { - "CacheBehavior": fields.Int(required=False, dump_to="CacheBehavior"), - "CacheTTL": fields.Int(required=False, dump_to="CacheTTL"), - "CacheUnit": fields.Str(required=False, dump_to="CacheUnit"), - "Description": fields.Str(required=False, dump_to="Description"), - "PathPattern": fields.Str(required=False, dump_to="PathPattern"), - } - - -class UpdateUcdnDomainRequestSchema(schema.RequestSchema): - """ UpdateUcdnDomain - 更新加速域名配置 - """ - - fields = { - "CacheConf": fields.List(UpdateUcdnDomainParamCacheConfSchema()), - "DomainId": fields.Str(required=True, dump_to="DomainId"), - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "SourceIp": fields.List(fields.Str()), - "TestUrl": fields.Str(required=False, dump_to="TestUrl"), - } - - -class UpdateUcdnDomainResponseSchema(schema.ResponseSchema): - """ UpdateUcdnDomain - 更新加速域名配置 - """ - - fields = {} - - -""" -API: UpdateUcdnDomainStatus - -更新加速域名状态 -""" - - -class UpdateUcdnDomainStatusRequestSchema(schema.RequestSchema): - """ UpdateUcdnDomainStatus - 更新加速域名状态 - """ - - fields = { - "DomainId": fields.Str(required=True, dump_to="DomainId"), - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "Status": fields.Str(required=True, dump_to="Status"), - } - - -class UpdateUcdnDomainStatusResponseSchema(schema.ResponseSchema): - """ UpdateUcdnDomainStatus - 更新加速域名状态 - """ - - fields = {} diff --git a/ucloud/services/ucdn/schemas/models.py b/ucloud/services/ucdn/schemas/models.py index 76688ee8..62b20116 100644 --- a/ucloud/services/ucdn/schemas/models.py +++ b/ucloud/services/ucdn/schemas/models.py @@ -97,87 +97,26 @@ class TaskInfoSchema(schema.ResponseSchema): } -class PrefetchCacheTaskSetSchema(schema.ResponseSchema): - """ PrefetchCacheTaskSet - DescribePrefetchCacheTask +class BandwidthInfoSchema(schema.ResponseSchema): + """ BandwidthInfo - BandwidthInfo """ fields = { - "CheckTime": fields.Int(required=False, load_from="CheckTime"), - "CreateTime": fields.Int(required=False, load_from="CreateTime"), - "Domain": fields.Str(required=False, load_from="Domain"), - "ErrorCode": fields.Int(required=False, load_from="ErrorCode"), - "Percent": fields.Int(required=False, load_from="Percent"), - "Status": fields.Str(required=False, load_from="Status"), - "TaskId": fields.Str(required=False, load_from="TaskId"), - "UrlLists": fields.List(fields.Str()), - } - - -class RefreshCacheTaskSetSchema(schema.ResponseSchema): - """ RefreshCacheTaskSet - DescribeRefreshCacheTask - """ - - fields = { - "CheckTime": fields.Str(required=False, load_from="CheckTime"), - "CreateTime": fields.Int(required=False, load_from="CreateTime"), - "Domain": fields.Str(required=False, load_from="Domain"), - "Percent": fields.Int(required=False, load_from="Percent"), - "Status": fields.Str(required=False, load_from="Status"), - "TaskId": fields.Str(required=False, load_from="TaskId"), - "UrlLists": fields.List(fields.Str()), - } - - -class UcdnDomainCacheConfSetSchema(schema.ResponseSchema): - """ UcdnDomainCacheConfSet - DescribeUcdnDomain - """ - - fields = { - "CacheBehavior": fields.Bool(required=False, load_from="CacheBehavior"), - "CacheTTL": fields.Int(required=False, load_from="CacheTTL"), - "CacheUnit": fields.Str(required=False, load_from="CacheUnit"), - "Description": fields.Str(required=False, load_from="Description"), - "PathPattern": fields.Str(required=False, load_from="PathPattern"), - } - - -class UcdnDomainSetSchema(schema.ResponseSchema): - """ UcdnDomainSet - DescribeUcdnDomain - """ - - fields = { - "Areacode": fields.List(fields.Str()), - "CacheConf": fields.List(UcdnDomainCacheConfSetSchema()), - "CdnType": fields.Str(required=False, load_from="CdnType"), - "ChargeType": fields.Str(required=False, load_from="ChargeType"), - "Cname": fields.Str(required=False, load_from="Cname"), - "CreateTime": fields.Int(required=False, load_from="CreateTime"), - "Domain": fields.Str(required=False, load_from="Domain"), - "DomainId": fields.Str(required=False, load_from="DomainId"), - "SourceIp": fields.List(fields.Str()), - "Status": fields.Str(required=False, load_from="Status"), - "TestUrl": fields.Str(required=False, load_from="TestUrl"), - "VaildTime": fields.Int(required=False, load_from="VaildTime"), + "CdnBandwidth": fields.Str(required=False, load_from="CdnBandwidth"), + "Time": fields.Int(required=False, load_from="Time"), } -class UcdnLiveAccessDomainSetSchema(schema.ResponseSchema): - """ UcdnLiveAccessDomainSet - DescribeUcdnLiveAccess +class HitRateInfoSchema(schema.ResponseSchema): + """ HitRateInfo - HitRateInfo """ fields = { - "AccessPoint": fields.Str(required=False, load_from="AccessPoint"), - "CreateTime": fields.Int(required=False, load_from="CreateTime"), - "DomainId": fields.Str(required=False, load_from="DomainId"), - "HlsPlayCname": fields.Str(required=False, load_from="HlsPlayCname"), - "HlsPlayDomain": fields.Str(required=False, load_from="HlsPlayDomain"), - "PublishCname": fields.Str(required=False, load_from="PublishCname"), - "PublishDomain": fields.Str(required=False, load_from="PublishDomain"), - "RtmpPlayCname": fields.Str(required=False, load_from="RtmpPlayCname"), - "RtmpPlayDomain": fields.Str( - required=False, load_from="RtmpPlayDomain" + "FlowHitRate": fields.Float(required=False, load_from="FlowHitRate"), + "RequestHitRate": fields.Float( + required=False, load_from="RequestHitRate" ), - "Status": fields.Str(required=False, load_from="Status"), + "Time": fields.Int(required=False, load_from="Time"), } @@ -260,14 +199,16 @@ class HttpCodeV2DetailSchema(schema.ResponseSchema): } -class CDNBandwidthSetSchema(schema.ResponseSchema): - """ CDNBandwidthSet - GetUcdnDomainBandwidth +class RequestInfoSchema(schema.ResponseSchema): + """ RequestInfo - RequestInfo """ fields = { + "CdnRequest": fields.Float(required=False, load_from="CdnRequest"), + "OriginRequest": fields.Float( + required=False, load_from="OriginRequest" + ), "Time": fields.Int(required=False, load_from="Time"), - "TopFluxTime": fields.Int(required=False, load_from="TopFluxTime"), - "Value": fields.Float(required=False, load_from="Value"), } @@ -302,14 +243,13 @@ class UcdnDomainTrafficSetSchema(schema.ResponseSchema): } -class UcdnLiveAccessBandwidthSetSchema(schema.ResponseSchema): - """ UcdnLiveAccessBandwidthSet - GetUcdnLiveAccessBandwidth +class BandwidthInfoDetailSchema(schema.ResponseSchema): + """ BandwidthInfoDetail - 带宽值信息模型(时间-带宽) """ fields = { - "Time": fields.Int(required=False, load_from="Time"), - "TopFluxTime": fields.Int(required=False, load_from="TopFluxTime"), - "Value": fields.Float(required=False, load_from="Value"), + "Bandwidth": fields.Float(required=True, load_from="Bandwidth"), + "Time": fields.Int(required=True, load_from="Time"), } From f2f04ddd8b8c89d5b70d40a74875cdc359184f63 Mon Sep 17 00:00:00 2001 From: yufeiminds Date: Tue, 22 Oct 2019 12:02:53 +0800 Subject: [PATCH 02/10] add compat client --- ucloud/_compat.py | 14 ++++++++++++++ ucloud/client.py | 3 ++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/ucloud/_compat.py b/ucloud/_compat.py index e69de29b..e36ce46a 100644 --- a/ucloud/_compat.py +++ b/ucloud/_compat.py @@ -0,0 +1,14 @@ +from ucloud.core import client + + +class CompactClient(client.Client): + def __init__(self, config: dict, transport=None, middleware=None): + self._config = config + super(CompactClient, self).__init__(config, transport, middleware) + + def pathx(self): + from ucloud.services.pathx.client import PathXClient + + return PathXClient( + self._config, self.transport, self.middleware, self.logger + ) diff --git a/ucloud/client.py b/ucloud/client.py index 5734d1fc..9a459c9b 100644 --- a/ucloud/client.py +++ b/ucloud/client.py @@ -1,9 +1,10 @@ """ Code is generated by ucloud-model, DO NOT EDIT IT. """ from ucloud.core import client +from ucloud._compat import CompactClient -class Client(client.Client): +class Client(client.Client, CompactClient): def __init__(self, config: dict, transport=None, middleware=None): self._config = config super(Client, self).__init__(config, transport, middleware) From a0e06a3c6d6277883ebf94b36c05fb4c58353e1a Mon Sep 17 00:00:00 2001 From: yufeiminds Date: Tue, 22 Oct 2019 12:56:00 +0800 Subject: [PATCH 03/10] add compat client --- ucloud/_compat.py | 7 +++++++ ucloud/client.py | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/ucloud/_compat.py b/ucloud/_compat.py index e36ce46a..62fed4c1 100644 --- a/ucloud/_compat.py +++ b/ucloud/_compat.py @@ -12,3 +12,10 @@ def pathx(self): return PathXClient( self._config, self.transport, self.middleware, self.logger ) + + def vpc(self): + from ucloud.services.vpc.client import VPCClient + + return VPCClient( + self._config, self.transport, self.middleware, self.logger + ) diff --git a/ucloud/client.py b/ucloud/client.py index 9a459c9b..a6fae2a5 100644 --- a/ucloud/client.py +++ b/ucloud/client.py @@ -4,7 +4,7 @@ from ucloud._compat import CompactClient -class Client(client.Client, CompactClient): +class Client(CompactClient): def __init__(self, config: dict, transport=None, middleware=None): self._config = config super(Client, self).__init__(config, transport, middleware) From cf36b02bc03d3657498e9442db2c5cf015587239 Mon Sep 17 00:00:00 2001 From: yufeiminds Date: Tue, 22 Oct 2019 13:08:53 +0800 Subject: [PATCH 04/10] add compat client --- ucloud/client.py | 1 - 1 file changed, 1 deletion(-) diff --git a/ucloud/client.py b/ucloud/client.py index a6fae2a5..1126a980 100644 --- a/ucloud/client.py +++ b/ucloud/client.py @@ -1,6 +1,5 @@ """ Code is generated by ucloud-model, DO NOT EDIT IT. """ -from ucloud.core import client from ucloud._compat import CompactClient From 41b22814e97c70c131783de0e7165416d8b252db Mon Sep 17 00:00:00 2001 From: yufeiminds Date: Tue, 22 Oct 2019 19:15:22 +0800 Subject: [PATCH 05/10] fix test case --- tests/test_services/test_set_4140.py | 32 ++++++++++++++-------------- ucloud/version.py | 2 +- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/tests/test_services/test_set_4140.py b/tests/test_services/test_set_4140.py index 095d9153..8b0de280 100644 --- a/tests/test_services/test_set_4140.py +++ b/tests/test_services/test_set_4140.py @@ -155,7 +155,7 @@ def batch_describe_new_ucdn_domain_04(client: utest.Client, variables: dict): d = {} try: - resp = client.invoke("BatchDescribeNewUcdnDomain", d) + resp = client.ucdn().batch_describe_new_ucdn_domain(d) except exc.RetCodeException as e: resp = e.json() @@ -181,7 +181,7 @@ def get_new_ucdn_domain_http_code_v2_05(client: utest.Client, variables: dict): } try: - resp = client.invoke("GetNewUcdnDomainHttpCodeV2", d) + resp = client.ucdn().get_new_ucdn_domain_http_code_v2(d) except exc.RetCodeException as e: resp = e.json() @@ -207,7 +207,7 @@ def get_new_ucdn_domain_hit_rate_06(client: utest.Client, variables: dict): } try: - resp = client.invoke("GetNewUcdnDomainHitRate", d) + resp = client.ucdn().get_new_ucdn_domain_hit_rate(d) except exc.RetCodeException as e: resp = e.json() @@ -233,7 +233,7 @@ def get_new_ucdn_domain_http_code_07(client: utest.Client, variables: dict): } try: - resp = client.invoke("GetNewUcdnDomainHttpCode", d) + resp = client.ucdn().get_new_ucdn_domain_http_code(d) except exc.RetCodeException as e: resp = e.json() @@ -255,7 +255,7 @@ def prefetch_new_ucdn_domain_cache_08(client: utest.Client, variables: dict): d = {"UrlList": [funcs.concat("http://", variables.get("domain"), "/")]} try: - resp = client.invoke("PrefetchNewUcdnDomainCache", d) + resp = client.ucdn().prefetch_new_ucdn_domain_cache(d) except exc.RetCodeException as e: resp = e.json() @@ -280,7 +280,7 @@ def describe_new_ucdn_prefetch_cache_task_09( d = {"TaskId": [variables.get("PrefetchCache_TaskId")]} try: - resp = client.invoke("DescribeNewUcdnPrefetchCacheTask", d) + resp = client.ucdn().describe_new_ucdn_prefetch_cache_task(d) except exc.RetCodeException as e: resp = e.json() @@ -304,7 +304,7 @@ def describe_new_ucdn_refresh_cache_task_10( d = {"TaskId": [variables.get("PrefetchCache_TaskId")]} try: - resp = client.invoke("DescribeNewUcdnRefreshCacheTask", d) + resp = client.ucdn().describe_new_ucdn_refresh_cache_task(d) except exc.RetCodeException as e: resp = e.json() @@ -329,7 +329,7 @@ def refresh_new_ucdn_domain_cache_11(client: utest.Client, variables: dict): } try: - resp = client.invoke("RefreshNewUcdnDomainCache", d) + resp = client.ucdn().refresh_new_ucdn_domain_cache(d) except exc.RetCodeException as e: resp = e.json() @@ -351,7 +351,7 @@ def get_new_ucdn_domain_bandwidth_12(client: utest.Client, variables: dict): d = {"Type": variables.get("time_granule_type")} try: - resp = client.invoke("GetNewUcdnDomainBandwidth", d) + resp = client.ucdn().get_new_ucdn_domain_bandwidth(d) except exc.RetCodeException as e: resp = e.json() @@ -373,7 +373,7 @@ def get_ucdn_pass_bandwidth_13(client: utest.Client, variables: dict): d = {"Type": variables.get("time_granule_type")} try: - resp = client.invoke("GetUcdnPassBandwidth", d) + resp = client.ucdn().get_ucdn_pass_bandwidth(d) except exc.RetCodeException as e: resp = e.json() @@ -400,7 +400,7 @@ def get_ucdn_domain_request_num_v2_14(client: utest.Client, variables: dict): } try: - resp = client.invoke("GetUcdnDomainRequestNumV2", d) + resp = client.ucdn().get_ucdn_domain_request_num_v2(d) except exc.RetCodeException as e: resp = e.json() @@ -425,7 +425,7 @@ def get_ucdn_domain_log_15(client: utest.Client, variables: dict): } try: - resp = client.invoke("GetUcdnDomainLog", d) + resp = client.ucdn().get_ucdn_domain_log(d) except exc.RetCodeException as e: resp = e.json() @@ -447,7 +447,7 @@ def get_ucdn_traffic_16(client: utest.Client, variables: dict): d = {} try: - resp = client.invoke("GetUcdnTraffic", d) + resp = client.ucdn().get_ucdn_traffic(d) except exc.RetCodeException as e: resp = e.json() @@ -469,7 +469,7 @@ def get_ucdn_domain_traffic_17(client: utest.Client, variables: dict): d = {"AccountType": "top"} try: - resp = client.invoke("GetUcdnDomainTraffic", d) + resp = client.ucdn().get_ucdn_domain_traffic(d) except exc.RetCodeException as e: resp = e.json() @@ -492,7 +492,7 @@ def get_ucdn_domain_prefetch_enable_18(client: utest.Client, variables: dict): d = {"DomainId": variables.get("domainId")} try: - resp = client.invoke("GetUcdnDomainPrefetchEnable", d) + resp = client.ucdn().get_ucdn_domain_prefetch_enable(d) except exc.RetCodeException as e: resp = e.json() @@ -514,7 +514,7 @@ def switch_ucdn_charge_type_19(client: utest.Client, variables: dict): d = {"ChargeType": "traffic"} try: - resp = client.invoke("SwitchUcdnChargeType", d) + resp = client.ucdn().switch_ucdn_charge_type(d) except exc.RetCodeException as e: resp = e.json() diff --git a/ucloud/version.py b/ucloud/version.py index aaf05b32..abe1e1c0 100644 --- a/ucloud/version.py +++ b/ucloud/version.py @@ -1 +1 @@ -version = "0.6.0" +version = "0.5.1" From ad82ab87a0181ef36ab1170eeeed28fbb9515af8 Mon Sep 17 00:00:00 2001 From: yufeiminds Date: Tue, 22 Oct 2019 19:22:21 +0800 Subject: [PATCH 06/10] disable release check --- scripts/release.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/release.py b/scripts/release.py index 84855a96..68e235f3 100644 --- a/scripts/release.py +++ b/scripts/release.py @@ -99,7 +99,8 @@ def write_changelog(self, logs): should_bump = i if should_bump is None: - raise ValueError('no content should be release') + logger.warning('no content should be release') + # raise ValueError('no content should be release') # auto increase version number bumper = Bumper(ucloud.version.version) From a30230f6d4e25c9ac9fe4f5948546516b655ab21 Mon Sep 17 00:00:00 2001 From: yufeiminds Date: Tue, 22 Oct 2019 19:23:56 +0800 Subject: [PATCH 07/10] remove generated code --- tests/test_services/test_set_4140.py | 600 -------------------- ucloud/services/ucdn/__init__.py | 0 ucloud/services/ucdn/client.py | 681 ----------------------- ucloud/services/ucdn/schemas/__init__.py | 0 ucloud/services/ucdn/schemas/apis.py | 536 ------------------ ucloud/services/ucdn/schemas/models.py | 265 --------- 6 files changed, 2082 deletions(-) delete mode 100644 tests/test_services/test_set_4140.py delete mode 100644 ucloud/services/ucdn/__init__.py delete mode 100644 ucloud/services/ucdn/client.py delete mode 100644 ucloud/services/ucdn/schemas/__init__.py delete mode 100644 ucloud/services/ucdn/schemas/apis.py delete mode 100644 ucloud/services/ucdn/schemas/models.py diff --git a/tests/test_services/test_set_4140.py b/tests/test_services/test_set_4140.py deleted file mode 100644 index 8b0de280..00000000 --- a/tests/test_services/test_set_4140.py +++ /dev/null @@ -1,600 +0,0 @@ -""" Code is generated by ucloud-model, DO NOT EDIT IT. """ - -import pytest -import logging - -from ucloud.core import exc -from ucloud.testing import env, funcs, op, utest - -logger = logging.getLogger(__name__) - - -scenario = utest.Scenario(4140) - - -@pytest.mark.skipif(env.is_ut(), reason=env.get_skip_reason()) -def test_set_4140(client: utest.Client, variables: dict): - scenario.initial(variables) - - scenario.variables["BucketName_test"] = funcs.concat( - "ucdntest-", funcs.get_timestamp(10) - ) - scenario.variables["time_granule_type"] = 1 - - scenario.run(client) - - -@scenario.step( - max_retries=3, - retry_interval=1, - startup_delay=0, - fast_fail=False, - validators=lambda variables: [ - ("str_eq", "RetCode", 0), - ("str_eq", "Action", "CreateBucketResponse"), - ], - action="CreateBucket", -) -def create_bucket_00(client: utest.Client, variables: dict): - d = { - "Region": variables.get("Region"), - "BucketName": variables.get("BucketName_test"), - } - - try: - resp = client.invoke("CreateBucket", d) - except exc.RetCodeException as e: - resp = e.json() - - return resp - - -@scenario.step( - max_retries=3, - retry_interval=1, - startup_delay=0, - fast_fail=False, - validators=lambda variables: [ - ("str_eq", "RetCode", 0), - ("str_eq", "Action", "StartUcdnTestDomainResponse"), - ], - action="StartUcdnTestDomain", -) -def start_ucdn_test_domain_01(client: utest.Client, variables: dict): - d = { - "Region": variables.get("Region"), - "BucketName": variables.get("BucketName_test"), - } - - try: - resp = client.invoke("StartUcdnTestDomain", d) - except exc.RetCodeException as e: - resp = e.json() - - variables["domainId"] = utest.value_at_path(resp, "DomainId") - return resp - - -@scenario.step( - max_retries=3, - retry_interval=1, - startup_delay=3, - fast_fail=True, - validators=lambda variables: [ - ("str_eq", "RetCode", 0), - ("str_eq", "Action", "DescribeUcdnDomainResponse"), - ("str_eq", "DomainSet.0.ChannelType", "ucdn"), - ( - "str_eq", - "DomainSet.0.Domain", - funcs.concat( - variables.get("BucketName_test"), ".ufile.ucloud.com.cn" - ), - ), - ("str_eq", "DomainSet.0.DomainId", variables.get("domainId")), - ("str_eq", "DomainSet.0.Status", "check"), - ], - action="DescribeUcdnDomain", -) -def describe_ucdn_domain_02(client: utest.Client, variables: dict): - d = {"DomainId": [variables.get("domainId")]} - - try: - resp = client.invoke("DescribeUcdnDomain", d) - except exc.RetCodeException as e: - resp = e.json() - - return resp - - -@scenario.step( - max_retries=30, - retry_interval=10, - startup_delay=200, - fast_fail=True, - validators=lambda variables: [ - ("str_eq", "RetCode", 0), - ("str_eq", "Action", "DescribeUcdnDomainResponse"), - ("str_eq", "DomainSet.0.ChannelType", "ucdn"), - ( - "str_eq", - "DomainSet.0.Domain", - funcs.concat( - variables.get("BucketName_test"), ".ufile.ucloud.com.cn" - ), - ), - ("str_eq", "DomainSet.0.DomainId", variables.get("domainId")), - ("str_eq", "DomainSet.0.Status", "enable"), - ], - action="DescribeUcdnDomain", -) -def describe_ucdn_domain_03(client: utest.Client, variables: dict): - d = {"DomainId": [variables.get("domainId")]} - - try: - resp = client.invoke("DescribeUcdnDomain", d) - except exc.RetCodeException as e: - resp = e.json() - - variables["domain"] = utest.value_at_path(resp, "DomainSet.0.Domain") - return resp - - -@scenario.step( - max_retries=3, - retry_interval=1, - startup_delay=0, - fast_fail=False, - validators=lambda variables: [ - ("str_eq", "RetCode", 0), - ("str_eq", "Action", "BatchDescribeNewUcdnDomainResponse"), - ], - action="BatchDescribeNewUcdnDomain", -) -def batch_describe_new_ucdn_domain_04(client: utest.Client, variables: dict): - d = {} - - try: - resp = client.ucdn().batch_describe_new_ucdn_domain(d) - except exc.RetCodeException as e: - resp = e.json() - - return resp - - -@scenario.step( - max_retries=3, - retry_interval=1, - startup_delay=0, - fast_fail=False, - validators=lambda variables: [ - ("str_eq", "RetCode", 0), - ("str_eq", "Action", "GetNewUcdnDomainHttpCodeV2Response"), - ], - action="GetNewUcdnDomainHttpCodeV2", -) -def get_new_ucdn_domain_http_code_v2_05(client: utest.Client, variables: dict): - d = { - "Type": variables.get("time_granule_type"), - "EndTime": funcs.get_timestamp(10), - "BeginTime": funcs.get_timestamp(10) - 10000, - } - - try: - resp = client.ucdn().get_new_ucdn_domain_http_code_v2(d) - except exc.RetCodeException as e: - resp = e.json() - - return resp - - -@scenario.step( - max_retries=3, - retry_interval=1, - startup_delay=0, - fast_fail=False, - validators=lambda variables: [ - ("str_eq", "RetCode", 0), - ("str_eq", "Action", "GetNewUcdnDomainHitRateResponse"), - ], - action="GetNewUcdnDomainHitRate", -) -def get_new_ucdn_domain_hit_rate_06(client: utest.Client, variables: dict): - d = { - "Type": variables.get("time_granule_type"), - "EndTime": funcs.get_timestamp(10), - "BeginTime": funcs.get_timestamp(10) - 1000, - } - - try: - resp = client.ucdn().get_new_ucdn_domain_hit_rate(d) - except exc.RetCodeException as e: - resp = e.json() - - return resp - - -@scenario.step( - max_retries=3, - retry_interval=1, - startup_delay=0, - fast_fail=False, - validators=lambda variables: [ - ("str_eq", "RetCode", 0), - ("str_eq", "Action", "GetNewUcdnDomainHttpCodeResponse"), - ], - action="GetNewUcdnDomainHttpCode", -) -def get_new_ucdn_domain_http_code_07(client: utest.Client, variables: dict): - d = { - "Type": variables.get("time_granule_type"), - "EndTime": funcs.get_timestamp(10), - "BeginTime": funcs.get_timestamp(10) - 10000, - } - - try: - resp = client.ucdn().get_new_ucdn_domain_http_code(d) - except exc.RetCodeException as e: - resp = e.json() - - return resp - - -@scenario.step( - max_retries=3, - retry_interval=1, - startup_delay=0, - fast_fail=False, - validators=lambda variables: [ - ("str_eq", "RetCode", 0), - ("str_eq", "Action", "PrefetchNewUcdnDomainCacheResponse"), - ], - action="PrefetchNewUcdnDomainCache", -) -def prefetch_new_ucdn_domain_cache_08(client: utest.Client, variables: dict): - d = {"UrlList": [funcs.concat("http://", variables.get("domain"), "/")]} - - try: - resp = client.ucdn().prefetch_new_ucdn_domain_cache(d) - except exc.RetCodeException as e: - resp = e.json() - - variables["PrefetchCache_TaskId"] = utest.value_at_path(resp, "TaskId") - return resp - - -@scenario.step( - max_retries=3, - retry_interval=1, - startup_delay=0, - fast_fail=False, - validators=lambda variables: [ - ("str_eq", "RetCode", 0), - ("str_eq", "Action", "DescribeNewUcdnPrefetchCacheTaskResponse"), - ], - action="DescribeNewUcdnPrefetchCacheTask", -) -def describe_new_ucdn_prefetch_cache_task_09( - client: utest.Client, variables: dict -): - d = {"TaskId": [variables.get("PrefetchCache_TaskId")]} - - try: - resp = client.ucdn().describe_new_ucdn_prefetch_cache_task(d) - except exc.RetCodeException as e: - resp = e.json() - - return resp - - -@scenario.step( - max_retries=3, - retry_interval=1, - startup_delay=0, - fast_fail=False, - validators=lambda variables: [ - ("str_eq", "RetCode", 0), - ("str_eq", "Action", "DescribeNewUcdnRefreshCacheTaskResponse"), - ], - action="DescribeNewUcdnRefreshCacheTask", -) -def describe_new_ucdn_refresh_cache_task_10( - client: utest.Client, variables: dict -): - d = {"TaskId": [variables.get("PrefetchCache_TaskId")]} - - try: - resp = client.ucdn().describe_new_ucdn_refresh_cache_task(d) - except exc.RetCodeException as e: - resp = e.json() - - return resp - - -@scenario.step( - max_retries=3, - retry_interval=1, - startup_delay=0, - fast_fail=False, - validators=lambda variables: [ - ("str_eq", "RetCode", 0), - ("str_eq", "Action", "RefreshNewUcdnDomainCacheResponse"), - ], - action="RefreshNewUcdnDomainCache", -) -def refresh_new_ucdn_domain_cache_11(client: utest.Client, variables: dict): - d = { - "UrlList": [funcs.concat("http://", variables.get("domain"), "/")], - "Type": "file", - } - - try: - resp = client.ucdn().refresh_new_ucdn_domain_cache(d) - except exc.RetCodeException as e: - resp = e.json() - - return resp - - -@scenario.step( - max_retries=3, - retry_interval=1, - startup_delay=0, - fast_fail=False, - validators=lambda variables: [ - ("str_eq", "RetCode", 0), - ("str_eq", "Action", "GetNewUcdnDomainBandwidthResponse"), - ], - action="GetNewUcdnDomainBandwidth", -) -def get_new_ucdn_domain_bandwidth_12(client: utest.Client, variables: dict): - d = {"Type": variables.get("time_granule_type")} - - try: - resp = client.ucdn().get_new_ucdn_domain_bandwidth(d) - except exc.RetCodeException as e: - resp = e.json() - - return resp - - -@scenario.step( - max_retries=3, - retry_interval=1, - startup_delay=0, - fast_fail=False, - validators=lambda variables: [ - ("str_eq", "RetCode", 0), - ("str_eq", "Action", "GetUcdnPassBandwidthResponse"), - ], - action="GetUcdnPassBandwidth", -) -def get_ucdn_pass_bandwidth_13(client: utest.Client, variables: dict): - d = {"Type": variables.get("time_granule_type")} - - try: - resp = client.ucdn().get_ucdn_pass_bandwidth(d) - except exc.RetCodeException as e: - resp = e.json() - - return resp - - -@scenario.step( - max_retries=3, - retry_interval=1, - startup_delay=0, - fast_fail=False, - validators=lambda variables: [ - ("str_eq", "RetCode", 0), - ("str_eq", "Action", "GetUcdnDomainRequestNumV2Response"), - ], - action="GetUcdnDomainRequestNumV2", -) -def get_ucdn_domain_request_num_v2_14(client: utest.Client, variables: dict): - d = { - "Type": variables.get("time_granule_type"), - "EndTime": funcs.get_timestamp(10), - "DomainId": [variables.get("domainId")], - "BeginTime": funcs.get_timestamp(10) - 1000, - } - - try: - resp = client.ucdn().get_ucdn_domain_request_num_v2(d) - except exc.RetCodeException as e: - resp = e.json() - - return resp - - -@scenario.step( - max_retries=3, - retry_interval=1, - startup_delay=0, - fast_fail=False, - validators=lambda variables: [ - ("str_eq", "RetCode", 0), - ("str_eq", "Action", "GetUcdnDomainLogResponse"), - ], - action="GetUcdnDomainLog", -) -def get_ucdn_domain_log_15(client: utest.Client, variables: dict): - d = { - "Type": variables.get("time_granule_type"), - "DomainId": [variables.get("domainId")], - } - - try: - resp = client.ucdn().get_ucdn_domain_log(d) - except exc.RetCodeException as e: - resp = e.json() - - return resp - - -@scenario.step( - max_retries=3, - retry_interval=1, - startup_delay=0, - fast_fail=False, - validators=lambda variables: [ - ("str_eq", "RetCode", 0), - ("str_eq", "Action", "GetUcdnTrafficResponse"), - ], - action="GetUcdnTraffic", -) -def get_ucdn_traffic_16(client: utest.Client, variables: dict): - d = {} - - try: - resp = client.ucdn().get_ucdn_traffic(d) - except exc.RetCodeException as e: - resp = e.json() - - return resp - - -@scenario.step( - max_retries=3, - retry_interval=1, - startup_delay=0, - fast_fail=False, - validators=lambda variables: [ - ("str_eq", "RetCode", 0), - ("str_eq", "Action", "GetUcdnDomainTrafficResponse"), - ], - action="GetUcdnDomainTraffic", -) -def get_ucdn_domain_traffic_17(client: utest.Client, variables: dict): - d = {"AccountType": "top"} - - try: - resp = client.ucdn().get_ucdn_domain_traffic(d) - except exc.RetCodeException as e: - resp = e.json() - - return resp - - -@scenario.step( - max_retries=3, - retry_interval=1, - startup_delay=0, - fast_fail=False, - validators=lambda variables: [ - ("str_eq", "RetCode", 0), - ("str_eq", "Action", "GetUcdnDomainPrefetchEnableResponse"), - ("str_eq", "Enable", 1), - ], - action="GetUcdnDomainPrefetchEnable", -) -def get_ucdn_domain_prefetch_enable_18(client: utest.Client, variables: dict): - d = {"DomainId": variables.get("domainId")} - - try: - resp = client.ucdn().get_ucdn_domain_prefetch_enable(d) - except exc.RetCodeException as e: - resp = e.json() - - return resp - - -@scenario.step( - max_retries=3, - retry_interval=1, - startup_delay=0, - fast_fail=False, - validators=lambda variables: [ - ("str_eq", "RetCode", 0), - ("str_eq", "Action", "SwitchUcdnChargeTypeResponse"), - ], - action="SwitchUcdnChargeType", -) -def switch_ucdn_charge_type_19(client: utest.Client, variables: dict): - d = {"ChargeType": "traffic"} - - try: - resp = client.ucdn().switch_ucdn_charge_type(d) - except exc.RetCodeException as e: - resp = e.json() - - return resp - - -@scenario.step( - max_retries=3, - retry_interval=1, - startup_delay=0, - fast_fail=False, - validators=lambda variables: [ - ("str_eq", "RetCode", 0), - ("str_eq", "Action", "StopUcdnTestDomainResponse"), - ], - action="StopUcdnTestDomain", -) -def stop_ucdn_test_domain_20(client: utest.Client, variables: dict): - d = { - "Region": variables.get("Region"), - "BucketName": variables.get("BucketName_test"), - } - - try: - resp = client.invoke("StopUcdnTestDomain", d) - except exc.RetCodeException as e: - resp = e.json() - - return resp - - -@scenario.step( - max_retries=3, - retry_interval=1, - startup_delay=0, - fast_fail=False, - validators=lambda variables: [ - ("str_eq", "RetCode", 0), - ("str_eq", "Action", "DescribeUcdnDomainResponse"), - ("str_eq", "DomainSet.0.ChannelType", "ucdn"), - ( - "str_eq", - "DomainSet.0.Domain", - funcs.concat( - variables.get("BucketName_test"), ".ufile.ucloud.com.cn" - ), - ), - ("str_eq", "DomainSet.0.DomainId", variables.get("domainId")), - ("str_eq", "DomainSet.0.Status", "deleteing"), - ], - action="DescribeUcdnDomain", -) -def describe_ucdn_domain_21(client: utest.Client, variables: dict): - d = {"DomainId": [variables.get("domainId")]} - - try: - resp = client.invoke("DescribeUcdnDomain", d) - except exc.RetCodeException as e: - resp = e.json() - - return resp - - -@scenario.step( - max_retries=10, - retry_interval=10, - startup_delay=120, - fast_fail=False, - validators=lambda variables: [ - ("str_eq", "RetCode", 0), - ("str_eq", "Action", "DeleteBucketResponse"), - ], - action="DeleteBucket", -) -def delete_bucket_22(client: utest.Client, variables: dict): - d = {"BucketName": variables.get("BucketName_test")} - - try: - resp = client.invoke("DeleteBucket", d) - except exc.RetCodeException as e: - resp = e.json() - - return resp diff --git a/ucloud/services/ucdn/__init__.py b/ucloud/services/ucdn/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/ucloud/services/ucdn/client.py b/ucloud/services/ucdn/client.py deleted file mode 100644 index f305c8ee..00000000 --- a/ucloud/services/ucdn/client.py +++ /dev/null @@ -1,681 +0,0 @@ -""" Code is generated by ucloud-model, DO NOT EDIT IT. """ - -import typing - - -from ucloud.core.client import Client -from ucloud.services.ucdn.schemas import apis - - -class UCDNClient(Client): - def __init__( - self, config: dict, transport=None, middleware=None, logger=None - ): - super(UCDNClient, self).__init__(config, transport, middleware, logger) - - def batch_describe_new_ucdn_domain( - self, req: typing.Optional[dict] = None, **kwargs - ) -> dict: - """ BatchDescribeNewUcdnDomain - 批量获取加速域名配置 - - **Request** - - - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ - - **ChannelType** (str) - 渠道ucdn、ufile、uvideo - - **DomainId** (list) - 域名id,创建域名时生成的资源id,默认获取账号下的所有域名信息,n为自然数 - - **Limit** (int) - 返回数据长度,如果制定了Offset,则默认20,否则默认全部,非负整数 - - **Offset** (int) - 数据偏移量,默认0,非负整数 - - **Response** - - - **Arrearage** (list) - 标识欠费的数组,数组含有下列元素值, 1=国内流量有欠费 2=国外流量有欠费 3=国内带宽有欠费 4=国外带宽有欠费 - - **ChargeType** (int) - 当前计费方式,10=流量付费 20=带宽日峰值 30=按月后付费 - - **DomainList** (list) - 见 **DomainInfo** 模型定义 - - **LastChargeType** (int) - 表示最后一次切换的计费方式,10=流量付费 20=带宽日峰值 30=按月后付费 40=未选择计费方式 - - **MaxDomainNum** (int) - 最大域名数量,默认20 - - **TotalCount** (int) - 满足条件的域名个数 - - **Vip** (str) - vip标示,yes-是 no-否 - - **Response Model** - - **CacheConf** - - - **CacheBehavior** (bool) - 是否缓存,true为缓存,false为不缓存。为false的情况下,CacheTTL和CacheUnit强制不生效 - - **CacheTTL** (int) - 缓存时间 - - **CacheUnit** (str) - 缓存时间的单位。sec(秒),min(分钟),hour(小时),day(天) - - **Description** (str) - 缓存规则描述 - - **FollowOriginRule** (bool) - 是否优先遵循源站头部缓存策略,false为不优先遵循源站,true为优先遵循源站缓存头部。默认为false - - **HttpCodePattern** (str) - 状态码默认情况只缓存200类状态码,支持正则 - - **IgnoreQueryString** (bool) - 是否忽略参数缓存(false为不忽略,true为忽略,默认为false) - - **PathPattern** (str) - 路径模式,支持正则 - - **AccessConf** - - - **IpBlacklist** (str) - 多个ip用逗号隔开 - - **DomainInfo** - - - **AccessConf** (dict) - 见 **AccessConf** 模型定义 - - **AreaCode** (str) - 查询带宽区域 cn代表国内 abroad代表海外 不填默认为全部区域 - - **CacheConf** (list) - 见 **CacheConf** 模型定义 - - **CacheHost** (str) - 缓存Host,不同的域名可以配置为同一个CacheHost来实现缓存共享,默认为加速域名 - - **CdnProtocol** (str) - 加速类型http,http|https - - **CdnType** (str) - 加速域名的业务类型,web代表网站,stream代表视频,download代表下载。 - - **CertName** (str) - 证书名称 - - **Cname** (str) - cdn域名。创建加速域名生成的cdn域名,用于设置CNAME记录 - - **CreateTime** (int) - 域名创建的时间。格式:时间戳 - - **Domain** (str) - 域名,用户创建加速的域名 - - **DomainId** (str) - 域名id,创建域名时生成的id - - **HttpsStatusAbroad** (str) - 国外https状态 enableing-开启中 fail-开启失败 enable-启用 disable-未启用 - - **HttpsStatusCn** (str) - 国内https状态 enableing-开启中 fail-开启失败 enable-启用 disable-未启用 - - **NullRefer** (bool) - ReferType为白名单时,NullRefer为false代表不允许NULL refer访问,为true代表允许Null refer访问 - - **OriginHost** (str) - 回源Http请求头部Host,默认是加速域名 - - **OriginIp** (list) - 源站ip即cdn服务器回源访问的ip地址。支持多个源站ip,多个源站ip,可表述为如:[1.1.1.1,2.2.2.2] - - **OriginPort** (int) - 回源端口 - - **OriginProtocol** (str) - 源站协议http,http|https 默认http - - **ReferList** (list) - Refer列表,支持正则表达式 - - **ReferStatus** (bool) - refer配置开关,true打开,false关闭 - - **ReferType** (int) - 0白名单,1黑名单 - - **Status** (str) - 创建的加速域名的当前的状态。check代表审核中,checkSuccess代表审核通过,checkFail代表审核失败,enable代表加速中,disable代表停止加速,delete代表删除加速 enableing代表正在开启加速,disableing代表正在停止加速中,deleteing代表删除中 - - **Tag** (str) - 业务组,默认为Default - - **TestUrl** (str) - 测试url,用于域名创建加速时的测试 - - **ValidTime** (int) - 开始分配Cname时间。格式:时间戳 - - """ - # build request - d = {"ProjectId": self.config.project_id} - req and d.update(req) - d = apis.BatchDescribeNewUcdnDomainRequestSchema().dumps(d) - - resp = self.invoke("BatchDescribeNewUcdnDomain", d, **kwargs) - return apis.BatchDescribeNewUcdnDomainResponseSchema().loads(resp) - - def describe_new_ucdn_prefetch_cache_task( - self, req: typing.Optional[dict] = None, **kwargs - ) -> dict: - """ DescribeNewUcdnPrefetchCacheTask - 获取预取任务状态 - - **Request** - - - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ - - **BeginTime** (int) - 查询的起始时间,格式为Unix Timestamp。如果有EndTime,BeginTime必须赋值 - - **EndTime** (int) - 查询的结束时间,格式为Unix Timestamp。EndTime默认为当前时间,BeginTime默认为当前时间前一天时间。 - - **Limit** (int) - 返回数据长度,默认全部,自然数 - - **Offset** (int) - 数据偏移量,默认为0,自然数 - - **Status** (str) - 需要获取的内容预热的状态,枚举值:success:成功;wait:等待处理;process:正在处理;failure:失败; unknow:未知,默认选择所有状态 - - **TaskId** (list) - 提交任务时返回的任务ID - - **Response** - - - **TaskList** (list) - 见 **TaskInfo** 模型定义 - - **TotalCount** (int) - 预热任务的总数 - - **Response Model** - - **UrlProgressInfo** - - - **CreateTime** (int) - 刷新任务创建的时间。格式为Unix Timestamp - - **FinishTime** (int) - 任务完成时间。格式为Unix Timestamp - - **Progress** (int) - 刷新进度,单位% - - **Status** (str) - 刷新任务的当前状态,枚举值:success:成功;wait:排队中;process:处理中;failure:失败; unknow:未知 - - **Url** (str) - 刷新的单条url - - **TaskInfo** - - - **CreateTime** (int) - 刷新任务创建的时间。格式为Unix Timestamp - - **Status** (str) - 刷新任务的当前状态,枚举值:success:成功;wait:排队中;process:处理中;failure:失败; unknow:未知 - - **TaskId** (str) - 提交任务时返回的任务ID - - **Type** (str) - file/dir 刷新任务会返回Type,预取任务没有 - - **UrlLists** (list) - 见 **UrlProgressInfo** 模型定义 - - """ - # build request - d = {"ProjectId": self.config.project_id} - req and d.update(req) - d = apis.DescribeNewUcdnPrefetchCacheTaskRequestSchema().dumps(d) - - resp = self.invoke("DescribeNewUcdnPrefetchCacheTask", d, **kwargs) - return apis.DescribeNewUcdnPrefetchCacheTaskResponseSchema().loads(resp) - - def describe_new_ucdn_refresh_cache_task( - self, req: typing.Optional[dict] = None, **kwargs - ) -> dict: - """ DescribeNewUcdnRefreshCacheTask - 获取域名刷新任务状态 - - **Request** - - - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ - - **BeginTime** (int) - 查询的起始时间,格式为Unix Timestamp。如果有EndTime,BeginTime必须赋值 - - **EndTime** (int) - 查询的结束时间,格式为Unix Timestamp。EndTime默认为当前时间,BeginTime默认为当前时间前一天时间。 - - **Limit** (int) - 返回数据长度,默认全部,自然数 - - **Offset** (int) - 数据偏移量,默认为0,自然数 - - **Status** (str) - 需要获取的内容刷新的状态,枚举值:success:成功;wait:等待处理;process:正在处理;failure:失败; unknow:未知,默认选择所有状态 - - **TaskId** (list) - 提交任务时返回的任务ID - - **Response** - - - **TaskList** (list) - 见 **TaskInfo** 模型定义 - - **TotalCount** (int) - 刷新任务的总数 - - **Response Model** - - **UrlProgressInfo** - - - **CreateTime** (int) - 刷新任务创建的时间。格式为Unix Timestamp - - **FinishTime** (int) - 任务完成时间。格式为Unix Timestamp - - **Progress** (int) - 刷新进度,单位% - - **Status** (str) - 刷新任务的当前状态,枚举值:success:成功;wait:排队中;process:处理中;failure:失败; unknow:未知 - - **Url** (str) - 刷新的单条url - - **TaskInfo** - - - **CreateTime** (int) - 刷新任务创建的时间。格式为Unix Timestamp - - **Status** (str) - 刷新任务的当前状态,枚举值:success:成功;wait:排队中;process:处理中;failure:失败; unknow:未知 - - **TaskId** (str) - 提交任务时返回的任务ID - - **Type** (str) - file/dir 刷新任务会返回Type,预取任务没有 - - **UrlLists** (list) - 见 **UrlProgressInfo** 模型定义 - - """ - # build request - d = {"ProjectId": self.config.project_id} - req and d.update(req) - d = apis.DescribeNewUcdnRefreshCacheTaskRequestSchema().dumps(d) - - resp = self.invoke("DescribeNewUcdnRefreshCacheTask", d, **kwargs) - return apis.DescribeNewUcdnRefreshCacheTaskResponseSchema().loads(resp) - - def get_new_ucdn_domain_bandwidth( - self, req: typing.Optional[dict] = None, **kwargs - ) -> dict: - """ GetNewUcdnDomainBandwidth - 获取域名带宽数据 - - **Request** - - - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ - - **Type** (int) - (Required) 时间粒度(0表示按照5分钟粒度,1表示按照1小时粒度,2表示按照一天的粒度) - - **Areacode** (str) - 查询带宽区域 cn代表国内 abroad代表海外 不填默认为全部区域 - - **BeginTime** (int) - 查询的起始时间,格式为Unix Timestamp。如果有EndTime,BeginTime必须赋值。如没有赋值,则返回缺少参 数错误,如果没有EndTime,BeginTime也可以不赋值,EndTime默认当前时间,BeginTime 默认前一天的当前时间。 - - **DomainId** (list) - 域名id,创建域名时生成的id。默认全部域名 - - **EndTime** (int) - 查询的结束时间,格式为Unix Timestamp。EndTime默认为当前时间,BeginTime默认为当前时间前一天时间。 - - **Response** - - - **BandwidthList** (list) - 见 **BandwidthInfo** 模型定义 - - **Traffic** (str) - 从起始时间到结束时间内的所使用的CDN总流量,单位GB - - **Response Model** - - **BandwidthInfo** - - - **CdnBandwidth** (str) - 返回值返回指定时间区间内CDN的带宽峰值,单位Mbps(如果请求参数Type为0,则Value是五分钟粒度的带宽值,如果Type为1,则Value是1小时的带宽峰值,如果Type为2,则Value是一天内的带宽峰值) - - **Time** (int) - 带宽获取的时间点。格式:时间戳 - - """ - # build request - d = {"ProjectId": self.config.project_id} - req and d.update(req) - d = apis.GetNewUcdnDomainBandwidthRequestSchema().dumps(d) - - resp = self.invoke("GetNewUcdnDomainBandwidth", d, **kwargs) - return apis.GetNewUcdnDomainBandwidthResponseSchema().loads(resp) - - def get_new_ucdn_domain_hit_rate( - self, req: typing.Optional[dict] = None, **kwargs - ) -> dict: - """ GetNewUcdnDomainHitRate - 获取域名命中率 - - **Request** - - - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ - - **Type** (int) - (Required) 时间粒度(0表示按照5分钟粒度,1表示按照1小时粒度,2表示按照一天的粒度) - - **Areacode** (str) - 查询带宽区域 cn代表国内 abroad代表海外,只支持国内 - - **BeginTime** (int) - 查询的起始时间,格式为Unix Timestamp。如果有EndTime,BeginTime必须赋值。如没有赋值,则返回缺少参 数错误,如果没有EndTime,BeginTime也可以不赋值,EndTime默认当前时间,BeginTime 默认前一天的当前时间。 - - **DomainId** (list) - 域名id,创建域名时生成的id。默认全部域名 - - **EndTime** (int) - 查询的结束时间,格式为Unix Timestamp。EndTime默认为当前时间,BeginTime默认为当前时间前一天时间。 - - **Response** - - - **HitRateList** (list) - 见 **HitRateInfo** 模型定义 - - **Response Model** - - **HitRateInfo** - - - **FlowHitRate** (float) - 流量命中率,单位% - - **RequestHitRate** (float) - 请求数命中率,单位% - - **Time** (int) - 带宽获取的时间点。格式:时间戳 - - """ - # build request - d = {"ProjectId": self.config.project_id} - req and d.update(req) - d = apis.GetNewUcdnDomainHitRateRequestSchema().dumps(d) - - resp = self.invoke("GetNewUcdnDomainHitRate", d, **kwargs) - return apis.GetNewUcdnDomainHitRateResponseSchema().loads(resp) - - def get_new_ucdn_domain_http_code( - self, req: typing.Optional[dict] = None, **kwargs - ) -> dict: - """ GetNewUcdnDomainHttpCode - 获取域名状态码监控 - - **Request** - - - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ - - **Type** (int) - (Required) 时间粒度(0表示按照5分钟粒度,1表示按照1小时粒度,2表示按照一天的粒度) - - **Areacode** (str) - 查询带宽区域 cn代表国内 abroad代表海外,只支持国内 - - **BeginTime** (int) - 查询的起始时间,格式为Unix Timestamp。如果有EndTime,BeginTime必须赋值。如没有赋值,则返回缺少参 数错误,如果没有EndTime,BeginTime也可以不赋值,EndTime默认当前时间,BeginTime 默认前一天的当前时间。 - - **DomainId** (list) - 域名id,创建域名时生成的id。默认全部域名 - - **EndTime** (int) - 查询的结束时间,格式为Unix Timestamp。EndTime默认为当前时间,BeginTime默认为当前时间前一天时间。 - - **Response** - - - **HttpCodeDetail** (list) - 见 **HttpCodeInfo** 模型定义 - - **Response Model** - - **HttpCodeInfo** - - - **HttpFiveXX** (int) - 5xx数量 - - **HttpFourXX** (int) - 4xx数量 - - **HttpOneXX** (int) - 1xx数量 - - **HttpThreeXX** (int) - 3xx数量 - - **HttpTwoXX** (int) - 2xx数量 - - **Time** (int) - 带宽获取的时间点。格式:时间戳 - - """ - # build request - d = {"ProjectId": self.config.project_id} - req and d.update(req) - d = apis.GetNewUcdnDomainHttpCodeRequestSchema().dumps(d) - - resp = self.invoke("GetNewUcdnDomainHttpCode", d, **kwargs) - return apis.GetNewUcdnDomainHttpCodeResponseSchema().loads(resp) - - def get_new_ucdn_domain_http_code_v2( - self, req: typing.Optional[dict] = None, **kwargs - ) -> dict: - """ GetNewUcdnDomainHttpCodeV2 - 获取域名详细状态码监控 - - **Request** - - - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ - - **BeginTime** (int) - (Required) 查询的起始时间,格式为Unix Timestamp。 - - **EndTime** (int) - (Required) 查询的结束时间,格式为Unix Timestamp。 - - **Type** (int) - (Required) 时间粒度(0表示按照5分钟粒度,1表示按照1小时粒度,2表示按照一天粒度,3表示按照一分钟粒度) - - **Areacode** (str) - 查询带宽区域 cn代表国内 abroad代表海外,只支持国内 - - **DomainId** (list) - 域名id,创建域名时生成的id。默认全部域名 - - **Response** - - - **HttpCodeV2Detail** (list) - 见 **HttpCodeV2Detail** 模型定义 - - **Response Model** - - **HttpCodeV2Detail** - - - **Http100** (int) - http100数量 - - **Http101** (int) - http101数量 - - **Http102** (int) - http102数量 - - **Http200** (int) - http200数量 - - **Http201** (int) - http201数量 - - **Http202** (int) - http202数量 - - **Http203** (int) - http203数量 - - **Http204** (int) - http204数量 - - **Http205** (int) - http205数量 - - **Http206** (int) - http206数量 - - **Http207** (int) - http207数量 - - **Http300** (int) - http300数量 - - **Http301** (int) - http301数量 - - **Http302** (int) - http302数量 - - **Http303** (int) - http303数量 - - **Http304** (int) - http304数量 - - **Http305** (int) - http305数量 - - **Http306** (int) - http306数量 - - **Http307** (int) - http307数量 - - **Http400** (int) - http400数量 - - **Http401** (int) - http401数量 - - **Http402** (int) - http402数量 - - **Http403** (int) - http403数量 - - **Http404** (int) - http404数量 - - **Http405** (int) - http405数量 - - **Http406** (int) - http406数量 - - **Http407** (int) - http407数量 - - **Http408** (int) - http408数量 - - **Http409** (int) - http409数量 - - **Http410** (int) - http410数量 - - **Http411** (int) - http411数量 - - **Http412** (int) - http412数量 - - **Http413** (int) - http413数量 - - **Http414** (int) - http414数量 - - **Http415** (int) - http415数量 - - **Http416** (int) - http416数量 - - **Http417** (int) - http417数量 - - **Http418** (int) - http418数量 - - **Http421** (int) - http421数量 - - **Http422** (int) - http422数量 - - **Http423** (int) - http423数量 - - **Http424** (int) - http424数量 - - **Http425** (int) - http425数量 - - **Http426** (int) - http426数量 - - **Http449** (int) - http449数量 - - **Http451** (int) - http451数量 - - **Http500** (int) - http500数量 - - **Http501** (int) - http501数量 - - **Http502** (int) - http502数量 - - **Http503** (int) - http503数量 - - **Http504** (int) - http504数量 - - **Http505** (int) - http505数量 - - **Http506** (int) - http506数量 - - **Http507** (int) - http507数量 - - **Http509** (int) - http509数量 - - **Http510** (int) - http510数量 - - **Time** (int) - 时间 - - """ - # build request - d = {"ProjectId": self.config.project_id} - req and d.update(req) - d = apis.GetNewUcdnDomainHttpCodeV2RequestSchema().dumps(d) - - resp = self.invoke("GetNewUcdnDomainHttpCodeV2", d, **kwargs) - return apis.GetNewUcdnDomainHttpCodeV2ResponseSchema().loads(resp) - - def get_new_ucdn_domain_request_num( - self, req: typing.Optional[dict] = None, **kwargs - ) -> dict: - """ GetNewUcdnDomainRequestNum - 获取域名请求数 - - **Request** - - - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ - - **Type** (int) - (Required) 时间粒度(0表示按照5分钟粒度,1表示按照1小时粒度,2表示按照一天的粒度) - - **Areacode** (str) - 查询区域 cn代表国内 abroad代表海外,只支持国内 - - **BeginTime** (int) - 查询的起始时间,格式为Unix Timestamp。如果有EndTime,BeginTime必须赋值。如没有赋值,则返回缺少参 数错误,如果没有EndTime,BeginTime也可以不赋值,EndTime默认当前时间,BeginTime 默认前一天的当前时间。 - - **DomainId** (list) - 域名id,创建域名时生成的id。默认全部域名 - - **EndTime** (int) - 查询的结束时间,格式为Unix Timestamp。EndTime默认为当前时间,BeginTime默认为当前时间前一天时间。 - - **Response** - - - **RequestList** (list) - 见 **RequestInfo** 模型定义 - - **Response Model** - - **RequestInfo** - - - **CdnRequest** (float) - 返回值返回指定时间区间内的cdn收到的请求次数之和 - - **OriginRequest** (float) - 返回值返回指定时间区间内的cdn回源的请求次数之和 - - **Time** (int) - 带宽获取的时间点。格式:时间戳 - - """ - # build request - d = {"ProjectId": self.config.project_id} - req and d.update(req) - d = apis.GetNewUcdnDomainRequestNumRequestSchema().dumps(d) - - resp = self.invoke("GetNewUcdnDomainRequestNum", d, **kwargs) - return apis.GetNewUcdnDomainRequestNumResponseSchema().loads(resp) - - def get_ucdn_domain_log( - self, req: typing.Optional[dict] = None, **kwargs - ) -> dict: - """ GetUcdnDomainLog - 获取加速域名原始日志 - - **Request** - - - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ - - **BeginTime** (int) - 查询的起始时间,格式为Unix Timestamp。如果有EndTime,BeginTime必须赋值。 - - **DomainId** (list) - 域名ID,创建加速域名时生成。默认全部域名 - - **EndTime** (int) - 查询的结束时间,格式为Unix Timestamp。EndTime默认为当前时间,BeginTime默认为当前时间前一天时间。 - - **Type** (int) - 查询粒度 0=default(没有粒度) 1=按小时 2=按天 - - **Response** - - - **LogSet** (list) - 见 **LogSetList** 模型定义 - - **Response Model** - - **LogSetInfo** - - - **AbroadLog** (list) - 国外日志url列表 - - **CnLog** (list) - 国内日志url列表 - - **Time** (int) - 日志时间UnixTime - - **LogSetList** - - - **Domain** (str) - 域名 - - **Logs** (list) - 见 **LogSetInfo** 模型定义 - - """ - # build request - d = {"ProjectId": self.config.project_id} - req and d.update(req) - d = apis.GetUcdnDomainLogRequestSchema().dumps(d) - - resp = self.invoke("GetUcdnDomainLog", d, **kwargs) - return apis.GetUcdnDomainLogResponseSchema().loads(resp) - - def get_ucdn_domain_prefetch_enable( - self, req: typing.Optional[dict] = None, **kwargs - ) -> dict: - """ GetUcdnDomainPrefetchEnable - 获取域名预取开启状态 - - **Request** - - - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ - - **DomainId** (str) - (Required) 域名ID,创建加速域名时生成。 - - **Response** - - - **Enable** (int) - 0表示该域名未开启预取,1表示该域名已开启预取 - - """ - # build request - d = {"ProjectId": self.config.project_id} - req and d.update(req) - d = apis.GetUcdnDomainPrefetchEnableRequestSchema().dumps(d) - - resp = self.invoke("GetUcdnDomainPrefetchEnable", d, **kwargs) - return apis.GetUcdnDomainPrefetchEnableResponseSchema().loads(resp) - - def get_ucdn_domain_request_num_v2( - self, req: typing.Optional[dict] = None, **kwargs - ) -> dict: - """ GetUcdnDomainRequestNumV2 - 获取域名请求数 - - **Request** - - - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ - - **BeginTime** (int) - (Required) 查询的起始时间,格式为Unix Timestamp - - **EndTime** (int) - (Required) 查询的结束时间,格式为Unix Timestamp - - **Type** (int) - (Required) 时间粒度(0表示按照5分钟粒度,1表示按照1小时粒度,2表示按照一天的粒度, 3=按1分钟) - - **Areacode** (str) - 查询区域 cn代表国内 abroad代表海外,只支持国内 - - **DomainId** (list) - 域名id,创建域名时生成的id。默认全部域名 - - **Response** - - - **RequestList** (list) - 见 **RequestInfo** 模型定义 - - **Response Model** - - **RequestInfo** - - - **CdnRequest** (float) - 返回值返回指定时间区间内的cdn收到的请求次数之和 - - **OriginRequest** (float) - 返回值返回指定时间区间内的cdn回源的请求次数之和 - - **Time** (int) - 带宽获取的时间点。格式:时间戳 - - """ - # build request - d = {"ProjectId": self.config.project_id} - req and d.update(req) - d = apis.GetUcdnDomainRequestNumV2RequestSchema().dumps(d) - - resp = self.invoke("GetUcdnDomainRequestNumV2", d, **kwargs) - return apis.GetUcdnDomainRequestNumV2ResponseSchema().loads(resp) - - def get_ucdn_domain_traffic( - self, req: typing.Optional[dict] = None, **kwargs - ) -> dict: - """ GetUcdnDomainTraffic - 获取加速域名流量使用信息 - - **Request** - - - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ - - **Areacode** (str) - 查询流量区域 cn代表国内 abroad代表海外,默认全部区域。 - - **BeginTime** (int) - 查询的起始时间,格式为Unix Timestamp。如果有EndTime,BeginTime必须赋值。 - - **DomainId** (list) - 域名ID,创建加速域名时生成。默认全部域名 - - **EndTime** (int) - 查询的结束时间,格式为Unix Timestamp。EndTime默认为当前时间,BeginTime默认为当前时间前一天时间。 - - **Response** - - - **TrafficSet** (list) - 见 **UcdnDomainTrafficSet** 模型定义 - - **Response Model** - - **UcdnDomainTrafficSet** - - - **Time** (int) - 流量获取的时间点,格式为Unix Timestamp - - **Value** (float) - 查询每日流量总值,单位:GB - - """ - # build request - d = {"ProjectId": self.config.project_id} - req and d.update(req) - d = apis.GetUcdnDomainTrafficRequestSchema().dumps(d) - - resp = self.invoke("GetUcdnDomainTraffic", d, **kwargs) - return apis.GetUcdnDomainTrafficResponseSchema().loads(resp) - - def get_ucdn_pass_bandwidth( - self, req: typing.Optional[dict] = None, **kwargs - ) -> dict: - """ GetUcdnPassBandwidth - 获取回源带宽数据(cdn回客户源站部分) - - **Request** - - - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ - - **Type** (int) - (Required) 时间粒度(0表示按照5分钟粒度,1表示按照1小时粒度,2表示按照一天的粒度) - - **Areacode** (str) - 查询带宽区域 cn代表国内 abroad代表海外,只支持国内 - - **BeginTime** (int) - 查询的起始时间,格式为Unix Timestamp。如果有EndTime,BeginTime必须赋值。如没有赋值,则返回缺少参 数错误,如果没有EndTime,BeginTime也可以不赋值,EndTime默认当前时间,BeginTime 默认前一天的当前时间。 - - **DomainId** (list) - 域名id,创建域名时生成的id。默认全部域名 - - **EndTime** (int) - 查询的结束时间,格式为Unix Timestamp。EndTime默认为当前时间,BeginTime默认为当前时间前一天时间。 - - **Response** - - - **BandwidthDetail** (list) - 见 **BandwidthInfoDetail** 模型定义 - - **Response Model** - - **BandwidthInfoDetail** - - - **Bandwidth** (float) - 返回值带宽值数据。 - - **Time** (int) - 宽获取的时间点。格式:时间戳 - - """ - # build request - d = {"ProjectId": self.config.project_id} - req and d.update(req) - d = apis.GetUcdnPassBandwidthRequestSchema().dumps(d) - - resp = self.invoke("GetUcdnPassBandwidth", d, **kwargs) - return apis.GetUcdnPassBandwidthResponseSchema().loads(resp) - - def get_ucdn_traffic( - self, req: typing.Optional[dict] = None, **kwargs - ) -> dict: - """ GetUcdnTraffic - 获取流量信息 - - **Request** - - - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ - - **Response** - - - **TrafficSet** (list) - 见 **TrafficSet** 模型定义 - - **Response Model** - - **TrafficSet** - - - **Areacode** (str) - 购买流量的区域, cn: 国内; abroad: 国外 - - **TrafficLeft** (str) - Areacode区域内总剩余流量, 单位GB - - **TrafficTotal** (str) - Areacode区域内总购买流量, 单位GB - - **TrafficUsed** (str) - Areacode区域内总使用流量, 单位GB - - """ - # build request - d = {"ProjectId": self.config.project_id} - req and d.update(req) - d = apis.GetUcdnTrafficRequestSchema().dumps(d) - - resp = self.invoke("GetUcdnTraffic", d, **kwargs) - return apis.GetUcdnTrafficResponseSchema().loads(resp) - - def prefetch_new_ucdn_domain_cache( - self, req: typing.Optional[dict] = None, **kwargs - ) -> dict: - """ PrefetchNewUcdnDomainCache - 提交预取任务 - - **Request** - - - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ - - **UrlList** (list) - (Required) 预热URL列表,n从自然数0开始。UrlList.n字段必须以”http://域名/”开始。目录要以”/”结尾, 如刷新目录a下所有文件,格式为:http://abc.ucloud.cn/a/;如刷新文件目录a下面img.png文件, 格式为http://abc.ucloud.cn/a/img.png。请正确提交需要刷新的域名 - - **Response** - - - **TaskId** (str) - 本次提交url对应的任务id - - """ - # build request - d = {"ProjectId": self.config.project_id} - req and d.update(req) - d = apis.PrefetchNewUcdnDomainCacheRequestSchema().dumps(d) - - resp = self.invoke("PrefetchNewUcdnDomainCache", d, **kwargs) - return apis.PrefetchNewUcdnDomainCacheResponseSchema().loads(resp) - - def refresh_new_ucdn_domain_cache( - self, req: typing.Optional[dict] = None, **kwargs - ) -> dict: - """ RefreshNewUcdnDomainCache - 刷新缓存 - - **Request** - - - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ - - **Type** (str) - (Required) 刷新类型,file代表文件刷新,dir 代表路径刷新 - - **UrlList** (list) - (Required) 刷新多个URL列表时,一次最多提交30个。必须以”http://域名/”开始。目录要以”/”结尾, 如刷新目录a下所有文件,格式为:http://abc.ucloud.cn/a/;如刷新文件目录a下面img.png文件, 格式为http://abc.ucloud.cn/a/img.png。请正确提交需要刷新的域名 - - **Response** - - - **TaskId** (str) - 本次提交url对应的任务id - - """ - # build request - d = {"ProjectId": self.config.project_id} - req and d.update(req) - d = apis.RefreshNewUcdnDomainCacheRequestSchema().dumps(d) - - resp = self.invoke("RefreshNewUcdnDomainCache", d, **kwargs) - return apis.RefreshNewUcdnDomainCacheResponseSchema().loads(resp) - - def switch_ucdn_charge_type( - self, req: typing.Optional[dict] = None, **kwargs - ) -> dict: - """ SwitchUcdnChargeType - 切换账号计费方式 - - **Request** - - - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ - - **ChargeType** (str) - (Required) 计费方式。traffic代表按流量包计费,bandwidth按带宽付费 - - **Response** - - - """ - # build request - d = {"ProjectId": self.config.project_id} - req and d.update(req) - d = apis.SwitchUcdnChargeTypeRequestSchema().dumps(d) - - resp = self.invoke("SwitchUcdnChargeType", d, **kwargs) - return apis.SwitchUcdnChargeTypeResponseSchema().loads(resp) diff --git a/ucloud/services/ucdn/schemas/__init__.py b/ucloud/services/ucdn/schemas/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/ucloud/services/ucdn/schemas/apis.py b/ucloud/services/ucdn/schemas/apis.py deleted file mode 100644 index 5be59d6e..00000000 --- a/ucloud/services/ucdn/schemas/apis.py +++ /dev/null @@ -1,536 +0,0 @@ -""" Code is generated by ucloud-model, DO NOT EDIT IT. """ - -from ucloud.core.typesystem import schema, fields -from ucloud.services.ucdn.schemas import models - - -""" UCDN API Schema -""" - - -""" -API: BatchDescribeNewUcdnDomain - -批量获取加速域名配置 -""" - - -class BatchDescribeNewUcdnDomainRequestSchema(schema.RequestSchema): - """ BatchDescribeNewUcdnDomain - 批量获取加速域名配置 - """ - - fields = { - "ChannelType": fields.Str(required=False, dump_to="ChannelType"), - "DomainId": fields.List(fields.Str()), - "Limit": fields.Int(required=False, dump_to="Limit"), - "Offset": fields.Int(required=False, dump_to="Offset"), - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - } - - -class BatchDescribeNewUcdnDomainResponseSchema(schema.ResponseSchema): - """ BatchDescribeNewUcdnDomain - 批量获取加速域名配置 - """ - - fields = { - "Arrearage": fields.List( - fields.Str(), required=False, load_from="Arrearage" - ), - "ChargeType": fields.Int(required=False, load_from="ChargeType"), - "DomainList": fields.List( - models.DomainInfoSchema(), required=False, load_from="DomainList" - ), - "LastChargeType": fields.Int( - required=False, load_from="LastChargeType" - ), - "MaxDomainNum": fields.Int(required=False, load_from="MaxDomainNum"), - "TotalCount": fields.Int(required=False, load_from="TotalCount"), - "Vip": fields.Str(required=False, load_from="Vip"), - } - - -""" -API: DescribeNewUcdnPrefetchCacheTask - -获取预取任务状态 -""" - - -class DescribeNewUcdnPrefetchCacheTaskRequestSchema(schema.RequestSchema): - """ DescribeNewUcdnPrefetchCacheTask - 获取预取任务状态 - """ - - fields = { - "BeginTime": fields.Int(required=False, dump_to="BeginTime"), - "EndTime": fields.Int(required=False, dump_to="EndTime"), - "Limit": fields.Int(required=False, dump_to="Limit"), - "Offset": fields.Int(required=False, dump_to="Offset"), - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "Status": fields.Str(required=False, dump_to="Status"), - "TaskId": fields.List(fields.Str()), - } - - -class DescribeNewUcdnPrefetchCacheTaskResponseSchema(schema.ResponseSchema): - """ DescribeNewUcdnPrefetchCacheTask - 获取预取任务状态 - """ - - fields = { - "TaskList": fields.List( - models.TaskInfoSchema(), required=False, load_from="TaskList" - ), - "TotalCount": fields.Int(required=False, load_from="TotalCount"), - } - - -""" -API: DescribeNewUcdnRefreshCacheTask - -获取域名刷新任务状态 -""" - - -class DescribeNewUcdnRefreshCacheTaskRequestSchema(schema.RequestSchema): - """ DescribeNewUcdnRefreshCacheTask - 获取域名刷新任务状态 - """ - - fields = { - "BeginTime": fields.Int(required=False, dump_to="BeginTime"), - "EndTime": fields.Int(required=False, dump_to="EndTime"), - "Limit": fields.Int(required=False, dump_to="Limit"), - "Offset": fields.Int(required=False, dump_to="Offset"), - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "Status": fields.Str(required=False, dump_to="Status"), - "TaskId": fields.List(fields.Str()), - } - - -class DescribeNewUcdnRefreshCacheTaskResponseSchema(schema.ResponseSchema): - """ DescribeNewUcdnRefreshCacheTask - 获取域名刷新任务状态 - """ - - fields = { - "TaskList": fields.List( - models.TaskInfoSchema(), required=False, load_from="TaskList" - ), - "TotalCount": fields.Int(required=False, load_from="TotalCount"), - } - - -""" -API: GetNewUcdnDomainBandwidth - -获取域名带宽数据 -""" - - -class GetNewUcdnDomainBandwidthRequestSchema(schema.RequestSchema): - """ GetNewUcdnDomainBandwidth - 获取域名带宽数据 - """ - - fields = { - "Areacode": fields.Str(required=False, dump_to="Areacode"), - "BeginTime": fields.Int(required=False, dump_to="BeginTime"), - "DomainId": fields.List(fields.Str()), - "EndTime": fields.Int(required=False, dump_to="EndTime"), - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "Type": fields.Int(required=True, dump_to="Type"), - } - - -class GetNewUcdnDomainBandwidthResponseSchema(schema.ResponseSchema): - """ GetNewUcdnDomainBandwidth - 获取域名带宽数据 - """ - - fields = { - "BandwidthList": fields.List( - models.BandwidthInfoSchema(), - required=False, - load_from="BandwidthList", - ), - "Traffic": fields.Str(required=False, load_from="Traffic"), - } - - -""" -API: GetNewUcdnDomainHitRate - -获取域名命中率 -""" - - -class GetNewUcdnDomainHitRateRequestSchema(schema.RequestSchema): - """ GetNewUcdnDomainHitRate - 获取域名命中率 - """ - - fields = { - "Areacode": fields.Str(required=False, dump_to="Areacode"), - "BeginTime": fields.Int(required=False, dump_to="BeginTime"), - "DomainId": fields.List(fields.Str()), - "EndTime": fields.Int(required=False, dump_to="EndTime"), - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "Type": fields.Int(required=True, dump_to="Type"), - } - - -class GetNewUcdnDomainHitRateResponseSchema(schema.ResponseSchema): - """ GetNewUcdnDomainHitRate - 获取域名命中率 - """ - - fields = { - "HitRateList": fields.List( - models.HitRateInfoSchema(), required=False, load_from="HitRateList" - ) - } - - -""" -API: GetNewUcdnDomainHttpCode - -获取域名状态码监控 -""" - - -class GetNewUcdnDomainHttpCodeRequestSchema(schema.RequestSchema): - """ GetNewUcdnDomainHttpCode - 获取域名状态码监控 - """ - - fields = { - "Areacode": fields.Str(required=False, dump_to="Areacode"), - "BeginTime": fields.Int(required=False, dump_to="BeginTime"), - "DomainId": fields.List(fields.Str()), - "EndTime": fields.Int(required=False, dump_to="EndTime"), - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "Type": fields.Int(required=True, dump_to="Type"), - } - - -class GetNewUcdnDomainHttpCodeResponseSchema(schema.ResponseSchema): - """ GetNewUcdnDomainHttpCode - 获取域名状态码监控 - """ - - fields = { - "HttpCodeDetail": fields.List( - models.HttpCodeInfoSchema(), - required=False, - load_from="HttpCodeDetail", - ) - } - - -""" -API: GetNewUcdnDomainHttpCodeV2 - -获取域名详细状态码监控 -""" - - -class GetNewUcdnDomainHttpCodeV2RequestSchema(schema.RequestSchema): - """ GetNewUcdnDomainHttpCodeV2 - 获取域名详细状态码监控 - """ - - fields = { - "Areacode": fields.Str(required=False, dump_to="Areacode"), - "BeginTime": fields.Int(required=True, dump_to="BeginTime"), - "DomainId": fields.List(fields.Str()), - "EndTime": fields.Int(required=True, dump_to="EndTime"), - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "Type": fields.Int(required=True, dump_to="Type"), - } - - -class GetNewUcdnDomainHttpCodeV2ResponseSchema(schema.ResponseSchema): - """ GetNewUcdnDomainHttpCodeV2 - 获取域名详细状态码监控 - """ - - fields = { - "HttpCodeV2Detail": fields.List( - models.HttpCodeV2DetailSchema(), - required=False, - load_from="HttpCodeV2Detail", - ) - } - - -""" -API: GetNewUcdnDomainRequestNum - -获取域名请求数 -""" - - -class GetNewUcdnDomainRequestNumRequestSchema(schema.RequestSchema): - """ GetNewUcdnDomainRequestNum - 获取域名请求数 - """ - - fields = { - "Areacode": fields.Str(required=False, dump_to="Areacode"), - "BeginTime": fields.Int(required=False, dump_to="BeginTime"), - "DomainId": fields.List(fields.Str()), - "EndTime": fields.Int(required=False, dump_to="EndTime"), - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "Type": fields.Int(required=True, dump_to="Type"), - } - - -class GetNewUcdnDomainRequestNumResponseSchema(schema.ResponseSchema): - """ GetNewUcdnDomainRequestNum - 获取域名请求数 - """ - - fields = { - "RequestList": fields.List( - models.RequestInfoSchema(), required=False, load_from="RequestList" - ) - } - - -""" -API: GetUcdnDomainLog - -获取加速域名原始日志 -""" - - -class GetUcdnDomainLogRequestSchema(schema.RequestSchema): - """ GetUcdnDomainLog - 获取加速域名原始日志 - """ - - fields = { - "BeginTime": fields.Int(required=False, dump_to="BeginTime"), - "DomainId": fields.List(fields.Str()), - "EndTime": fields.Int(required=False, dump_to="EndTime"), - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "Type": fields.Int(required=False, dump_to="Type"), - } - - -class GetUcdnDomainLogResponseSchema(schema.ResponseSchema): - """ GetUcdnDomainLog - 获取加速域名原始日志 - """ - - fields = { - "LogSet": fields.List( - models.LogSetListSchema(), required=False, load_from="LogSet" - ) - } - - -""" -API: GetUcdnDomainPrefetchEnable - -获取域名预取开启状态 -""" - - -class GetUcdnDomainPrefetchEnableRequestSchema(schema.RequestSchema): - """ GetUcdnDomainPrefetchEnable - 获取域名预取开启状态 - """ - - fields = { - "DomainId": fields.Str(required=True, dump_to="DomainId"), - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - } - - -class GetUcdnDomainPrefetchEnableResponseSchema(schema.ResponseSchema): - """ GetUcdnDomainPrefetchEnable - 获取域名预取开启状态 - """ - - fields = {"Enable": fields.Int(required=False, load_from="Enable")} - - -""" -API: GetUcdnDomainRequestNumV2 - -获取域名请求数 -""" - - -class GetUcdnDomainRequestNumV2RequestSchema(schema.RequestSchema): - """ GetUcdnDomainRequestNumV2 - 获取域名请求数 - """ - - fields = { - "Areacode": fields.Str(required=False, dump_to="Areacode"), - "BeginTime": fields.Int(required=True, dump_to="BeginTime"), - "DomainId": fields.List(fields.Str()), - "EndTime": fields.Int(required=True, dump_to="EndTime"), - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "Type": fields.Int(required=True, dump_to="Type"), - } - - -class GetUcdnDomainRequestNumV2ResponseSchema(schema.ResponseSchema): - """ GetUcdnDomainRequestNumV2 - 获取域名请求数 - """ - - fields = { - "RequestList": fields.List( - models.RequestInfoSchema(), required=False, load_from="RequestList" - ) - } - - -""" -API: GetUcdnDomainTraffic - -获取加速域名流量使用信息 -""" - - -class GetUcdnDomainTrafficRequestSchema(schema.RequestSchema): - """ GetUcdnDomainTraffic - 获取加速域名流量使用信息 - """ - - fields = { - "Areacode": fields.Str(required=False, dump_to="Areacode"), - "BeginTime": fields.Int(required=False, dump_to="BeginTime"), - "DomainId": fields.List(fields.Str()), - "EndTime": fields.Int(required=False, dump_to="EndTime"), - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - } - - -class GetUcdnDomainTrafficResponseSchema(schema.ResponseSchema): - """ GetUcdnDomainTraffic - 获取加速域名流量使用信息 - """ - - fields = { - "TrafficSet": fields.List( - models.UcdnDomainTrafficSetSchema(), - required=False, - load_from="TrafficSet", - ) - } - - -""" -API: GetUcdnPassBandwidth - -获取回源带宽数据(cdn回客户源站部分) -""" - - -class GetUcdnPassBandwidthRequestSchema(schema.RequestSchema): - """ GetUcdnPassBandwidth - 获取回源带宽数据(cdn回客户源站部分) - """ - - fields = { - "Areacode": fields.Str(required=False, dump_to="Areacode"), - "BeginTime": fields.Int(required=False, dump_to="BeginTime"), - "DomainId": fields.List(fields.Str()), - "EndTime": fields.Int(required=False, dump_to="EndTime"), - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "Type": fields.Int(required=True, dump_to="Type"), - } - - -class GetUcdnPassBandwidthResponseSchema(schema.ResponseSchema): - """ GetUcdnPassBandwidth - 获取回源带宽数据(cdn回客户源站部分) - """ - - fields = { - "BandwidthDetail": fields.List( - models.BandwidthInfoDetailSchema(), - required=False, - load_from="BandwidthDetail", - ) - } - - -""" -API: GetUcdnTraffic - -获取流量信息 -""" - - -class GetUcdnTrafficRequestSchema(schema.RequestSchema): - """ GetUcdnTraffic - 获取流量信息 - """ - - fields = {"ProjectId": fields.Str(required=False, dump_to="ProjectId")} - - -class GetUcdnTrafficResponseSchema(schema.ResponseSchema): - """ GetUcdnTraffic - 获取流量信息 - """ - - fields = { - "TrafficSet": fields.List( - models.TrafficSetSchema(), required=False, load_from="TrafficSet" - ) - } - - -""" -API: PrefetchNewUcdnDomainCache - -提交预取任务 -""" - - -class PrefetchNewUcdnDomainCacheRequestSchema(schema.RequestSchema): - """ PrefetchNewUcdnDomainCache - 提交预取任务 - """ - - fields = { - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "UrlList": fields.List(fields.Str()), - } - - -class PrefetchNewUcdnDomainCacheResponseSchema(schema.ResponseSchema): - """ PrefetchNewUcdnDomainCache - 提交预取任务 - """ - - fields = {"TaskId": fields.Str(required=False, load_from="TaskId")} - - -""" -API: RefreshNewUcdnDomainCache - -刷新缓存 -""" - - -class RefreshNewUcdnDomainCacheRequestSchema(schema.RequestSchema): - """ RefreshNewUcdnDomainCache - 刷新缓存 - """ - - fields = { - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - "Type": fields.Str(required=True, dump_to="Type"), - "UrlList": fields.List(fields.Str()), - } - - -class RefreshNewUcdnDomainCacheResponseSchema(schema.ResponseSchema): - """ RefreshNewUcdnDomainCache - 刷新缓存 - """ - - fields = {"TaskId": fields.Str(required=False, load_from="TaskId")} - - -""" -API: SwitchUcdnChargeType - -切换账号计费方式 -""" - - -class SwitchUcdnChargeTypeRequestSchema(schema.RequestSchema): - """ SwitchUcdnChargeType - 切换账号计费方式 - """ - - fields = { - "ChargeType": fields.Str(required=True, dump_to="ChargeType"), - "ProjectId": fields.Str(required=False, dump_to="ProjectId"), - } - - -class SwitchUcdnChargeTypeResponseSchema(schema.ResponseSchema): - """ SwitchUcdnChargeType - 切换账号计费方式 - """ - - fields = {} diff --git a/ucloud/services/ucdn/schemas/models.py b/ucloud/services/ucdn/schemas/models.py deleted file mode 100644 index 62b20116..00000000 --- a/ucloud/services/ucdn/schemas/models.py +++ /dev/null @@ -1,265 +0,0 @@ -""" Code is generated by ucloud-model, DO NOT EDIT IT. """ - -from ucloud.core.typesystem import schema, fields - - -class AccessConfSchema(schema.ResponseSchema): - """ AccessConf - 访问控制 - """ - - fields = { - "IpBlacklist": fields.Str(required=False, load_from="IpBlacklist") - } - - -class CacheConfSchema(schema.ResponseSchema): - """ CacheConf - 缓存配置 - """ - - fields = { - "CacheBehavior": fields.Bool(required=False, load_from="CacheBehavior"), - "CacheTTL": fields.Int(required=False, load_from="CacheTTL"), - "CacheUnit": fields.Str(required=False, load_from="CacheUnit"), - "Description": fields.Str(required=False, load_from="Description"), - "FollowOriginRule": fields.Bool( - required=False, load_from="FollowOriginRule" - ), - "HttpCodePattern": fields.Str( - required=False, load_from="HttpCodePattern" - ), - "IgnoreQueryString": fields.Bool( - required=False, load_from="IgnoreQueryString" - ), - "PathPattern": fields.Str(required=False, load_from="PathPattern"), - } - - -class DomainInfoSchema(schema.ResponseSchema): - """ DomainInfo - 域名配置 - """ - - fields = { - "AccessConf": AccessConfSchema(), - "AreaCode": fields.Str(required=False, load_from="AreaCode"), - "CacheConf": fields.List(CacheConfSchema()), - "CacheHost": fields.Str(required=False, load_from="CacheHost"), - "CdnProtocol": fields.Str(required=False, load_from="CdnProtocol"), - "CdnType": fields.Str(required=True, load_from="CdnType"), - "CertName": fields.Str(required=False, load_from="CertName"), - "Cname": fields.Str(required=False, load_from="Cname"), - "CreateTime": fields.Int(required=False, load_from="CreateTime"), - "Domain": fields.Str(required=False, load_from="Domain"), - "DomainId": fields.Str(required=False, load_from="DomainId"), - "HttpsStatusAbroad": fields.Str( - required=False, load_from="HttpsStatusAbroad" - ), - "HttpsStatusCn": fields.Str(required=False, load_from="HttpsStatusCn"), - "NullRefer": fields.Bool(required=False, load_from="NullRefer"), - "OriginHost": fields.Str(required=False, load_from="OriginHost"), - "OriginIp": fields.List(fields.Str()), - "OriginPort": fields.Int(required=False, load_from="OriginPort"), - "OriginProtocol": fields.Str( - required=False, load_from="OriginProtocol" - ), - "ReferList": fields.List(fields.Str()), - "ReferStatus": fields.Bool(required=False, load_from="ReferStatus"), - "ReferType": fields.Int(required=False, load_from="ReferType"), - "Status": fields.Str(required=False, load_from="Status"), - "Tag": fields.Str(required=False, load_from="Tag"), - "TestUrl": fields.Str(required=True, load_from="TestUrl"), - "ValidTime": fields.Int(required=False, load_from="ValidTime"), - } - - -class UrlProgressInfoSchema(schema.ResponseSchema): - """ UrlProgressInfo - UrlProgressInfo - """ - - fields = { - "CreateTime": fields.Int(required=False, load_from="CreateTime"), - "FinishTime": fields.Int(required=False, load_from="FinishTime"), - "Progress": fields.Int(required=False, load_from="Progress"), - "Status": fields.Str(required=False, load_from="Status"), - "Url": fields.Str(required=False, load_from="Url"), - } - - -class TaskInfoSchema(schema.ResponseSchema): - """ TaskInfo - 预取刷新的任务信息 - """ - - fields = { - "CreateTime": fields.Int(required=False, load_from="CreateTime"), - "Status": fields.Str(required=False, load_from="Status"), - "TaskId": fields.Str(required=False, load_from="TaskId"), - "Type": fields.Str(required=False, load_from="Type"), - "UrlLists": fields.List(UrlProgressInfoSchema()), - } - - -class BandwidthInfoSchema(schema.ResponseSchema): - """ BandwidthInfo - BandwidthInfo - """ - - fields = { - "CdnBandwidth": fields.Str(required=False, load_from="CdnBandwidth"), - "Time": fields.Int(required=False, load_from="Time"), - } - - -class HitRateInfoSchema(schema.ResponseSchema): - """ HitRateInfo - HitRateInfo - """ - - fields = { - "FlowHitRate": fields.Float(required=False, load_from="FlowHitRate"), - "RequestHitRate": fields.Float( - required=False, load_from="RequestHitRate" - ), - "Time": fields.Int(required=False, load_from="Time"), - } - - -class HttpCodeInfoSchema(schema.ResponseSchema): - """ HttpCodeInfo - HttpCodeInfo - """ - - fields = { - "HttpFiveXX": fields.Int(required=False, load_from="HttpFiveXX"), - "HttpFourXX": fields.Int(required=False, load_from="HttpFourXX"), - "HttpOneXX": fields.Int(required=False, load_from="HttpOneXX"), - "HttpThreeXX": fields.Int(required=False, load_from="HttpThreeXX"), - "HttpTwoXX": fields.Int(required=False, load_from="HttpTwoXX"), - "Time": fields.Int(required=False, load_from="Time"), - } - - -class HttpCodeV2DetailSchema(schema.ResponseSchema): - """ HttpCodeV2Detail - HTTP状态码详细信息 - """ - - fields = { - "Http100": fields.Int(required=False, load_from="Http100"), - "Http101": fields.Int(required=False, load_from="Http101"), - "Http102": fields.Int(required=False, load_from="Http102"), - "Http200": fields.Int(required=False, load_from="Http200"), - "Http201": fields.Int(required=False, load_from="Http201"), - "Http202": fields.Int(required=False, load_from="Http202"), - "Http203": fields.Int(required=False, load_from="Http203"), - "Http204": fields.Int(required=False, load_from="Http204"), - "Http205": fields.Int(required=False, load_from="Http205"), - "Http206": fields.Int(required=False, load_from="Http206"), - "Http207": fields.Int(required=False, load_from="Http207"), - "Http300": fields.Int(required=False, load_from="Http300"), - "Http301": fields.Int(required=False, load_from="Http301"), - "Http302": fields.Int(required=False, load_from="Http302"), - "Http303": fields.Int(required=False, load_from="Http303"), - "Http304": fields.Int(required=False, load_from="Http304"), - "Http305": fields.Int(required=False, load_from="Http305"), - "Http306": fields.Int(required=False, load_from="Http306"), - "Http307": fields.Int(required=False, load_from="Http307"), - "Http400": fields.Int(required=False, load_from="Http400"), - "Http401": fields.Int(required=False, load_from="Http401"), - "Http402": fields.Int(required=False, load_from="Http402"), - "Http403": fields.Int(required=False, load_from="Http403"), - "Http404": fields.Int(required=False, load_from="Http404"), - "Http405": fields.Int(required=False, load_from="Http405"), - "Http406": fields.Int(required=False, load_from="Http406"), - "Http407": fields.Int(required=False, load_from="Http407"), - "Http408": fields.Int(required=False, load_from="Http408"), - "Http409": fields.Int(required=False, load_from="Http409"), - "Http410": fields.Int(required=False, load_from="Http410"), - "Http411": fields.Int(required=False, load_from="Http411"), - "Http412": fields.Int(required=False, load_from="Http412"), - "Http413": fields.Int(required=False, load_from="Http413"), - "Http414": fields.Int(required=False, load_from="Http414"), - "Http415": fields.Int(required=False, load_from="Http415"), - "Http416": fields.Int(required=False, load_from="Http416"), - "Http417": fields.Int(required=False, load_from="Http417"), - "Http418": fields.Int(required=False, load_from="Http418"), - "Http421": fields.Int(required=False, load_from="Http421"), - "Http422": fields.Int(required=False, load_from="Http422"), - "Http423": fields.Int(required=False, load_from="Http423"), - "Http424": fields.Int(required=False, load_from="Http424"), - "Http425": fields.Int(required=False, load_from="Http425"), - "Http426": fields.Int(required=False, load_from="Http426"), - "Http449": fields.Int(required=False, load_from="Http449"), - "Http451": fields.Int(required=False, load_from="Http451"), - "Http500": fields.Int(required=False, load_from="Http500"), - "Http501": fields.Int(required=False, load_from="Http501"), - "Http502": fields.Int(required=False, load_from="Http502"), - "Http503": fields.Int(required=False, load_from="Http503"), - "Http504": fields.Int(required=False, load_from="Http504"), - "Http505": fields.Int(required=False, load_from="Http505"), - "Http506": fields.Int(required=False, load_from="Http506"), - "Http507": fields.Int(required=False, load_from="Http507"), - "Http509": fields.Int(required=False, load_from="Http509"), - "Http510": fields.Int(required=False, load_from="Http510"), - "Time": fields.Int(required=True, load_from="Time"), - } - - -class RequestInfoSchema(schema.ResponseSchema): - """ RequestInfo - RequestInfo - """ - - fields = { - "CdnRequest": fields.Float(required=False, load_from="CdnRequest"), - "OriginRequest": fields.Float( - required=False, load_from="OriginRequest" - ), - "Time": fields.Int(required=False, load_from="Time"), - } - - -class LogSetInfoSchema(schema.ResponseSchema): - """ LogSetInfo - 日志信息 - """ - - fields = { - "AbroadLog": fields.List(fields.Str()), - "CnLog": fields.List(fields.Str()), - "Time": fields.Int(required=False, load_from="Time"), - } - - -class LogSetListSchema(schema.ResponseSchema): - """ LogSetList - 日志信息列表 - """ - - fields = { - "Domain": fields.Str(required=False, load_from="Domain"), - "Logs": fields.List(LogSetInfoSchema()), - } - - -class UcdnDomainTrafficSetSchema(schema.ResponseSchema): - """ UcdnDomainTrafficSet - GetUcdnDomainTraffic - """ - - fields = { - "Time": fields.Int(required=False, load_from="Time"), - "Value": fields.Float(required=False, load_from="Value"), - } - - -class BandwidthInfoDetailSchema(schema.ResponseSchema): - """ BandwidthInfoDetail - 带宽值信息模型(时间-带宽) - """ - - fields = { - "Bandwidth": fields.Float(required=True, load_from="Bandwidth"), - "Time": fields.Int(required=True, load_from="Time"), - } - - -class TrafficSetSchema(schema.ResponseSchema): - """ TrafficSet - GetUcdnTraffic - """ - - fields = { - "Areacode": fields.Str(required=False, load_from="Areacode"), - "TrafficLeft": fields.Str(required=False, load_from="TrafficLeft"), - "TrafficTotal": fields.Str(required=False, load_from="TrafficTotal"), - "TrafficUsed": fields.Str(required=False, load_from="TrafficUsed"), - } From 65a4df82a850518b5cc2d0972f1ffd4b1fa89c60 Mon Sep 17 00:00:00 2001 From: yufeiminds Date: Tue, 22 Oct 2019 20:33:36 +0800 Subject: [PATCH 08/10] disable release check --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 6f13dd71..c90c76d6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -15,7 +15,7 @@ install: pip install -e .[ci] script: - make lint - make test-cov - - make release-check +# - make release-check after_success: - bash <(curl -s https://codecov.io/bash) From dbf385170d2c775d7603d482dcff1601abd3fbdc Mon Sep 17 00:00:00 2001 From: yufeiminds Date: Tue, 22 Oct 2019 20:44:27 +0800 Subject: [PATCH 09/10] add change logs --- CHANGELOG.md | 0 scripts/release.py | 3 ++- ucloud/version.py | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000..e69de29b diff --git a/scripts/release.py b/scripts/release.py index 68e235f3..31dcd52e 100644 --- a/scripts/release.py +++ b/scripts/release.py @@ -116,8 +116,9 @@ def write_changelog(self, logs): if not self.is_dry_run: # insert change logs at the begin of changelog file - with open('CHANGELOG.md', 'rw') as f: + with open('CHANGELOG.md', 'r+') as f: content = f.read() + f.seek(0) f.write('\n\n'.join([ '## {} ({})'.format(bumper.version, datetime.now().date().isoformat()), '\n'.join(buffer_lines), diff --git a/ucloud/version.py b/ucloud/version.py index abe1e1c0..5346017b 100644 --- a/ucloud/version.py +++ b/ucloud/version.py @@ -1 +1 @@ -version = "0.5.1" +version = "0.5.1" \ No newline at end of file From 2a7c5fac536ce892885156e83ecfe0574b2fc628 Mon Sep 17 00:00:00 2001 From: yufeiminds Date: Tue, 22 Oct 2019 20:49:37 +0800 Subject: [PATCH 10/10] add change logs --- scripts/release.py | 2 +- ucloud/version.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/release.py b/scripts/release.py index 31dcd52e..4a47942c 100644 --- a/scripts/release.py +++ b/scripts/release.py @@ -134,7 +134,7 @@ def write_version(self, version): return with open('./ucloud/version.py', 'w') as f: - f.write(version_code) + f.write(version_code + '\n') def main(): diff --git a/ucloud/version.py b/ucloud/version.py index 5346017b..abe1e1c0 100644 --- a/ucloud/version.py +++ b/ucloud/version.py @@ -1 +1 @@ -version = "0.5.1" \ No newline at end of file +version = "0.5.1"