import * as core from "@terrascript/core"; export interface UploadArgs extends core.ResourceArgs { /** * (Optional) The upload's content type (for example, application/octet-stream). */ contentType?: string | core.StringOut; /** * (Required) The upload's file name. The name should not contain any forward slashes (/). If you are u * ploading an iOS app, the file name must end with the .ipa extension. If you are uploading an Android * app, the file name must end with the .apk extension. For all others, the file name must end with th * e .zip file extension. */ name: string | core.StringOut; /** * (Required) The ARN of the project for the upload. */ projectArn: string | core.StringOut; /** * (Required) The upload's upload type. See [AWS Docs](https://docs.aws.amazon.com/devicefarm/latest/AP * IReference/API_CreateUpload.html#API_CreateUpload_RequestSyntax) for valid list of values. */ type: string | core.StringOut; } export class Upload extends core.Resource { /** * The Amazon Resource Name of this upload. */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * The upload's category. */ @core.attr(String, { computed: true }) public category!: string | core.StringOut; /** * (Optional) The upload's content type (for example, application/octet-stream). */ @core.attr(String) public contentType?: string | core.StringOut; @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * The upload's metadata. For example, for Android, this contains information that is parsed from the m * anifest and is displayed in the AWS Device Farm console after the associated app is uploaded. */ @core.attr(String, { computed: true }) public metadata!: string | core.StringOut; /** * (Required) The upload's file name. The name should not contain any forward slashes (/). If you are u * ploading an iOS app, the file name must end with the .ipa extension. If you are uploading an Android * app, the file name must end with the .apk extension. For all others, the file name must end with th * e .zip file extension. */ @core.attr(String) public name!: string | core.StringOut; /** * (Required) The ARN of the project for the upload. */ @core.attr(String) public projectArn!: string | core.StringOut; /** * (Required) The upload's upload type. See [AWS Docs](https://docs.aws.amazon.com/devicefarm/latest/AP * IReference/API_CreateUpload.html#API_CreateUpload_RequestSyntax) for valid list of values. */ @core.attr(String) public type!: string | core.StringOut; /** * The presigned Amazon S3 URL that was used to store a file using a PUT request. */ @core.attr(String, { computed: true }) public url!: string | core.StringOut; constructor(name: string, args?: UploadArgs) { super(name, "aws_devicefarm_upload", args); } public override getNamespace(): string { return "aws_devicefarm"; } }