123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- #!/bin/bash
- #
- # Copyright 2024 Apollo Authors
- #
- # Licensed under the Apache License, Version 2.0 (the "License");
- # you may not use this file except in compliance with the License.
- # You may obtain a copy of the License at
- #
- # http://www.apache.org/licenses/LICENSE-2.0
- #
- # Unless required by applicable law or agreed to in writing, software
- # distributed under the License is distributed on an "AS IS" BASIS,
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- # See the License for the specific language governing permissions and
- # limitations under the License.
- #
- # title openapi-usage-example.sh
- # description show how to use openapi.sh
- # author wxq
- # date 2021-09-12
- # Chinese reference website https://www.apolloconfig.com/#/zh/portal/apollo-open-api-platform
- # English reference website https://www.apolloconfig.com/#/en/portal/apollo-open-api-platform
- # export global variables
- export APOLLO_PORTAL_ADDRESS=http://106.54.227.205
- export APOLLO_OPENAPI_TOKEN=284fe833cbaeecf2764801aa73965080b184fc88
- export CURL_OPTIONS=""
- # load functions
- source openapi.sh
- # set up global environment variable
- APOLLO_APP_ID=openapi
- APOLLO_ENV=DEV
- APOLLO_CLUSTER=default
- APOLLO_USER=apollo
- ####################################### cluster #######################################
- # get cluster
- printf "get cluster: env = '%s', app id = '%s', cluster = '%s'\n" ${APOLLO_ENV} ${APOLLO_APP_ID} ${APOLLO_CLUSTER}
- cluster_get ${APOLLO_ENV} ${APOLLO_APP_ID} ${APOLLO_CLUSTER}
- printf "\n\n"
- # create cluster. To forbid cluster xxx already exists, add timestamp to suffix
- temp_apollo_cluster="cluster-$(date +%s)"
- printf "create cluster: env = '%s', app id = '%s', cluster = '%s'\n" ${APOLLO_ENV} ${APOLLO_APP_ID} ${temp_apollo_cluster}
- cluster_create ${APOLLO_ENV} ${APOLLO_APP_ID} ${temp_apollo_cluster} ${APOLLO_USER}
- printf "\n\n"
- ####################################### end of cluster #######################################
- ####################################### namespace #######################################
- # create namespace
- temp_namespace_name="application-123"
- temp_namespace_format=yaml
- echo "create namespace: namespace name = '${temp_namespace_name}', app id = '${APOLLO_APP_ID}', format = '${temp_namespace_format}'"
- namespace_create ${APOLLO_APP_ID} ${temp_namespace_name} ${temp_format} false 'create by openapi, bash scripts' ${APOLLO_USER}
- printf "\n\n"
- ####################################### end of namespace #######################################
- ####################################### item #######################################
- # create an item, i.e a key value pair
- temp_item_key="openapi-usage-create-item-key-$(date +%s)"
- temp_item_value="openapi-usage-create-item-value-$(date +%s)"
- echo -e "create item: app id = ${APOLLO_APP_ID} env = ${APOLLO_ENV} key = ${temp_item_key} value = ${temp_item_value}"
- item_create ${APOLLO_ENV} ${APOLLO_APP_ID} default application ${temp_item_key} ${temp_item_value} "openapi-create-item" ${APOLLO_USER}
- printf "\n\n"
- # update an item
- echo "show update failed when item key not exists"
- sleep 1
- temp_item_key="openapi-usage-update-item-key-$(date +%s)"
- temp_item_value="openapi-usage-update-item-value-$(date +%s)"
- item_update ${APOLLO_ENV} ${APOLLO_APP_ID} default application ${temp_item_key} ${temp_item_value} "openapi-update-item" ${APOLLO_USER}
- printf "\n\n"
- echo "show after created, update success"
- item_create ${APOLLO_ENV} ${APOLLO_APP_ID} default application ${temp_item_key} ${temp_item_value} "openapi-create-item" ${APOLLO_USER}
- temp_item_value="item-update-success"
- printf "\n"
- item_update ${APOLLO_ENV} ${APOLLO_APP_ID} default application ${temp_item_key} ${temp_item_value} "openapi-update-item" ${APOLLO_USER}
- printf "\n\n"
- echo "show Update an item of a namespace, if item doesn't exist, create it"
- sleep 1
- temp_item_key="openapi-usage-item_update_create_if_not_exists-key-$(date +%s)"
- temp_item_value="openapi-usage-item_update_create_if_not_exists-value-$(date +%s)"
- echo "create it, key = '${temp_item_key}' value = '${temp_item_value}'"
- item_update_create_if_not_exists ${APOLLO_ENV} ${APOLLO_APP_ID} default application ${temp_item_key} ${temp_item_value} "openapi-update-item" ${APOLLO_USER} ${APOLLO_USER}
- temp_item_value="openapi-value-of-item_update_create_if_not_exists"
- echo "update it, key = '${temp_item_key}' value = '${temp_item_value}'"
- item_update_create_if_not_exists ${APOLLO_ENV} ${APOLLO_APP_ID} default application ${temp_item_key} ${temp_item_value} "openapi-update-item" ${APOLLO_USER} ${APOLLO_USER}
- printf "\n\n"
- echo "show delete item failed"
- item_delete ${APOLLO_ENV} ${APOLLO_APP_ID} default application "key-be-deleted" ${APOLLO_USER}
- printf "\nshow delete item success\n"
- item_delete ${APOLLO_ENV} ${APOLLO_APP_ID} default application ${temp_item_key} ${APOLLO_USER}
- printf "\n\n"
- ####################################### end of item #######################################
- ####################################### namespace release #######################################
- temp_namespace_name="application-$(date +%s)"
- temp_namespace_format=properties
- echo -e "create namespace: namespace name = '${temp_namespace_name}', app id = '${APOLLO_APP_ID}', format = '${temp_namespace_format}'"
- namespace_create ${APOLLO_APP_ID} ${temp_namespace_name} ${temp_namespace_format} false 'create by openapi, bash scripts for release' ${APOLLO_USER}
- echo -e "\ncreate or update an item '${temp_item_key}'='${temp_item_value}'"
- item_update_create_if_not_exists ${APOLLO_ENV} ${APOLLO_APP_ID} default ${temp_namespace_name} ${temp_item_key} ${temp_item_value} "openapi-update-item" ${APOLLO_USER} ${APOLLO_USER}
- echo -e "\nrelease namespace: '${temp_namespace_name}'"
- namespace_release ${APOLLO_ENV} ${APOLLO_APP_ID} ${APOLLO_CLUSTER} ${temp_namespace_name} 'releaseTitle-openapi-2021-01-01' 'releaseComment-openapi' ${APOLLO_USER}
- printf "\n\n"
- ####################################### end of namespace release #######################################
|