이 제품의 최신 릴리즈를 사용할 수 있습니다.
본 한국어 번역은 사용자 편의를 위해 제공되는 기계 번역입니다. 영어 버전과 한국어 버전이 서로 어긋나는 경우에는 언제나 영어 버전이 우선합니다.
관리되는 앱을 나열합니다
기여자
다음 스크립트를 사용하여 Astra 계정에 대해 관리되는 응용 프로그램을 나열할 수 있습니다.
#!/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 http_code == 200:
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)