import * as core from "@terrascript/core"; export interface SecondaryArtifactsArgs extends core.SchemaArgs { artifactIdentifier: string | core.StringOut; bucketOwnerAccess?: string | core.StringOut; encryptionDisabled?: boolean | core.BooleanOut; location?: string | core.StringOut; name?: string | core.StringOut; namespaceType?: string | core.StringOut; overrideArtifactName?: boolean | core.BooleanOut; packaging?: string | core.StringOut; path?: string | core.StringOut; type: string | core.StringOut; } export declare class SecondaryArtifacts extends core.Schema { artifactIdentifier: string | core.StringOut; bucketOwnerAccess?: string | core.StringOut; encryptionDisabled?: boolean | core.BooleanOut; location?: string | core.StringOut; name?: string | core.StringOut; namespaceType?: string | core.StringOut; overrideArtifactName?: boolean | core.BooleanOut; packaging?: string | core.StringOut; path?: string | core.StringOut; type: string | core.StringOut; } export interface CloudwatchLogsArgs extends core.SchemaArgs { groupName?: string | core.StringOut; status?: string | core.StringOut; streamName?: string | core.StringOut; } export declare class CloudwatchLogs extends core.Schema { groupName?: string | core.StringOut; status?: string | core.StringOut; streamName?: string | core.StringOut; } export interface S3LogsArgs extends core.SchemaArgs { bucketOwnerAccess?: string | core.StringOut; encryptionDisabled?: boolean | core.BooleanOut; location?: string | core.StringOut; status?: string | core.StringOut; } export declare class S3Logs extends core.Schema { bucketOwnerAccess?: string | core.StringOut; encryptionDisabled?: boolean | core.BooleanOut; location?: string | core.StringOut; status?: string | core.StringOut; } export interface LogsConfigArgs extends core.SchemaArgs { cloudwatchLogs?: CloudwatchLogs; s3Logs?: S3Logs; } export declare class LogsConfig extends core.Schema { cloudwatchLogs?: CloudwatchLogs; s3Logs?: S3Logs; } export interface GitSubmodulesConfigArgs extends core.SchemaArgs { fetchSubmodules: boolean | core.BooleanOut; } export declare class GitSubmodulesConfig extends core.Schema { fetchSubmodules: boolean | core.BooleanOut; } export interface BuildStatusConfigArgs extends core.SchemaArgs { context?: string | core.StringOut; targetUrl?: string | core.StringOut; } export declare class BuildStatusConfig extends core.Schema { context?: string | core.StringOut; targetUrl?: string | core.StringOut; } export interface AuthArgs extends core.SchemaArgs { resource?: string | core.StringOut; type: string | core.StringOut; } export declare class Auth extends core.Schema { resource?: string | core.StringOut; type: string | core.StringOut; } export interface SourceArgs extends core.SchemaArgs { auth?: Auth; buildStatusConfig?: BuildStatusConfig; buildspec?: string | core.StringOut; gitCloneDepth?: number | core.NumberOut; gitSubmodulesConfig?: GitSubmodulesConfig; insecureSsl?: boolean | core.BooleanOut; location?: string | core.StringOut; reportBuildStatus?: boolean | core.BooleanOut; type: string | core.StringOut; } export declare class Source extends core.Schema { auth?: Auth; buildStatusConfig?: BuildStatusConfig; buildspec?: string | core.StringOut; gitCloneDepth?: number | core.NumberOut; gitSubmodulesConfig?: GitSubmodulesConfig; insecureSsl?: boolean | core.BooleanOut; location?: string | core.StringOut; reportBuildStatus?: boolean | core.BooleanOut; type: string | core.StringOut; } export interface RestrictionsArgs extends core.SchemaArgs { computeTypesAllowed?: core.Array | core.ArrayOut; maximumBuildsAllowed?: number | core.NumberOut; } export declare class Restrictions extends core.Schema { computeTypesAllowed?: core.Array | core.ArrayOut; maximumBuildsAllowed?: number | core.NumberOut; } export interface BuildBatchConfigArgs extends core.SchemaArgs { combineArtifacts?: boolean | core.BooleanOut; restrictions?: Restrictions; serviceRole: string | core.StringOut; timeoutInMins?: number | core.NumberOut; } export declare class BuildBatchConfig extends core.Schema { combineArtifacts?: boolean | core.BooleanOut; restrictions?: Restrictions; serviceRole: string | core.StringOut; timeoutInMins?: number | core.NumberOut; } export interface ArtifactsArgs extends core.SchemaArgs { artifactIdentifier?: string | core.StringOut; bucketOwnerAccess?: string | core.StringOut; encryptionDisabled?: boolean | core.BooleanOut; location?: string | core.StringOut; name?: string | core.StringOut; namespaceType?: string | core.StringOut; overrideArtifactName?: boolean | core.BooleanOut; packaging?: string | core.StringOut; path?: string | core.StringOut; type: string | core.StringOut; } export declare class Artifacts extends core.Schema { artifactIdentifier?: string | core.StringOut; bucketOwnerAccess?: string | core.StringOut; encryptionDisabled?: boolean | core.BooleanOut; location?: string | core.StringOut; name?: string | core.StringOut; namespaceType?: string | core.StringOut; overrideArtifactName?: boolean | core.BooleanOut; packaging?: string | core.StringOut; path?: string | core.StringOut; type: string | core.StringOut; } export interface SecondarySourcesArgs extends core.SchemaArgs { auth?: Auth; buildStatusConfig?: BuildStatusConfig; buildspec?: string | core.StringOut; gitCloneDepth?: number | core.NumberOut; gitSubmodulesConfig?: GitSubmodulesConfig; insecureSsl?: boolean | core.BooleanOut; location?: string | core.StringOut; reportBuildStatus?: boolean | core.BooleanOut; sourceIdentifier: string | core.StringOut; type: string | core.StringOut; } export declare class SecondarySources extends core.Schema { auth?: Auth; buildStatusConfig?: BuildStatusConfig; buildspec?: string | core.StringOut; gitCloneDepth?: number | core.NumberOut; gitSubmodulesConfig?: GitSubmodulesConfig; insecureSsl?: boolean | core.BooleanOut; location?: string | core.StringOut; reportBuildStatus?: boolean | core.BooleanOut; sourceIdentifier: string | core.StringOut; type: string | core.StringOut; } export interface RegistryCredentialArgs extends core.SchemaArgs { credential: string | core.StringOut; credentialProvider: string | core.StringOut; } export declare class RegistryCredential extends core.Schema { credential: string | core.StringOut; credentialProvider: string | core.StringOut; } export interface EnvironmentVariableArgs extends core.SchemaArgs { name: string | core.StringOut; type?: string | core.StringOut; value: string | core.StringOut; } export declare class EnvironmentVariable extends core.Schema { name: string | core.StringOut; type?: string | core.StringOut; value: string | core.StringOut; } export interface EnvironmentArgs extends core.SchemaArgs { certificate?: string | core.StringOut; computeType: string | core.StringOut; environmentVariable?: core.Array | core.ArrayOut; image: string | core.StringOut; imagePullCredentialsType?: string | core.StringOut; privilegedMode?: boolean | core.BooleanOut; registryCredential?: RegistryCredential; type: string | core.StringOut; } export declare class Environment extends core.Schema { certificate?: string | core.StringOut; computeType: string | core.StringOut; environmentVariable?: core.Array | core.ArrayOut; image: string | core.StringOut; imagePullCredentialsType?: string | core.StringOut; privilegedMode?: boolean | core.BooleanOut; registryCredential?: RegistryCredential; type: string | core.StringOut; } export interface SecondarySourceVersionArgs extends core.SchemaArgs { sourceIdentifier: string | core.StringOut; sourceVersion: string | core.StringOut; } export declare class SecondarySourceVersion extends core.Schema { sourceIdentifier: string | core.StringOut; sourceVersion: string | core.StringOut; } export interface CacheArgs extends core.SchemaArgs { location?: string | core.StringOut; modes?: core.Array | core.ArrayOut; type?: string | core.StringOut; } export declare class Cache extends core.Schema { location?: string | core.StringOut; modes?: core.Array | core.ArrayOut; type?: string | core.StringOut; } export interface VpcConfigArgs extends core.SchemaArgs { securityGroupIds: core.Array | core.ArrayOut; subnets: core.Array | core.ArrayOut; vpcId: string | core.StringOut; } export declare class VpcConfig extends core.Schema { securityGroupIds: core.Array | core.ArrayOut; subnets: core.Array | core.ArrayOut; vpcId: string | core.StringOut; } export interface FileSystemLocationsArgs extends core.SchemaArgs { identifier?: string | core.StringOut; location?: string | core.StringOut; mountOptions?: string | core.StringOut; mountPoint?: string | core.StringOut; type?: string | core.StringOut; } export declare class FileSystemLocations extends core.Schema { identifier?: string | core.StringOut; location?: string | core.StringOut; mountOptions?: string | core.StringOut; mountPoint?: string | core.StringOut; type?: string | core.StringOut; } export interface ProjectArgs extends core.ResourceArgs { /** * (Required) Configuration block. Detailed below. */ artifacts: Artifacts; /** * (Optional) Generates a publicly-accessible URL for the projects build badge. Available as `badge_url * attribute when enabled. */ badgeEnabled?: boolean | core.BooleanOut; /** * (Optional) Defines the batch build options for the project. */ buildBatchConfig?: BuildBatchConfig; /** * (Optional) Number of minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait until timing out an * y related build that does not get marked as completed. The default is 60 minutes. */ buildTimeout?: number | core.NumberOut; /** * (Optional) Configuration block. Detailed below. */ cache?: Cache; /** * (Optional) Specify a maximum number of concurrent builds for the project. The value specified must b * e greater than 0 and less than the account concurrent running builds limit. */ concurrentBuildLimit?: number | core.NumberOut; /** * (Optional) Short description of the project. */ description?: string | core.StringOut; /** * (Optional) AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting * the build project's build output artifacts. */ encryptionKey?: string | core.StringOut; /** * (Required) Configuration block. Detailed below. */ environment: Environment; /** * (Optional) A set of file system locations to to mount inside the build. File system locations are do * cumented below. */ fileSystemLocations?: core.Array | core.ArrayOut; /** * (Optional) Configuration block. Detailed below. */ logsConfig?: LogsConfig; /** * (Required) Project's name. */ name: string | core.StringOut; /** * (Optional) Specifies the visibility of the project's builds. Possible values are: `PUBLIC_READ` and * PRIVATE`. Default value is `PRIVATE`. */ projectVisibility?: string | core.StringOut; /** * (Optional) Number of minutes, from 5 to 480 (8 hours), a build is allowed to be queued before it tim * es out. The default is 8 hours. */ queuedTimeout?: number | core.NumberOut; /** * The ARN of the IAM role that enables CodeBuild to access the CloudWatch Logs and Amazon S3 artifacts * for the project's builds. */ resourceAccessRole?: string | core.StringOut; /** * (Optional) Configuration block. Detailed below. */ secondaryArtifacts?: core.Array | core.ArrayOut; /** * (Optional) Configuration block. Detailed below. */ secondarySourceVersion?: core.Array | core.ArrayOut; /** * (Optional) Configuration block. Detailed below. */ secondarySources?: core.Array | core.ArrayOut; /** * (Required) Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that enab * les AWS CodeBuild to interact with dependent AWS services on behalf of the AWS account. */ serviceRole: string | core.StringOut; /** * (Required) Configuration block. Detailed below. */ source: Source; /** * (Optional) Version of the build input to be built for this project. If not specified, the latest ver * sion is used. */ sourceVersion?: string | core.StringOut; /** * (Optional) Map of tags to assign to the resource. If configured with a provider [`default_tags` conf * iguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-conf * iguration-block) present, tags with matching keys will overwrite those defined at the provider-level * . */ tags?: core.Map | core.MapOut; /** * A map of tags assigned to the resource, including those inherited from the provider [`default_tags` * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags- * configuration-block). */ tagsAll?: core.Map | core.MapOut; /** * (Optional) Configuration block. Detailed below. */ vpcConfig?: VpcConfig; } export declare class Project extends core.Resource { /** * ARN of the CodeBuild project. */ arn: string | core.StringOut; /** * (Required) Configuration block. Detailed below. */ artifacts: Artifacts; /** * (Optional) Generates a publicly-accessible URL for the projects build badge. Available as `badge_url * attribute when enabled. */ badgeEnabled?: boolean | core.BooleanOut; /** * URL of the build badge when `badge_enabled` is enabled. */ badgeUrl: string | core.StringOut; /** * (Optional) Defines the batch build options for the project. */ buildBatchConfig?: BuildBatchConfig; /** * (Optional) Number of minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait until timing out an * y related build that does not get marked as completed. The default is 60 minutes. */ buildTimeout?: number | core.NumberOut; /** * (Optional) Configuration block. Detailed below. */ cache?: Cache; /** * (Optional) Specify a maximum number of concurrent builds for the project. The value specified must b * e greater than 0 and less than the account concurrent running builds limit. */ concurrentBuildLimit?: number | core.NumberOut; /** * (Optional) Short description of the project. */ description?: string | core.StringOut; /** * (Optional) AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting * the build project's build output artifacts. */ encryptionKey?: string | core.StringOut; /** * (Required) Configuration block. Detailed below. */ environment: Environment; /** * (Optional) A set of file system locations to to mount inside the build. File system locations are do * cumented below. */ fileSystemLocations?: core.Array | core.ArrayOut; /** * Name (if imported via `name`) or ARN (if created via Terraform or imported via ARN) of the CodeBuild * project. */ id: string | core.StringOut; /** * (Optional) Configuration block. Detailed below. */ logsConfig?: LogsConfig; /** * (Required) Project's name. */ name: string | core.StringOut; /** * (Optional) Specifies the visibility of the project's builds. Possible values are: `PUBLIC_READ` and * PRIVATE`. Default value is `PRIVATE`. */ projectVisibility?: string | core.StringOut; /** * The project identifier used with the public build APIs. */ publicProjectAlias: string | core.StringOut; /** * (Optional) Number of minutes, from 5 to 480 (8 hours), a build is allowed to be queued before it tim * es out. The default is 8 hours. */ queuedTimeout?: number | core.NumberOut; /** * The ARN of the IAM role that enables CodeBuild to access the CloudWatch Logs and Amazon S3 artifacts * for the project's builds. */ resourceAccessRole?: string | core.StringOut; /** * (Optional) Configuration block. Detailed below. */ secondaryArtifacts?: core.Array | core.ArrayOut; /** * (Optional) Configuration block. Detailed below. */ secondarySourceVersion?: core.Array | core.ArrayOut; /** * (Optional) Configuration block. Detailed below. */ secondarySources?: core.Array | core.ArrayOut; /** * (Required) Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that enab * les AWS CodeBuild to interact with dependent AWS services on behalf of the AWS account. */ serviceRole: string | core.StringOut; /** * (Required) Configuration block. Detailed below. */ source: Source; /** * (Optional) Version of the build input to be built for this project. If not specified, the latest ver * sion is used. */ sourceVersion?: string | core.StringOut; /** * (Optional) Map of tags to assign to the resource. If configured with a provider [`default_tags` conf * iguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-conf * iguration-block) present, tags with matching keys will overwrite those defined at the provider-level * . */ tags?: core.Map | core.MapOut; /** * A map of tags assigned to the resource, including those inherited from the provider [`default_tags` * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags- * configuration-block). */ tagsAll?: core.Map | core.MapOut; /** * (Optional) Configuration block. Detailed below. */ vpcConfig?: VpcConfig; constructor(name: string, args?: ProjectArgs); getNamespace(): string; } //# sourceMappingURL=project.d.ts.map