CChenyt26[TicketNo:]
9cea39d6创建于 2022年7月7日历史提交
import * as core from '@actions/core';
import {Constants} from '../Constants';
import {HcClient} from '@huaweicloud/huaweicloud-sdk-core/HcClient';
import {ClientBuilder} from '@huaweicloud/huaweicloud-sdk-core/ClientBuilder';
import {ListNetworkingCciIoV1beta1NamespacedNetworkRequest} from './model/ListNetworkingCciIoV1beta1NamespacedNetworkRequest';
import {ListNetworkingCciIoV1beta1NamespacedNetworkResponse} from './model/ListNetworkingCciIoV1beta1NamespacedNetworkResponse';
import {ReadCoreV1NamespaceRequest} from './model/ReadCoreV1NamespaceRequest';
import {ReadCoreV1NamespaceResponse} from './model/ReadCoreV1NamespaceResponse';

export class CciClient {
  public static newBuilder(): ClientBuilder<CciClient> {
    return new ClientBuilder<CciClient>(newClient);
  }

  private hcClient: HcClient;
  public constructor(client: HcClient) {
    this.hcClient = client;
  }

  public getPath() {
    return __dirname;
  }

  /**
   * 查询指定namespace下的所有Network对象。
   * @param {string} namespace cci命名空间
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   */
  public listNetworkingCciIoV1beta1NamespacedNetwork(
    listNetworkingCciIoV1beta1NamespacedNetworkRequest?: ListNetworkingCciIoV1beta1NamespacedNetworkRequest
  ): Promise<ListNetworkingCciIoV1beta1NamespacedNetworkResponse> {
    const options = ParamCreater().listNetworkingCciIoV1beta1NamespacedNetwork(
      listNetworkingCciIoV1beta1NamespacedNetworkRequest
    );
    return this.hcClient.sendRequest(options);
  }

  /**
   * 查询Namespace的详细信息。
   * @param {string} namespace cci命名空间
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   */
  public readCoreV1Namespace(
    readCoreV1NamespaceRequest?: ReadCoreV1NamespaceRequest
  ): Promise<ReadCoreV1NamespaceResponse> {
    const options = ParamCreater().readCoreV1Namespace(
      readCoreV1NamespaceRequest
    );
    return this.hcClient.sendRequest(options);
  }
}

export const ParamCreater = function () {
  return {
    /**
     * 查询指定namespace下的所有Network对象。
     */
    listNetworkingCciIoV1beta1NamespacedNetwork(
      listNetworkingCciIoV1beta1NamespacedNetworkRequest?: ListNetworkingCciIoV1beta1NamespacedNetworkRequest
    ) {
      const options = {
        method: Constants.METHOD_GET,
        url: '/apis/networking.cci.io/v1beta1/namespaces/{namespace}/networks',
        contentType: Constants.CONTENT_TYPEAPPLICATION_JSON,
        queryParams: {},
        pathParams: {},
        headers: {},
        data: {}
      };
      const localVarHeaderParameter = {} as any;

      let namespace;

      if (
        listNetworkingCciIoV1beta1NamespacedNetworkRequest !== null &&
        listNetworkingCciIoV1beta1NamespacedNetworkRequest !== undefined
      ) {
        if (
          listNetworkingCciIoV1beta1NamespacedNetworkRequest instanceof
          ListNetworkingCciIoV1beta1NamespacedNetworkRequest
        ) {
          namespace =
            listNetworkingCciIoV1beta1NamespacedNetworkRequest.namespace;
        } else {
          namespace =
            listNetworkingCciIoV1beta1NamespacedNetworkRequest['namespace'];
        }
      }

      if (namespace === null || namespace === undefined) {
        core.setFailed('input parameters namespace is not correct.');
      }

      options.pathParams = {namespace: namespace};
      options.headers = localVarHeaderParameter;
      return options;
    },

    /**
     * 查询Namespace的详细信息。
     */
    readCoreV1Namespace(
      readCoreV1NamespaceRequest?: ReadCoreV1NamespaceRequest
    ) {
      const options = {
        method: Constants.METHOD_GET,
        url: '/api/v1/namespaces/{namespace}',
        contentType: Constants.CONTENT_TYPEAPPLICATION_JSON,
        queryParams: {},
        pathParams: {},
        headers: {},
        data: {}
      };
      const localVarHeaderParameter = {} as any;

      let namespace;

      if (
        readCoreV1NamespaceRequest !== null &&
        readCoreV1NamespaceRequest !== undefined
      ) {
        if (readCoreV1NamespaceRequest instanceof ReadCoreV1NamespaceRequest) {
          namespace = readCoreV1NamespaceRequest.namespace;
        } else {
          namespace = readCoreV1NamespaceRequest['namespace'];
        }
      }

      if (namespace === null || namespace === undefined) {
        core.setFailed('input parameters namespace is not correct.');
      }

      options.pathParams = {namespace: namespace};
      options.headers = localVarHeaderParameter;
      return options;
    }
  };
};

function newClient(client: HcClient): CciClient {
  return new CciClient(client);
}