此產品有較新版本可以使用。
本繁體中文版使用機器翻譯,譯文僅供參考,若與英文版本牴觸,應以英文版本為準。
列出託管應用程式
貢獻者
建議變更
您可以使用下列指令碼來列出Astra帳戶的託管應用程式。
請參閱 "開始之前" 以取得所需Json輸入檔的範例。 |
#!/usr/bin/env python3
##------------------------------------------------------------------------------
#
# Usage: python3 list_man_apps.py -i identity_file.json
#
# (C) Copyright 2021 NetApp, Inc.
#
# This sample code is provided AS IS, with no support or warranties of
# any kind, including but not limited for warranties of merchantability
# or fitness of any kind, expressed or implied. Permission to use,
# reproduce, modify and create derivatives of the sample code is granted
# solely for the purpose of researching, designing, developing and
# testing a software application product for use with NetApp products,
# provided that the above copyright notice appears in all copies and
# that the software application product is distributed pursuant to terms
# no less restrictive than those set forth herein.
#
##------------------------------------------------------------------------------
import argparse
import json
import requests
import urllib3
import sys
# Global variables
api_token = ""
account_id = ""
def get_managed_apps():
''' Get and print the list of managed apps '''
# Global variables
global api_token
global account_id
# Create an HTTP session
sess1 = requests.Session()
# Suppress SSL unsigned certificate warning
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
# Create URL
url1 = "https://astra.netapp.io/accounts/" + account_id + "/k8s/v1/managedApps"
# Headers and response output
req_headers = {}
resp_headers = {}
resp_data = {}
# Prepare the request headers
req_headers.clear
req_headers['Authorization'] = "Bearer " + api_token
req_headers['Content-Type'] = "application/astra-managedApp+json"
req_headers['Accept'] = "application/astra-managedApp+json"
# Make the REST call
try:
resp1 = sess1.request('get', url1, headers=req_headers, allow_redirects=True, verify=False)
except requests.exceptions.ConnectionError:
print("Connection failed")
sys.exit(1)
# Retrieve the output
http_code = resp1.status_code
resp_headers = resp1.headers
# Print the list of managed apps
if resp1.ok:
resp_data = json.loads(resp1.text)
items = resp_data['items']
for i in items:
print(" ")
print("Name: " + i['name'])
print("ID: " + i['id'])
print("State: " + i['state'])
else:
print("Failed with HTTP status code: " + str(http_code))
print(" ")
# Close the session
sess1.close()
return
def read_id_file(idf):
''' Read the identity file and save values '''
# Global variables
global api_token
global account_id
with open(idf) as f:
data = json.load(f)
api_token = data['api_token']
account_id = data['account_id']
return
def main(args):
''' Main top level function '''
# Global variables
global api_token
global account_id
# Retrieve name of JSON input file
identity_file = args.id_file
# Get token and account
read_id_file(identity_file)
# Issue REST call
get_managed_apps()
return
def parseArgs():
''' Parse the CLI input parameters '''
parser = argparse.ArgumentParser(description='Astra REST API - List the managed apps',
add_help = True)
parser.add_argument("-i", "--identity", action="store", dest="id_file", default=None,
help='(Req) Name of the identity input file', required=True)
return parser.parse_args()
if __name__ == '__main__':
''' Begin here '''
# Parse input parameters
args = parseArgs()
# Call main function
main(args)