forked from docs/doc-exports
Compare commits
1 Commits
Precheck
...
UCS_openap
| Author | SHA1 | Date | |
|---|---|---|---|
| bfb5c6977f |
@ -1,81 +0,0 @@
|
||||
# .gitea/workflows/class-txt-check.yml
|
||||
name: Docs Precheck - CLASS.TXT.json Check
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types: [opened, reopened, synchronize, edited]
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
pull-requests: write
|
||||
|
||||
jobs:
|
||||
class-txt-check:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.12'
|
||||
|
||||
- name: Get changed CLASS.TXT.json files
|
||||
id: changed-files
|
||||
run: |
|
||||
BASE_SHA="${{ gitea.event.pull_request.base.sha }}"
|
||||
changed=$(git diff --name-only ${BASE_SHA}...HEAD | grep -E 'CLASS\.TXT\.json$' | tr '\n' ' ' || true)
|
||||
echo "files=$changed" >> $GITHUB_OUTPUT
|
||||
echo "CHANGED_FILES=$changed" >> $GITHUB_ENV
|
||||
echo "Changed CLASS.TXT.json files: $changed"
|
||||
|
||||
- name: Run duplicate title check
|
||||
id: class-check
|
||||
run: |
|
||||
python3 .gitea/workflows/helpers/class-txt-check.py
|
||||
|
||||
- name: Comment on PR with violations
|
||||
if: failure() && steps.class-check.outcome == 'failure'
|
||||
env:
|
||||
GITEA_SERVER_URL: ${{ gitea.server_url }}
|
||||
REPO: ${{ gitea.repository }}
|
||||
PR_NUMBER: ${{ gitea.event.pull_request.number }}
|
||||
TOKEN: ${{ gitea.token }}
|
||||
run: |
|
||||
set -euo pipefail
|
||||
|
||||
# Ensure URL starts with http
|
||||
if [[ ! "${GITEA_SERVER_URL}" =~ ^https?:// ]]; then
|
||||
GITEA_SERVER_URL="http://${GITEA_SERVER_URL}"
|
||||
echo "Added http:// prefix to URL"
|
||||
fi
|
||||
|
||||
# Generate comment message
|
||||
MSG=$(python3 .gitea/workflows/helpers/class-comment.py)
|
||||
echo "$MSG"
|
||||
|
||||
# Extract body from JSON
|
||||
BODY=$(echo "$MSG" | python3 -c "import sys, json; print(json.load(sys.stdin)['body'])")
|
||||
|
||||
# Build the full URL
|
||||
FULL_URL="${GITEA_SERVER_URL}/api/v1/repos/${REPO}/issues/${PR_NUMBER}/comments"
|
||||
echo "Posting comment to: ${FULL_URL}"
|
||||
|
||||
# Comment on PR
|
||||
curl -sS -X POST \
|
||||
-H "Authorization: token ${TOKEN}" \
|
||||
-H "Content-Type: application/json" \
|
||||
"${FULL_URL}" \
|
||||
-d "$(echo "$BODY" | python3 -c "import sys, json; print(json.dumps({'body': sys.stdin.read()}))")"
|
||||
|
||||
- name: Final status
|
||||
if: always()
|
||||
run: |
|
||||
if [ -f violations.json ]; then
|
||||
echo "::error::CLASS.TXT.json check failed. See previous step for details."
|
||||
exit 1
|
||||
fi
|
||||
@ -1,84 +0,0 @@
|
||||
# .gitea/workflows/docs-precheck.yml
|
||||
name: Docs Precheck - Underscore Check
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types: [opened, reopened, synchronize, edited]
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
pull-requests: write
|
||||
|
||||
jobs:
|
||||
docs-precheck:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.12'
|
||||
|
||||
- name: Install dependencies
|
||||
run: pip install beautifulsoup4 lxml
|
||||
|
||||
- name: Get changed HTML files
|
||||
id: changed-files
|
||||
run: |
|
||||
BASE_SHA="${{ gitea.event.pull_request.base.sha }}"
|
||||
changed=$(git diff --name-only ${BASE_SHA}...HEAD | grep -E '\.(html|htm)$' | tr '\n' ' ' || true)
|
||||
echo "files=$changed" >> $GITHUB_OUTPUT
|
||||
echo "CHANGED_FILES=$changed" >> $GITHUB_ENV
|
||||
echo "Changed HTML files: $changed"
|
||||
|
||||
- name: Run underscore check
|
||||
id: underscore-check
|
||||
run: |
|
||||
python3 .gitea/workflows/helpers/underscore-check.py
|
||||
|
||||
- name: Comment on PR with violations
|
||||
if: failure() && steps.underscore-check.outcome == 'failure'
|
||||
env:
|
||||
GITEA_SERVER_URL: ${{ gitea.server_url }}
|
||||
REPO: ${{ gitea.repository }}
|
||||
PR_NUMBER: ${{ gitea.event.pull_request.number }}
|
||||
TOKEN: ${{ gitea.token }}
|
||||
run: |
|
||||
set -euo pipefail
|
||||
|
||||
# Ensure URL starts with http
|
||||
if [[ ! "${GITEA_SERVER_URL}" =~ ^https?:// ]]; then
|
||||
GITEA_SERVER_URL="http://${GITEA_SERVER_URL}"
|
||||
echo "Added http:// prefix to URL"
|
||||
fi
|
||||
|
||||
# Generate comment message
|
||||
MSG=$(python3 .gitea/workflows/helpers/underscore-comment.py)
|
||||
echo "$MSG"
|
||||
|
||||
# Extract body from JSON
|
||||
BODY=$(echo "$MSG" | python3 -c "import sys, json; print(json.load(sys.stdin)['body'])")
|
||||
|
||||
# Build the full URL
|
||||
FULL_URL="${GITEA_SERVER_URL}/api/v1/repos/${REPO}/issues/${PR_NUMBER}/comments"
|
||||
echo "Posting comment to: ${FULL_URL}"
|
||||
|
||||
# Comment on PR
|
||||
curl -sS -X POST \
|
||||
-H "Authorization: token ${TOKEN}" \
|
||||
-H "Content-Type: application/json" \
|
||||
"${FULL_URL}" \
|
||||
-d "$(echo "$BODY" | python3 -c "import sys, json; print(json.dumps({'body': sys.stdin.read()}))")"
|
||||
|
||||
- name: Final status
|
||||
if: always()
|
||||
run: |
|
||||
if [ -f violations.json ]; then
|
||||
echo "::error::Underscore check failed. See previous step for details."
|
||||
exit 1
|
||||
fi
|
||||
@ -1,71 +0,0 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Generate PR comment for CLASS.TXT.json duplicate title violations.
|
||||
|
||||
This script reads violations.json (created by class-txt-check.py) and generates
|
||||
a formatted markdown comment to be posted on the PR. The comment includes:
|
||||
- File path where violations were found
|
||||
- Parent document title and code
|
||||
- The duplicate title
|
||||
- Document codes that share the duplicate title
|
||||
|
||||
Usage:
|
||||
Run after class-txt-check.py fails. Reads violations.json and outputs JSON
|
||||
with 'body' field containing the markdown comment text.
|
||||
"""
|
||||
|
||||
import json
|
||||
import sys
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
with open("violations.json", "r") as f:
|
||||
violations = json.load(f)
|
||||
except Exception:
|
||||
violations = []
|
||||
|
||||
if not violations:
|
||||
print(json.dumps({"body": "No violations to report"}))
|
||||
sys.exit(0)
|
||||
|
||||
# Group violations by file
|
||||
by_file = {}
|
||||
for v in violations:
|
||||
key = v["file"]
|
||||
if key not in by_file:
|
||||
by_file[key] = []
|
||||
by_file[key].append(v)
|
||||
|
||||
# Build message
|
||||
lines = [
|
||||
"❌ **Duplicate title detected in CLASS.TXT.json**",
|
||||
"",
|
||||
"Found child documents with duplicate titles under the same parent:",
|
||||
"",
|
||||
]
|
||||
|
||||
for filepath, file_violations in by_file.items():
|
||||
lines.append(f"**{filepath}:**")
|
||||
for v in file_violations:
|
||||
parent_code = v["parent_code"]
|
||||
parent_title = v["parent_title"]
|
||||
duplicate_title = v["duplicate_title"]
|
||||
codes = v["codes"]
|
||||
|
||||
lines.append(f" - Parent: `{parent_title}` (code: `{parent_code}`)")
|
||||
lines.append(f" Duplicate title: `{duplicate_title}`")
|
||||
for code in codes:
|
||||
lines.append(f" - Document code: `{code}`")
|
||||
lines.append("")
|
||||
|
||||
lines.append(
|
||||
"**Please ensure all child documents under the same parent have unique titles.**"
|
||||
)
|
||||
|
||||
message = "\n".join(lines)
|
||||
print(json.dumps({"body": message}))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,63 +0,0 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Generate PR comment for metadata registration check violations.
|
||||
|
||||
This script reads violations.json (created by metadata-check.py) and generates
|
||||
a formatted markdown comment to be posted on the PR. The comment includes:
|
||||
- HTML file path that was added but not registered
|
||||
- Which metadata files it's missing from (CLASS.TXT.json, ALL_META.TXT.json)
|
||||
- Whether the metadata files don't exist or the file is simply missing from them
|
||||
|
||||
Usage:
|
||||
Run after metadata-check.py fails. Reads violations.json and outputs JSON
|
||||
with 'body' field containing the markdown comment text.
|
||||
"""
|
||||
|
||||
import json
|
||||
import sys
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
with open("violations.json", "r") as f:
|
||||
violations = json.load(f)
|
||||
except Exception:
|
||||
violations = []
|
||||
|
||||
if not violations:
|
||||
print(json.dumps({"body": "No violations to report"}))
|
||||
sys.exit(0)
|
||||
|
||||
# Build message
|
||||
lines = [
|
||||
"❌ **HTML file not registered in metadata**",
|
||||
"",
|
||||
"The following HTML files were added but are not properly registered in the metadata files:",
|
||||
"",
|
||||
]
|
||||
|
||||
for v in violations:
|
||||
html_file = v["file"]
|
||||
missing_from = v["missing_from"]
|
||||
|
||||
lines.append(f"**{html_file}**")
|
||||
for missing in missing_from:
|
||||
# Check if it's a "file not found" case
|
||||
if "(file not found)" in missing:
|
||||
lines.append(
|
||||
f" ❌ Missing from: `{missing.split(' (')[0]}` (metadata file does not exist)"
|
||||
)
|
||||
else:
|
||||
lines.append(f" ❌ Missing from: `{missing}`")
|
||||
lines.append("")
|
||||
|
||||
lines.append(
|
||||
"**Please add the new HTML files to both `CLASS.TXT.json` and `ALL_META.TXT.json` in the same directory.**"
|
||||
)
|
||||
|
||||
message = "\n".join(lines)
|
||||
print(json.dumps({"body": message}))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
File diff suppressed because it is too large
Load Diff
@ -1,68 +0,0 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Generate PR comment for underscore check violations.
|
||||
|
||||
This script reads violations.json (created by underscore-check.py) and generates
|
||||
a formatted markdown comment to be posted on the PR. The comment includes:
|
||||
- File path where violations were found
|
||||
- Line number of each violation
|
||||
- The offending word (ending with underscore)
|
||||
- Context showing where the violation appears in the HTML
|
||||
|
||||
Usage:
|
||||
Run after underscore-check.py fails. Reads violations.json and outputs JSON
|
||||
with 'body' field containing the markdown comment text.
|
||||
"""
|
||||
|
||||
import json
|
||||
import sys
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
with open("violations.json", "r") as f:
|
||||
violations = json.load(f)
|
||||
except Exception:
|
||||
violations = []
|
||||
|
||||
if not violations:
|
||||
print(json.dumps({"body": "No violations to report"}))
|
||||
sys.exit(0)
|
||||
|
||||
# Group violations by file
|
||||
by_file = {}
|
||||
for v in violations:
|
||||
key = v["file"]
|
||||
if key not in by_file:
|
||||
by_file[key] = []
|
||||
by_file[key].append(v)
|
||||
|
||||
# Build message
|
||||
lines = [
|
||||
"❌ **Underscore check failed**",
|
||||
"",
|
||||
"Found words ending with underscore (not followed by alphanumeric characters):",
|
||||
"",
|
||||
]
|
||||
|
||||
for filepath, file_violations in by_file.items():
|
||||
lines.append(f"**{filepath}:**")
|
||||
for v in file_violations:
|
||||
word = v["word"]
|
||||
line_num = v["line"]
|
||||
context = v["context"]
|
||||
# Escape markdown special chars in context
|
||||
context = context.replace("`", "\\`")
|
||||
lines.append(f" - Line {line_num}: `{word}` in context: `{context}`")
|
||||
lines.append("")
|
||||
|
||||
lines.append(
|
||||
"**Please fix these issues as soon as possible.** Words should not end with an underscore unless followed by alphanumeric characters (A-Za-z0-9)."
|
||||
)
|
||||
|
||||
message = "\n".join(lines)
|
||||
print(json.dumps({"body": message}))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
@ -1,81 +0,0 @@
|
||||
# .gitea/workflows/metadata-check.yml
|
||||
name: Docs Precheck - Metadata Registration Check
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types: [opened, reopened, synchronize, edited]
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
pull-requests: write
|
||||
|
||||
jobs:
|
||||
metadata-check:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.12'
|
||||
|
||||
- name: Get added HTML files
|
||||
id: added-files
|
||||
run: |
|
||||
BASE_SHA="${{ gitea.event.pull_request.base.sha }}"
|
||||
added=$(git diff --name-status ${BASE_SHA}...HEAD | grep "^A" | awk '{print $2}' | grep -E '\.html$' | tr '\n' ' ' || true)
|
||||
echo "files=$added" >> $GITHUB_OUTPUT
|
||||
echo "ADDED_FILES=$added" >> $GITHUB_ENV
|
||||
echo "Added HTML files: $added"
|
||||
|
||||
- name: Run metadata registration check
|
||||
id: metadata-check
|
||||
run: |
|
||||
python3 .gitea/workflows/helpers/metadata-check.py
|
||||
|
||||
- name: Comment on PR with violations
|
||||
if: failure() && steps.metadata-check.outcome == 'failure'
|
||||
env:
|
||||
GITEA_SERVER_URL: ${{ gitea.server_url }}
|
||||
REPO: ${{ gitea.repository }}
|
||||
PR_NUMBER: ${{ gitea.event.pull_request.number }}
|
||||
TOKEN: ${{ gitea.token }}
|
||||
run: |
|
||||
set -euo pipefail
|
||||
|
||||
# Ensure URL starts with http
|
||||
if [[ ! "${GITEA_SERVER_URL}" =~ ^https?:// ]]; then
|
||||
GITEA_SERVER_URL="http://${GITEA_SERVER_URL}"
|
||||
echo "Added http:// prefix to URL"
|
||||
fi
|
||||
|
||||
# Generate comment message
|
||||
MSG=$(python3 .gitea/workflows/helpers/metadata-comment.py)
|
||||
echo "$MSG"
|
||||
|
||||
# Extract body from JSON
|
||||
BODY=$(echo "$MSG" | python3 -c "import sys, json; print(json.load(sys.stdin)['body'])")
|
||||
|
||||
# Build the full URL
|
||||
FULL_URL="${GITEA_SERVER_URL}/api/v1/repos/${REPO}/issues/${PR_NUMBER}/comments"
|
||||
echo "Posting comment to: ${FULL_URL}"
|
||||
|
||||
# Comment on PR
|
||||
curl -sS -X POST \
|
||||
-H "Authorization: token ${TOKEN}" \
|
||||
-H "Content-Type: application/json" \
|
||||
"${FULL_URL}" \
|
||||
-d "$(echo "$BODY" | python3 -c "import sys, json; print(json.dumps({'body': sys.stdin.read()}))")"
|
||||
|
||||
- name: Final status
|
||||
if: always()
|
||||
run: |
|
||||
if [ -f violations.json ]; then
|
||||
echo "::error::Metadata registration check failed. See previous step for details."
|
||||
exit 1
|
||||
fi
|
||||
@ -515,7 +515,7 @@
|
||||
{
|
||||
"desc":"Meaning: Request throttling policy.Scope of effect: Operation Object (2.0)/Operation Object (3.0)Example:",
|
||||
"product_code":"apig",
|
||||
"title":"x-apigateway-ratelimits",
|
||||
"title":"x-apigateway-ratelimit",
|
||||
"uri":"apig_03_0098.html",
|
||||
"doc_type":"usermanual",
|
||||
"p_code":"43",
|
||||
|
||||
@ -1,20 +0,0 @@
|
||||
<a name="apig_02_0001"></a><a name="apig_02_0001"></a>
|
||||
|
||||
<h1 class="topictitle1">Process Flow</h1>
|
||||
<div id="body8662426"><p id="apig_02_0001__en-us_topic_0000001128377382_en-us_topic_0080101676_p8060118">The following figure shows the process of exposing an API.</p>
|
||||
<p id="apig_02_0001__en-us_topic_0000001128377382_p18543548134311"><span><img id="apig_02_0001__en-us_topic_0000001128377382_image14730133294617" src="en-us_image_0000001829896089.png"></span></p>
|
||||
<ol id="apig_02_0001__en-us_topic_0000001128377382_en-us_topic_0080101676_ol134712352910"><li id="apig_02_0001__en-us_topic_0000001128377382_li035223651911">Creating a Gateway<p id="apig_02_0001__en-us_topic_0000001128377382_p08351451237"><a name="apig_02_0001__en-us_topic_0000001128377382_li035223651911"></a><a name="en-us_topic_0000001128377382_li035223651911"></a><a href="apig_03_0037.html">Create a dedicated gateway.</a></p>
|
||||
</li><li id="apig_02_0001__en-us_topic_0000001128377382_en-us_topic_0080101676_li1934718315294"><a href="apig-ug-180307003.html">Creating an API Group</a><p id="apig_02_0001__en-us_topic_0000001128377382_en-us_topic_0080101676_p52731551293">An API group facilitates management of APIs used for the same service. Create an API group and then create APIs.</p>
|
||||
</li><li id="apig_02_0001__en-us_topic_0000001128377382_en-us_topic_0080101676_li1239042116208"><a href="apig-ug-190419107.html">Binding a Domain Name</a><p id="apig_02_0001__en-us_topic_0000001128377382_en-us_topic_0080101676_p1939022115203">Before making the API available for users to access, bind an independent domain name (custom domain name) to the group to which the API belongs. Then API callers can use these domain names to call the API.</p>
|
||||
</li><li id="apig_02_0001__en-us_topic_0000001128377382_en-us_topic_0080101676_li034715392911"><a href="apig_0080101678.html">Creating an API</a><p id="apig_02_0001__en-us_topic_0000001128377382_en-us_topic_0080101676_p1396201052917">When creating an API, configure the frontend and backend request paths, parameters, and protocols.</p>
|
||||
</li><li id="apig_02_0001__en-us_topic_0000001128377382_en-us_topic_0080101676_li1447643191811"><a href="apig-ug-190419108.html">Debugging an API</a><p id="apig_02_0001__en-us_topic_0000001128377382_en-us_topic_0080101676_p18728145518188">Debug the API to check whether it works normally.</p>
|
||||
</li><li id="apig_02_0001__en-us_topic_0000001128377382_en-us_topic_0080101676_li23471332910"><a href="apig-ug-180307004.html">(Optional) Creating an Environment</a><p id="apig_02_0001__en-us_topic_0000001128377382_en-us_topic_0080101676_p10254142615218">An API can be called in different scenarios, such as the production environment (RELEASE) or other custom environments. RELEASE is the default environment defined in APIG.</p>
|
||||
</li><li id="apig_02_0001__en-us_topic_0000001128377382_en-us_topic_0080101676_li134733102913"><a href="apig-ug-180307005.html">Publishing an API</a><p id="apig_02_0001__en-us_topic_0000001128377382_en-us_topic_0080101676_p780511012155">Publish the API so that it can be called.</p>
|
||||
</li></ol>
|
||||
</div>
|
||||
<div>
|
||||
<div class="familylinks">
|
||||
<div class="parentlink"><strong>Parent topic:</strong> <a href="apig-ug-180307001.html">Opening APIs</a></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -41,7 +41,7 @@
|
||||
</table>
|
||||
</div>
|
||||
</p></li><li id="apig_03_0006__en-us_topic_0000001221574215_en-us_topic_0103545823_li369614061512"><span>Click <strong id="apig_03_0006__en-us_topic_0000001221574215_en-us_topic_0103545823_b1151018810305">OK</strong>.</span><p><p id="apig_03_0006__en-us_topic_0000001221574215_en-us_topic_0103545823_p643617378212">If the domain name is no longer needed, click <strong id="apig_03_0006__en-us_topic_0000001221574215_en-us_topic_0103545823_b791211518302">Unbind Domain Name</strong> to unbind it from the API group.</p>
|
||||
</p></li><li id="apig_03_0006__en-us_topic_0000001221574215_en-us_topic_0103545823_li93451675213"><span>(Optional) If the API group contains HTTPS APIs, bind an SSL certificate to the independent domain name test_.</span><p><ol type="a" id="apig_03_0006__en-us_topic_0000001221574215_ol1799111542324"><li id="apig_03_0006__en-us_topic_0000001221574215_li13991165415321">In the row that contains the domain name, click <strong id="apig_03_0006__en-us_topic_0000001221574215_b854515393379">Select SSL Certificate</strong>.</li></ol><ol type="a" start="2" id="apig_03_0006__en-us_topic_0000001221574215_ol2992145419328"><li id="apig_03_0006__en-us_topic_0000001221574215_li2992135493218">Select an SSL certificate and click <strong id="apig_03_0006__en-us_topic_0000001221574215_b13711142203720">OK</strong>.<ul id="apig_03_0006__en-us_topic_0000001221574215_ul867615616168"><li id="apig_03_0006__en-us_topic_0000001221574215_li20676175641611">If a CA certificate has been uploaded for the SSL certificate, you can enable client authentication (HTTPS two-way authentication). <strong id="apig_03_0006__en-us_topic_0000001221574215_b28742914013">Enabling or disabling client authentication will affect the existing services. Exercise caution when performing this operation.</strong></li><li id="apig_03_0006__en-us_topic_0000001221574215_li14676105617167">If no SSL certificate is available, click <strong id="apig_03_0006__en-us_topic_0000001221574215_b11101651114714">Create SSL Certificate</strong> to create one. For details, see <a href="apig_03_0055.html#apig_03_0055">SSL Certificates</a>.</li></ul>
|
||||
</p></li><li id="apig_03_0006__en-us_topic_0000001221574215_en-us_topic_0103545823_li93451675213"><span>(Optional) If the API group contains HTTPS APIs, bind an SSL certificate to the independent domain name.</span><p><ol type="a" id="apig_03_0006__en-us_topic_0000001221574215_ol1799111542324"><li id="apig_03_0006__en-us_topic_0000001221574215_li13991165415321">In the row that contains the domain name, click <strong id="apig_03_0006__en-us_topic_0000001221574215_b854515393379">Select SSL Certificate</strong>.</li></ol><ol type="a" start="2" id="apig_03_0006__en-us_topic_0000001221574215_ol2992145419328"><li id="apig_03_0006__en-us_topic_0000001221574215_li2992135493218">Select an SSL certificate and click <strong id="apig_03_0006__en-us_topic_0000001221574215_b13711142203720">OK</strong>.<ul id="apig_03_0006__en-us_topic_0000001221574215_ul867615616168"><li id="apig_03_0006__en-us_topic_0000001221574215_li20676175641611">If a CA certificate has been uploaded for the SSL certificate, you can enable client authentication (HTTPS two-way authentication). <strong id="apig_03_0006__en-us_topic_0000001221574215_b28742914013">Enabling or disabling client authentication will affect the existing services. Exercise caution when performing this operation.</strong></li><li id="apig_03_0006__en-us_topic_0000001221574215_li14676105617167">If no SSL certificate is available, click <strong id="apig_03_0006__en-us_topic_0000001221574215_b11101651114714">Create SSL Certificate</strong> to create one. For details, see <a href="apig_03_0055.html#apig_03_0055">SSL Certificates</a>.</li></ul>
|
||||
</li></ol>
|
||||
</p></li></ol>
|
||||
</div>
|
||||
|
||||
@ -28,7 +28,7 @@
|
||||
</li>
|
||||
<li class="ulchildlink"><strong><a href="apig_03_0055.html">SSL Certificates</a></strong><br>
|
||||
</li>
|
||||
<li class="ulchildlink test_policy test_"><strong><a href="apig_03_0040.html">Load Balance Channels</a></strong><br>
|
||||
<li class="ulchildlink"><strong><a href="apig_03_0040.html">Load Balance Channels</a></strong><br>
|
||||
</li>
|
||||
<li class="ulchildlink"><strong><a href="apig_03_0041.html">Managing Environments</a></strong><br>
|
||||
</li>
|
||||
|
||||
@ -47,7 +47,7 @@
|
||||
</li></ul>
|
||||
</p></li><li id="apig_03_0019__en-us_topic_0000001221774151_en-us_topic_0000001151883501_li19109142924410"><span>Click <strong id="apig_03_0019__en-us_topic_0000001221774151_b1275410503448">OK</strong>.</span><p><ul id="apig_03_0019__en-us_topic_0000001221774151_ul18334414115613"><li id="apig_03_0019__en-us_topic_0000001221774151_li133351014125618">To clone this policy, click <strong id="apig_03_0019__en-us_topic_0000001221774151_b995111582546">Clone</strong> in the <strong id="apig_03_0019__en-us_topic_0000001221774151_b204471192551">Operation</strong> column.<div class="note" id="apig_03_0019__en-us_topic_0000001221774151_note165441445125319"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><ul id="apig_03_0019__en-us_topic_0000001221774151_ul133541495612"><li id="apig_03_0019__en-us_topic_0000001221774151_li2335181412567">The name of a cloned policy cannot be the same as that of any existing policy.</li><li id="apig_03_0019__en-us_topic_0000001221774151_li1533581455617"><strong id="apig_03_0019__en-us_topic_0000001221774151_b033415153572">Request throttling</strong> and <strong id="apig_03_0019__en-us_topic_0000001221774151_b391031715576">signature key</strong> policies cannot be cloned.</li></ul>
|
||||
</div></div>
|
||||
</li><li id="apig_03_0019__en-us_topic_0000001221774151_li933561485617">After the policy is created, perform the operations described in test_policy <a href="#apig_03_0019__en-us_topic_0000001221774151_en-us_topic_0000001151883501_section020918935713">Binding the Policy to APIs</a> for the policy to take effect for the API.</li></ul>
|
||||
</li><li id="apig_03_0019__en-us_topic_0000001221774151_li933561485617">After the policy is created, perform the operations described in <a href="#apig_03_0019__en-us_topic_0000001221774151_en-us_topic_0000001151883501_section020918935713">Binding the Policy to APIs</a> for the policy to take effect for the API.</li></ul>
|
||||
</p></li></ol>
|
||||
</div>
|
||||
<div class="section" id="apig_03_0019__en-us_topic_0000001221774151_en-us_topic_0000001151883501_section020918935713"><a name="apig_03_0019__en-us_topic_0000001221774151_en-us_topic_0000001151883501_section020918935713"></a><a name="en-us_topic_0000001221774151_en-us_topic_0000001151883501_section020918935713"></a><h4 class="sectiontitle">Binding the Policy to APIs</h4><ol id="apig_03_0019__en-us_topic_0000001221774151_en-us_topic_0000001151883501_ol1356962619589"><li id="apig_03_0019__en-us_topic_0000001221774151_li53566433142"><span>Click a policy name to go to the policy details page.</span></li><li id="apig_03_0019__en-us_topic_0000001221774151_li1350414233155"><span>In the <strong id="apig_03_0019__en-us_topic_0000001221774151_b253612484616">APIs</strong> area, select an environment and click <strong id="apig_03_0019__en-us_topic_0000001221774151_b17559174011464">Select APIs</strong>.</span></li><li id="apig_03_0019__en-us_topic_0000001221774151_li1218216522159"><span>Select the API group, environment, and required APIs.</span></li><li id="apig_03_0019__en-us_topic_0000001221774151_li131891433203"><span>Click <strong id="apig_03_0019__en-us_topic_0000001221774151_b914315914475">OK</strong>.</span><p><ul id="apig_03_0019__en-us_topic_0000001221774151_ul514320193525"><li id="apig_03_0019__en-us_topic_0000001221774151_li16143111911526">If an API no longer needs this policy, click <strong id="apig_03_0019__en-us_topic_0000001221774151_b4321503488">Unbind</strong> in the row that contains the API.</li><li id="apig_03_0019__en-us_topic_0000001221774151_li191431319145211">If there are multiple APIs that no longer need this policy, select these APIs, and click <strong id="apig_03_0019__en-us_topic_0000001221774151_b11659101474819">Unbind</strong> above the API list. You can unbind a policy from a maximum of 1000 APIs at a time.</li></ul>
|
||||
|
||||
8675
docs/ucs/openapi/UCS_openapi3.yaml
Normal file
8675
docs/ucs/openapi/UCS_openapi3.yaml
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user