### Example: All-in-One Appliance Setup Source: https://www.ibm.com/docs/en/cloud-paks/cloud-pak-aiops/4.12.0?topic=management-installing-vmware-vsphere-appliance This example demonstrates setting up an all-in-one appliance as a local database and messaging appliance, and then starting the MIQ Server. It combines several configuration options for a comprehensive setup. ```bash # This is a conceptual example combining multiple options. # Actual command may vary based on specific requirements. appliance_console_cli \ --region 1 \ --internal \ --dbdisk /dev/sdb \ --message-server-config \ --message-persistent-disk \ --key \ --host appliance.local \ --ipaserver ipa.local \ --uninstall-ipa \ --postgres-server-cert \ --logdisk /dev/sdc \ --tmpdisk \ --verbose # After configuration, start MIQ Server (command not shown in original text) # Example: systemctl start vmware-vami-sso vmware-vami-registration vmware-vmiq-server ``` -------------------------------- ### Install and Start MongoDB (Bash) Source: https://www.ibm.com/docs/en/cloud-paks/cloud-pak-aiops/4.12.0?topic=administration-deployment-planning-guide Installs the MongoDB server package and configures it to use the '--smallfiles' option for optimized storage. It then starts the MongoDB service. ```bash # yum install mongodb-server # sed -i '/--smallfiles/!s/OPTIONS="/OPTIONS="--smallfiles /' /etc/sysconfig/mongod # service mongod start ``` -------------------------------- ### GET /api/vms - Example with Pagination Source: https://www.ibm.com/docs/en/cloud-paks/cloud-pak-aiops/4.12.0?topic=overview-pagination This example demonstrates how to make a GET request to the /api/vms endpoint with offset and limit query parameters to control pagination. It also shows the structure of the response, including pagination metadata. ```APIDOC ## GET /api/vms ### Description Retrieves a paginated list of virtual machines with options to specify offset, limit, sorting, and expansion of resources. ### Method GET ### Endpoint /api/vms ### Parameters #### Query Parameters - **offset** (integer) - Optional - The starting point for fetching resources. - **limit** (integer) - Optional - The maximum number of resources to return per page. Defaults to 1000 if not specified and the collection is large. - **sort_by** (string) - Optional - The field to sort the results by. - **expand** (string) - Optional - Specifies related resources to include in the response. ### Request Example ``` GET /api/vms?offset=2&limit=2&sort_by=name&expand=resources ``` ### Response #### Success Response (200) - **name** (string) - The name of the resource collection. - **count** (integer) - The total number of resources available. - **subcount** (integer) - The number of resources returned in the current response. - **pages** (integer) - The total number of pages available for the specified limit. - **resources** (array) - An array of resource objects. - **actions** (array) - An array of available actions. - **links** (object) - Contains URLs for navigating through pages (self, next, previous, first, last). #### Response Example ```json { "name": "vms", "count": 7, "subcount": 2, "pages": 4, "resources": [ { "href": "http://localhost:3000/api/vms/7254", "id": "7254", "vendor": "vmware", "name": "test-vm1", ... }, { "href": "http://localhost:3000/api/vms/7257", "id": "7257", "vendor": "vmware", "name": "test-vm2", ... } ], "actions": [ ... ], "links": { "self": "http://localhost:3000/api/vms?offset=2&limit=2&sort_by=name&expand=resources", "next": "http://localhost:3000/api/vms?offset=4&limit=2&sort_by=name&expand=resources", "previous": "http://localhost:3000/api/vms?offset=0&limit=2&sort_by=name&expand=resources", "first": "http://localhost:3000/api/vms?offset=0&limit=2&sort_by=name&expand=resources", "last": "http://localhost:3000/api/vms?offset=6&limit=2&sort_by=name&expand=resources" } } ``` ### Notes - Pagination is enabled by default. The default maximum results per page is 1000. - The `previous` link is omitted when on the first page (offset = 0). - The `next` link is omitted when on the last page. - If `limit` exceeds `max_results_per_page`, the result will be capped at `max_results_per_page`. ``` -------------------------------- ### Probe Installation and Execution Source: https://www.ibm.com/docs/en/cloud-paks/cloud-pak-aiops/4.12.0?topic=ua-getting-started Commands to verify the probe installation via help flags and to start the probe process using a specific properties file. ```bash $NCHOME/omnibus/probes/nco_p_opc_ua -help ``` ```bash $NCHOME/omnibus/probes/nco_p_opc_ua \ -propsfile $NCHOME/omnibus/probes/linux2x86/opc_ua.props \ -messagelevel debug ``` -------------------------------- ### Get Server GUID (Appliance) Source: https://www.ibm.com/docs/en/cloud-paks/cloud-pak-aiops/4.12.0?topic=upgrading-migrate-from-appliance-based-kubernetes-based-infrastructure-management-installation This command retrieves the GUID of the server that you intend to run as from the Infrastructure Management appliance. It reads the GUID from the `GUID` file. ```bash vmdb && cat GUID ``` -------------------------------- ### Initialize All-in-One Appliance Source: https://www.ibm.com/docs/en/cloud-paks/cloud-pak-aiops/4.12.0?topic=management-installing-red-hat-openstack-platform-appliance Command to set up an all-in-one appliance as a local database and messaging appliance, and start the MIQ Server. Includes options for database disk, region, password, and messaging server configuration. ```bash # appliance_console_cli --internal --dbdisk /dev/sdb --region 0 --password smartvm --message-server-config --message-keystore-password smartvm --server=start ``` -------------------------------- ### Start ObjectServer and Gateway Services Source: https://www.ibm.com/docs/en/cloud-paks/cloud-pak-aiops/4.12.0?topic=fips-enabling-support-netcool-integration Commands to initialize the ObjectServer and bidirectional gateway using specific properties files. ```bash $OMNIHOME/bin/nco_objserv -name -propsfile & $OMNIHOME/bin/nco_g_objserv_bi -propsfile & ``` -------------------------------- ### Display Probe Command Line Options Source: https://www.ibm.com/docs/en/cloud-paks/cloud-pak-aiops/4.12.0?topic=i-getting-started This command displays the available command-line options for the nco_p_hp_nnm probe, helping to verify its installation and understand its configuration parameters. The output typically starts with 'Using IBM Java Version 1.8.0'. ```bash $NCHOME/omnibus/probes/nco_p_hp_nnm -help ``` -------------------------------- ### Verify ObjectServer Connectivity with ping Source: https://www.ibm.com/docs/en/cloud-paks/cloud-pak-aiops/4.12.0?topic=i-getting-started This command checks if the server where the probe is installed can reach the ObjectServer. It requires the server name where the ObjectServer is running as input. ```bash ping -c 10 server-name ``` -------------------------------- ### Kickstart Pre-Install Script for Floppy Mount Source: https://www.ibm.com/docs/en/cloud-paks/cloud-pak-aiops/4.12.0?topic=providers-provisioning This script demonstrates how to mount a floppy drive and include a Kickstart configuration file (ks.cfg) from it during the pre-installation phase. It requires the 'floppy' module to be loaded and assumes the floppy device is '/dev/fd0'. ```shell ### Pre Install Scripts %pre # Mount the floppy drive modprobe floppy mkdir /tmp/floppy mount /dev/fd0 /tmp/floppy %end # Include ks.cfg file from the floppy (written by CFME based on selected customization template) %include /tmp/floppy/ks.cfg ``` -------------------------------- ### Construct Topology with Relationships and MatchTokens Source: https://www.ibm.com/docs/en/cloud-paks/cloud-pak-aiops/4.12.0?topic=jobs-file-observer A comprehensive example showing how to define multiple resources, establish relationships via edges, and configure matchTokens for alert correlation. This syntax allows for complex topology mapping within the File Observer. ```text V:{"uniqueId":"Thomas J. Watson","entityTypes":["person"],"name":"Watson"} V:{"uniqueId":"IBM","entityTypes":["company","domain"],"name":"IBM","_references":[{"_edgeType":"owns","_toUniqueId":"Cloud Pak for AIOps"},{"_edgeType":"contributedTo", "_fromUniqueId":"Thomas J. Watson"}]} V:{"uniqueId":"Cloud Pak for AIOps","entityTypes":["ai"],"name":"Watson","platform":"OCP","matchTokens":["AIOps","Cloud Pak for AIOps"]} ``` -------------------------------- ### Example PostgreSQL Configuration File Source: https://www.ibm.com/docs/en/cloud-paks/cloud-pak-aiops/4.12.0?topic=administration-deployment-planning-guide This snippet shows an example PostgreSQL configuration file for a dedicated appliance. It details various parameters for file locations, connections, and authentication, along with explanations for each setting and notes on when changes require a server restart or reload. ```postgresql # ----------------------------- # PostgreSQL configuration file - MIQ Dedicated Appliance Configuration # ----------------------------- # # This file consists of lines of the form: # # name = value # # (The "=" is optional.) Whitespace may be used. Comments are introduced with # "#" anywhere on a line. The complete list of parameter names and allowed # values can be found in the PostgreSQL documentation. # # The commented-out settings shown in this file represent the default values. # Re-commenting a setting is NOT sufficient to revert it to the default value; # you need to reload the server. # # This file is read on server startup and when the server receives a SIGHUP # signal. If you edit the file on a running system, you have to SIGHUP the # server for the changes to take effect, or use "pg_ctl reload". Some # parameters, which are marked below, require a server shutdown and restart to # take effect. # # Any parameter can also be given as a command-line option to the server, e.g., # "postgres -c log_connections=on". Some parameters can be changed at run time # with the "SET" SQL command. # # Memory units: kB = kilobytes Time units: ms = milliseconds # MB = megabytes s = seconds # GB = gigabytes min = minutes # h = hours # d = days #------------------------------------------------------------------------------ # FILE LOCATIONS #------------------------------------------------------------------------------ # The default values of these variables are driven from the -D command-line # option or PGDATA environment variable, represented here as ConfigDir. #data_directory = 'ConfigDir' # use data in another directory # (change requires restart) #hba_file = 'ConfigDir/pg_hba.conf' # host-based authentication file # (change requires restart) #ident_file = 'ConfigDir/pg_ident.conf' # ident configuration file # (change requires restart) # If external_pid_file is not explicitly set, no extra PID file is written. #external_pid_file = '(none)' # write an extra PID file # (change requires restart) #------------------------------------------------------------------------------ # CONNECTIONS AND AUTHENTICATION #------------------------------------------------------------------------------ ``` -------------------------------- ### Example Output of a Validated Installation Manager Repository Source: https://www.ibm.com/docs/en/cloud-paks/cloud-pak-aiops/4.12.0?topic=repository-validating-installation-manager An example of the expected output when listing available packages from a properly configured Installation Manager repository. This output typically includes offerings like WebSphere Application Server, JDK, and Installation Manager itself. ```text com.ibm.cic.agent_1.8.6001.20170428_1156 com.ibm.java.jdk.v8_8.0.5000.20170906_1259 com.ibm.websphere.BASE.v90_9.0.4.20170523_1327 com.ibm.websphere.ND.v90_9.0.4.20170523_1327 com.ibm.websphere.IHS.v90_9.0.4.20170523_1327 com.ibm.websphere.PLG.v90_9.0.4.20170523_1327 ``` -------------------------------- ### Verify ObjectServer Connectivity with nco_ping Source: https://www.ibm.com/docs/en/cloud-paks/cloud-pak-aiops/4.12.0?topic=i-getting-started An alternative method to check connectivity to the ObjectServer using the nco_ping utility, which is available if the Netcool/OMNIbus desktop feature is installed. It requires the name of the ObjectServer as input. ```bash nco_ping object-server ``` -------------------------------- ### Configure Appliance via CLI Source: https://www.ibm.com/docs/en/cloud-paks/cloud-pak-aiops/4.12.0?topic=management-installing-google-compute-engine-appliance Examples of using the appliance_console_cli to perform administrative tasks like setting up messaging, joining regions, and managing database disks. ```bash # Set up an all-in-one appliance appliance_console_cli --internal --dbdisk /dev/sdb --region 0 --password smartvm --message-server-config --message-keystore-password smartvm --server=start # Join a worker appliance to an existing region appliance_console_cli --fetch-key db.example.com --sshlogin root --sshpassword smartvm --hostname db.example.com --password mydatabasepassword --message-client-config --message-server-host db.example.com --message-server-password smartvm --message-keystore-password smartvm --server start # Create a new local database appliance_console_cli --internal --dbdisk /dev/sdb --region 0 --password smartvm # Fetch v2_key from a remote host appliance_console_cli --fetch-key some.example.com --sshlogin root --sshpassword smartvm # Configure messaging server appliance_console_cli --message-server-config --message-keystore-password="smartvm" ``` -------------------------------- ### Check cam-tenant-api Pod Status and Logs Source: https://www.ibm.com/docs/en/cloud-paks/cloud-pak-aiops/4.12.0?topic=troubleshooting-installation Use kubectl commands to check the status of the 'cam-tenant-api' pod and retrieve its logs if it fails to start. This helps diagnose issues like 'Failed to get IAM access token'. ```bash kubectl describe pods -n cp4aiops kubectl -n cp4aiops logs cam-mongo-5c89fcccbd-r2hv4 ``` -------------------------------- ### Probe Execution and Help Commands Source: https://www.ibm.com/docs/en/cloud-paks/cloud-pak-aiops/4.12.0?topic=snmp-getting-started Commands to display probe help documentation and to launch the probe process using a specific properties file. ```bash $NCHOME/omnibus/probes/linux2x86/nco_p_mttrapd -help $NCHOME/omnibus/probes/linux2x86/nco_p_mttrapd \ -propsfile $NCHOME/omnibus/probes/linux2x86/mttrapd.props -messagelevel debug ``` -------------------------------- ### Configure Messaging Client Options Source: https://www.ibm.com/docs/en/cloud-paks/cloud-pak-aiops/4.12.0?topic=management-installing-red-hat-openstack-platform-appliance Options to configure the appliance as a messaging client, connecting to an existing messaging server. This includes specifying the server host, credentials, and keystore password. ```bash # appliance_console_cli --fetch-key db.example.com --sshlogin root --sshpassword smartvm --hostname db.example.com --password mydatabasepassword --message-client-config --message-server-host db.example.com --message-server-password smartvm --message-keystore-password smartvm --server start ``` -------------------------------- ### Example Installation of SQL Scripts on UNIX Source: https://www.ibm.com/docs/en/cloud-paks/cloud-pak-aiops/4.12.0?topic=automation-enabling-automatic-acknowledgement-events These examples demonstrate the installation of the update_scom_unix.sql and auto_acknowledge_trigger_unix.sql scripts on a Solaris 2 operating system. The user 'root' is used with an empty password, and the ObjectServer is named 'NCOMS'. ```bash cat $OMNIHOME/probes/solaris2/update_scom_unix.sql | $OMNIHOME/bin/nco_sql -user root -password "" -server NCOMS cat $OMNIHOME/probes/solaris2/auto_acknowledge_trigger_unix.sql | $OMNIHOME/bin/nco_sql -user root -password "" -server NCOMS ``` -------------------------------- ### Example Provisioning Workflow Definition Source: https://www.ibm.com/docs/en/cloud-paks/cloud-pak-aiops/4.12.0?topic=management-managing-providers This JSON defines a workflow for provisioning a VMware VM. It uses AWS Step Functions-like syntax to define states such as cloning a template, checking task completion, polling, powering on the VM, and handling success or failure. ```json { "Comment": "Provision a VMware VM.", "StartAt": "CloneTemplate", "States": { "CloneTemplate": { "Type": "Task", "Resource": "docker://docker.io/manageiq/workflows-examples-clone-template:latest", "Next": "CheckTaskComplete", "Credentials": { "api_user.$": "$.api_user", "api_password.$": "$.api_password", "vcenter_user.$": "$.vcenter_user", "vcenter_password.$": "$.vcenter_password" }, "Parameters": { "PROVIDER_ID.$": "$.dialog_provider", "VERIFY_SSL": false, "TEMPLATE.$": "$.dialog_source_template", "NAME.$": "$.dialog_vm_name" } }, "CheckTaskComplete": { "Type": "Task", "Resource": "docker://docker.io/manageiq/workflows-examples-check-task-complete:latest", "Next": "PollTaskComplete", "Credentials": { "vcenter_user.$": "$.vcenter_user", "vcenter_password.$": "$.vcenter_password" }, "Parameters": { "VCENTER_HOST.$": "$.vcenter_host", "TASK.$": "$.task" } }, "PollTaskComplete": { "Type": "Choice", "Choices": [ { "Variable": "$.state", "StringEquals": "success", "Next": "PowerOnVM" }, { "Variable": "$.state", "StringEquals": "running", "Next": "RetryState" }, { "Variable": "$.state", "StringEquals": "error", "Next": "FailState" } ], "Default": "FailState" }, "RetryState": { "Type": "Wait", "Seconds": 5, "Next": "CheckTaskComplete" }, "PowerOnVM": { "Type": "Task", "Resource": "docker://docker.io/manageiq/workflows-examples-power-on-vm:latest", "Next": "SuccessState", "Credentials": { "vcenter_user.$": "$.vcenter_user", "vcenter_password.$": "$.vcenter_password" }, "Parameters": { "VCENTER_HOST.$": "$.vcenter_host", "VM.$": "$.vm" } }, "FailState": { "Type": "Fail", "Error": "FailStateError", "Cause": "No Matches!" }, "SuccessState": { "Type": "Succeed" } } } ``` -------------------------------- ### Configure Hostname and Hosts File (Bash) Source: https://www.ibm.com/docs/en/cloud-paks/cloud-pak-aiops/4.12.0?topic=restore-backup-infrastructure-management-appliances Sets the hostname for the new appliance and updates the /etc/hosts file to map the IP address to the new hostname. This is a crucial first step before restoring the appliance. ```bash hostnamectl hostname your-new-hostname.example.com echo "your.ip.address your-new-hostname.example.com your-new-hostname" >> /etc/hosts ``` -------------------------------- ### Start the nco_p_hp_nnm Probe Source: https://www.ibm.com/docs/en/cloud-paks/cloud-pak-aiops/4.12.0?topic=i-getting-started This command starts the nco_p_hp_nnm probe with specified properties file and message level. It requires the path to the properties file and the desired message level as input. ```bash $NCHOME/omnibus/probes/nco_p_hp_nnm -propsfile $NCHOME/omnibus/probes/linux2x86/hp_nnm.props -messagelevel debug ``` -------------------------------- ### Example Custom Resource (CR) for IMInstall Source: https://www.ibm.com/docs/en/cloud-paks/cloud-pak-aiops/4.12.0?topic=upgrading-migrate-from-appliance-based-kubernetes-based-infrastructure-management-installation An example of a complete Custom Resource (CR) for Infrastructure Management (IM) installation, including metadata labels, namespace, and additional spec fields like imagePullSecret, enableSSO, and license acceptance. This CR is used to deploy the Infrastructure Management operator. ```yaml apiVersion: infra.management.ibm.com/v1alpha1 kind: IMInstall metadata: labels: app.kubernetes.io/instance: ibm-infra-management-install-operator app.kubernetes.io/managed-by: ibm-infra-management-install-operator app.kubernetes.io/name: ibm-infra-management-install-operator name: im-iminstall namespace: c4waiops spec: applicationDomain: inframgmtinstall.apps.mycluster.com databaseRegion: '99' serverGuid: imagePullSecret: my-pull-secret enableSSO: true initialAdminGroupName: inframgmtusers license: accept: true ``` -------------------------------- ### Configure Appliance via CLI Source: https://www.ibm.com/docs/en/cloud-paks/cloud-pak-aiops/4.12.0?topic=management-installing-aws-appliance Examples of using the appliance_console_cli to perform common administrative tasks such as joining regions, configuring messaging, and managing keys. ```bash # Set up an all-in-one appliance appliance_console_cli --internal --dbdisk /dev/sdb --region 0 --password smartvm --message-server-config --message-keystore-password smartvm --server=start ``` ```bash # Join a worker appliance to an existing region appliance_console_cli --fetch-key db.example.com --sshlogin root --sshpassword smartvm --hostname db.example.com --password mydatabasepassword --message-client-config --message-server-host db.example.com --message-server-password smartvm --message-keystore-password smartvm --server start ``` ```bash # Create a new local database appliance_console_cli --internal --dbdisk /dev/sdb --region 0 --password smartvm ``` ```bash # Fetch v2_key from a remote host appliance_console_cli --fetch-key some.example.com --sshlogin root --sshpassword smartvm ``` ```bash # Configure messaging server appliance_console_cli --message-server-config --message-keystore-password="smartvm" ``` -------------------------------- ### Get IBM Cloud Pak for AIOps Installation Name Source: https://www.ibm.com/docs/en/cloud-paks/cloud-pak-aiops/4.12.0?topic=oadp-backing-up-cloud-pak-aiops Retrieves the name of the IBM Cloud Pak for AIOps installation by querying the OpenShift cluster. This name is required for configuring backup parameters. ```bash oc get installation.orchestrator.aiops.ibm.com -n ${AIOPS_NAMESPACE} ``` -------------------------------- ### Manage v2_key Options via CLI Source: https://www.ibm.com/docs/en/cloud-paks/cloud-pak-aiops/4.12.0?topic=management-installing-vmware-vsphere-appliance This section describes the CLI options for managing v2 keys, including creating new keys, fetching keys from a host, and forcing key creation or fetching even if a key already exists. It also covers SSH login credentials for fetching keys. ```bash # Example: Create a new v2_key, forcing if it exists appliance_console_cli --key --force-key # Example: Fetch v2_key from a host appliance_console_cli --fetch-key --sshlogin admin --sshpassword adminpass ``` -------------------------------- ### Get Deployed Service Instances: GET Call Source: https://www.ibm.com/docs/en/cloud-paks/cloud-pak-aiops/4.12.0?topic=apis-service-service-instance Retrieves a list of all deployed service instances within the specified tenant and organization. It requires authentication via a bearer token and includes parameters for tenant ID, organization GUID, and space GUID. The response is a JSON array of service instances. ```curl curl -k -X GET \ -H "Authorization: Bearer ${TSA_BEARER_TOKEN}" "https://${TSA_HOSTNAME}/cam/composer/api/v1/ServiceInstances?tenantId=${TSA_TENANT_ID}&ace_orgGuid=${MCM_TEAM}&cloudOE_spaceGuid=${NAMESPACE}" ``` -------------------------------- ### Example Query: VMs by Creation Date and Name Pattern Source: https://www.ibm.com/docs/en/cloud-paks/cloud-pak-aiops/4.12.0?topic=overview-collection-filtering Shows how to query for Virtual Machines (VMs) that were created after a specific date and whose names match a given pattern using wildcards. ```http GET /api/vms?expand=resources&attributes=name,vendor&filter[]=created_on>2019-09-01&filter[]=name='sample%' ``` -------------------------------- ### Example Query: VMs by Creation Date (Before) Source: https://www.ibm.com/docs/en/cloud-paks/cloud-pak-aiops/4.12.0?topic=overview-collection-filtering Demonstrates how to query for VMs created before a specific date using the 'Less Than' operator. ```http GET /api/vms?expand=resources&filter[]=created_on<2023-01-01 ``` -------------------------------- ### GET /1.0/topology/resources/{resourceId} Source: https://www.ibm.com/docs/en/cloud-paks/cloud-pak-aiops/4.12.0?topic=rules-defining-merge Retrieves a specific resource from the topology. Examples show individual, composite, and merged resources. ```APIDOC ## GET /1.0/topology/resources/{resourceId} ### Description Retrieves a specific resource from the topology based on its ID. This endpoint is used to view individual resources, composite resources, and understand how resources are merged. ### Method GET ### Endpoint `https:///1.0/topology/resources/{resourceId}` ### Parameters #### Path Parameters - **resourceId** (string) - Required - The unique identifier of the resource to retrieve. ### Request Example (No request body for GET requests) ### Response #### Success Response (200) - **_id** (string) - The unique identifier of the resource. - **name** (string) - The name of the resource. - **entityTypes** (array of strings) - The types of entities the resource belongs to. - **tokens** (array of strings) - Tokens associated with the resource, used for merging. - **_compositeId** (string) - (Optional) The ID of the composite resource if this resource is part of a merge. - **_compositeOfIds** (array of strings) - (Optional) A list of IDs of resources that form this composite resource. - **[other properties]** - Any additional properties specific to the resource, including merged properties from other resources. #### Response Example ```json { "_id": "ABC", "name": "host1", "propertyAbc": "This property only exists on ABC", "entityTypes": [ "host" ], "tokens": [ "host1MergeToken" ], "_compositeId": "XYZ" } ``` ``` -------------------------------- ### Download and Install kubectl Source: https://www.ibm.com/docs/en/cloud-paks/cloud-pak-aiops/4.12.0?topic=administration-cli-tools Commands to download the kubectl binary from the cluster API, set the necessary file permissions, and move the binary to a system-wide executable directory. ```bash curl -kLo kubectl-linux-amd64-v1.13.11 https:///api/cli/kubectl-linux-amd64 chmod 755 / sudo mv / /usr/local/bin/kubectl ``` -------------------------------- ### GET /api/services Source: https://www.ibm.com/docs/en/cloud-paks/cloud-pak-aiops/4.12.0?topic=overview-crud Retrieves a collection of services from the system. ```APIDOC ## GET /api/services ### Description Retrieves a list of all available services. ### Method GET ### Endpoint /api/services ### Request Example curl --user admin:smartvm -i -X GET -H "Accept: application/json" http://localhost:3000/api/services ### Response #### Success Response (200) - **services** (array) - A list of service objects. ```