#!/usr/bin/env python """ * ******************************************************* * Copyright (c) VMware, Inc. 2016. All Rights Reserved. * SPDX-License-Identifier: MIT * ******************************************************* * * DISCLAIMER. THIS PROGRAM IS PROVIDED TO YOU "AS IS" WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, WHETHER ORAL OR WRITTEN, * EXPRESS OR IMPLIED. THE AUTHOR SPECIFICALLY DISCLAIMS ANY IMPLIED * WARRANTIES OR CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, * NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE. """ __author__ = 'VMware, Inc.' __copyright__ = 'Copyright 2018 VMware, Inc. All rights reserved.' __vcenter_version__ = '6.7+' from tabulate import tabulate from vmware.vapi.vsphere.client import create_vsphere_client from samples.vsphere.common.ssl_helper import get_unverified_session from samples.vsphere.common import sample_cli from samples.vsphere.common import sample_util class ListServices(object): """ Demonstrates the details of vCenter Services Retrieves the vCenter Services, its Health Status and Service Startup Type. Prerequisites: - vCenter Server """ def __init__(self): # Create argument parser for standard inputs: # server, username, password and skipverification parser = sample_cli.build_arg_parser() args = sample_util.process_cli_args(parser.parse_args()) # Skip server cert verification if needed. # This is not recommended in production code. session = get_unverified_session() if args.skipverification else None # Connect to vSphere client self.client = create_vsphere_client(server=args.server, username=args.username, password=args.password, session=session) def run(self): services_list = self.client.vcenter.services.Service.list_details() table = [] for key, value in services_list.items(): row = [key, value.name_key, value.health, value.state, value.startup_type] table.append(row) headers = ["Service Name", "Service Name Key", "Service Health", "Service Status", "Service Startup Type"] print(tabulate(table, headers)) def main(): list_services = ListServices() list_services.run() if __name__ == '__main__': main()