// This file is auto-generated, don't edit it
import * as $dara from '@darabonba/typescript';


export class GetOSSInfoForUploadFileResponseBodyModel extends $dara.Model {
  /**
   * @remarks
   * AccessKey ID used for signing.
   * 
   * @example
   * LTAIxetqt1Dg****
   */
  accessKeyId?: string;
  /**
   * @remarks
   * Expiration time.
   * 
   * @example
   * 1719297445
   */
  expireTime?: string;
  /**
   * @remarks
   * Host address.
   * 
   * @example
   * https://alicom-fc-media.oss-cn-zhangjiakou.aliyuncs.com
   */
  host?: string;
  /**
   * @remarks
   * Signature policy.
   * 
   * @example
   * eyJleHBpcmF0aW9uIjoiMjAyN***Ni0yNVQwNjozNzoyNS45NzBaI**iY29uZGl0aW9ucyI6W1siY29udGVudC1sZW5ndGgtcmFuZ2UiLDAsMTA0ODU3NjAwMF0sWyJzdGFydHMtd2l0***sIiRrZXkiLCIiXV19
   */
  policy?: string;
  /**
   * @remarks
   * Signature information calculated based on **AccessKey Secret** and **Policy**. When calling the OSS API, OSS verifies this signature information to confirm the legitimacy of the Post request.
   * 
   * @example
   * BXnwCWPrhVb*****aoZHZfli5KE=
   */
  signature?: string;
  /**
   * @remarks
   * Policy path.
   * 
   * @example
   * 123456
   */
  startPath?: string;
  static names(): { [key: string]: string } {
    return {
      accessKeyId: 'AccessKeyId',
      expireTime: 'ExpireTime',
      host: 'Host',
      policy: 'Policy',
      signature: 'Signature',
      startPath: 'StartPath',
    };
  }

  static types(): { [key: string]: any } {
    return {
      accessKeyId: 'string',
      expireTime: 'string',
      host: 'string',
      policy: 'string',
      signature: 'string',
      startPath: 'string',
    };
  }

  validate() {
    super.validate();
  }

  constructor(map?: { [key: string]: any }) {
    super(map);
  }
}

export class GetOSSInfoForUploadFileResponseBody extends $dara.Model {
  /**
   * @remarks
   * Request status code.
   * 
   * - OK return represents a successful request.
   * - For other error codes, please refer to the [Error Code List](https://help.aliyun.com/document_detail/101346.htm).
   * 
   * @example
   * OK
   */
  code?: string;
  /**
   * @remarks
   * Description of the status code.
   * 
   * @example
   * OK
   */
  message?: string;
  /**
   * @remarks
   * Return result.
   */
  model?: GetOSSInfoForUploadFileResponseBodyModel;
  /**
   * @remarks
   * The ID of this call request, which is a unique identifier generated by Alibaba Cloud for the request, can be used for troubleshooting and issue定位.
   * 
   * @example
   * A90E4451-FED7-49D2-87C8-00700EDCFD0D
   */
  requestId?: string;
  /**
   * @remarks
   * Indicates success. Values:
   * 
   * - **true**
   * - **false**
   * 
   * @example
   * true
   */
  success?: boolean;
  static names(): { [key: string]: string } {
    return {
      code: 'Code',
      message: 'Message',
      model: 'Model',
      requestId: 'RequestId',
      success: 'Success',
    };
  }

  static types(): { [key: string]: any } {
    return {
      code: 'string',
      message: 'string',
      model: GetOSSInfoForUploadFileResponseBodyModel,
      requestId: 'string',
      success: 'boolean',
    };
  }

  validate() {
    if(this.model && typeof (this.model as any).validate === 'function') {
      (this.model as any).validate();
    }
    super.validate();
  }

  constructor(map?: { [key: string]: any }) {
    super(map);
  }
}

