NAME
Paws::CodeBuild::CreateProject - Arguments for method CreateProject on Paws::CodeBuild
DESCRIPTION
This class represents the parameters used for calling the method CreateProject on the AWS CodeBuild service. Use the attributes of this class as arguments to method CreateProject.
You shouldn't make instances of this class. Each attribute should be used as a named argument in the call to CreateProject.
SYNOPSIS
my $codebuild = Paws->service('CodeBuild');
my $CreateProjectOutput = $codebuild->CreateProject(
Artifacts => {
Type => 'CODEPIPELINE', # values: CODEPIPELINE, S3, NO_ARTIFACTS
ArtifactIdentifier => 'MyString', # OPTIONAL
EncryptionDisabled => 1, # OPTIONAL
Location => 'MyString', # OPTIONAL
Name => 'MyString', # OPTIONAL
NamespaceType => 'NONE', # values: NONE, BUILD_ID; OPTIONAL
OverrideArtifactName => 1, # OPTIONAL
Packaging => 'NONE', # values: NONE, ZIP; OPTIONAL
Path => 'MyString', # OPTIONAL
},
Environment => {
ComputeType => 'BUILD_GENERAL1_SMALL'
, # values: BUILD_GENERAL1_SMALL, BUILD_GENERAL1_MEDIUM, BUILD_GENERAL1_LARGE, BUILD_GENERAL1_2XLARGE
Image => 'MyNonEmptyString', # min: 1
Type => 'WINDOWS_CONTAINER'
, # values: WINDOWS_CONTAINER, LINUX_CONTAINER, LINUX_GPU_CONTAINER, ARM_CONTAINER
Certificate => 'MyString', # OPTIONAL
EnvironmentVariables => [
{
Name => 'MyNonEmptyString', # min: 1
Value => 'MyString', # OPTIONAL
Type => 'PLAINTEXT'
, # values: PLAINTEXT, PARAMETER_STORE, SECRETS_MANAGER; OPTIONAL
},
...
], # OPTIONAL
ImagePullCredentialsType =>
'CODEBUILD', # values: CODEBUILD, SERVICE_ROLE; OPTIONAL
PrivilegedMode => 1, # OPTIONAL
RegistryCredential => {
Credential => 'MyNonEmptyString', # min: 1
CredentialProvider => 'SECRETS_MANAGER', # values: SECRETS_MANAGER
}, # OPTIONAL
},
Name => 'MyProjectName',
ServiceRole => 'MyNonEmptyString',
Source => {
Type => 'CODECOMMIT'
, # values: CODECOMMIT, CODEPIPELINE, GITHUB, S3, BITBUCKET, GITHUB_ENTERPRISE, NO_SOURCE
Auth => {
Type => 'OAUTH', # values: OAUTH
Resource => 'MyString', # OPTIONAL
}, # OPTIONAL
Buildspec => 'MyString', # OPTIONAL
GitCloneDepth => 1, # OPTIONAL
GitSubmodulesConfig => {
FetchSubmodules => 1, # OPTIONAL
}, # OPTIONAL
InsecureSsl => 1, # OPTIONAL
Location => 'MyString', # OPTIONAL
ReportBuildStatus => 1, # OPTIONAL
SourceIdentifier => 'MyString', # OPTIONAL
},
BadgeEnabled => 1, # OPTIONAL
Cache => {
Type => 'NO_CACHE', # values: NO_CACHE, S3, LOCAL
Location => 'MyString', # OPTIONAL
Modes => [
'LOCAL_DOCKER_LAYER_CACHE',
... # values: LOCAL_DOCKER_LAYER_CACHE, LOCAL_SOURCE_CACHE, LOCAL_CUSTOM_CACHE
], # OPTIONAL
}, # OPTIONAL
Description => 'MyProjectDescription', # OPTIONAL
EncryptionKey => 'MyNonEmptyString', # OPTIONAL
FileSystemLocations => [
{
Identifier => 'MyString', # OPTIONAL
Location => 'MyString', # OPTIONAL
MountOptions => 'MyString', # OPTIONAL
MountPoint => 'MyString', # OPTIONAL
Type => 'EFS', # values: EFS; OPTIONAL
},
...
], # OPTIONAL
LogsConfig => {
CloudWatchLogs => {
Status => 'ENABLED', # values: ENABLED, DISABLED
GroupName => 'MyString', # OPTIONAL
StreamName => 'MyString', # OPTIONAL
}, # OPTIONAL
S3Logs => {
Status => 'ENABLED', # values: ENABLED, DISABLED
EncryptionDisabled => 1, # OPTIONAL
Location => 'MyString', # OPTIONAL
}, # OPTIONAL
}, # OPTIONAL
QueuedTimeoutInMinutes => 1, # OPTIONAL
SecondaryArtifacts => [
{
Type => 'CODEPIPELINE', # values: CODEPIPELINE, S3, NO_ARTIFACTS
ArtifactIdentifier => 'MyString', # OPTIONAL
EncryptionDisabled => 1, # OPTIONAL
Location => 'MyString', # OPTIONAL
Name => 'MyString', # OPTIONAL
NamespaceType => 'NONE', # values: NONE, BUILD_ID; OPTIONAL
OverrideArtifactName => 1, # OPTIONAL
Packaging => 'NONE', # values: NONE, ZIP; OPTIONAL
Path => 'MyString', # OPTIONAL
},
...
], # OPTIONAL
SecondarySourceVersions => [
{
SourceIdentifier => 'MyString', # OPTIONAL
SourceVersion => 'MyString', # OPTIONAL
},
...
], # OPTIONAL
SecondarySources => [
{
Type => 'CODECOMMIT'
, # values: CODECOMMIT, CODEPIPELINE, GITHUB, S3, BITBUCKET, GITHUB_ENTERPRISE, NO_SOURCE
Auth => {
Type => 'OAUTH', # values: OAUTH
Resource => 'MyString', # OPTIONAL
}, # OPTIONAL
Buildspec => 'MyString', # OPTIONAL
GitCloneDepth => 1, # OPTIONAL
GitSubmodulesConfig => {
FetchSubmodules => 1, # OPTIONAL
}, # OPTIONAL
InsecureSsl => 1, # OPTIONAL
Location => 'MyString', # OPTIONAL
ReportBuildStatus => 1, # OPTIONAL
SourceIdentifier => 'MyString', # OPTIONAL
},
...
], # OPTIONAL
SourceVersion => 'MyString', # OPTIONAL
Tags => [
{
Key => 'MyKeyInput', # min: 1, max: 127; OPTIONAL
Value => 'MyValueInput', # min: 1, max: 255; OPTIONAL
},
...
], # OPTIONAL
TimeoutInMinutes => 1, # OPTIONAL
VpcConfig => {
SecurityGroupIds => [
'MyNonEmptyString', ... # min: 1
], # max: 5; OPTIONAL
Subnets => [
'MyNonEmptyString', ... # min: 1
], # max: 16; OPTIONAL
VpcId => 'MyNonEmptyString', # min: 1
}, # OPTIONAL
);
# Results:
my $Project = $CreateProjectOutput->Project;
# Returns a L<Paws::CodeBuild::CreateProjectOutput> object.
Values for attributes that are native types (Int, String, Float, etc) can passed as-is (scalar values). Values for complex Types (objects) can be passed as a HashRef. The keys and values of the hashref will be used to instance the underlying object. For the AWS API documentation, see https://docs.aws.amazon.com/goto/WebAPI/codebuild/CreateProject
ATTRIBUTES
REQUIRED Artifacts => Paws::CodeBuild::ProjectArtifacts
Information about the build output artifacts for the build project.
BadgeEnabled => Bool
Set this to true to generate a publicly accessible URL for your project's build badge.
Cache => Paws::CodeBuild::ProjectCache
Stores recently used information so that it can be quickly accessed at a later time.
Description => Str
A description that makes the build project easy to identify.
EncryptionKey => Str
The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build output artifacts.
You can use a cross-account KMS key to encrypt the build output artifacts if your service role has permission to that key.
You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK's alias (using the format alias/alias-name ).
REQUIRED Environment => Paws::CodeBuild::ProjectEnvironment
Information about the build environment for the build project.
FileSystemLocations => ArrayRef[Paws::CodeBuild::ProjectFileSystemLocation]
An array of ProjectFileSystemLocation objects for a CodeBuild build project. A ProjectFileSystemLocation object specifies the identifier, location, mountOptions, mountPoint, and type of a file system created using Amazon Elastic File System.
LogsConfig => Paws::CodeBuild::LogsConfig
Information about logs for the build project. These can be logs in Amazon CloudWatch Logs, logs uploaded to a specified S3 bucket, or both.
REQUIRED Name => Str
The name of the build project.
QueuedTimeoutInMinutes => Int
The number of minutes a build is allowed to be queued before it times out.
SecondaryArtifacts => ArrayRef[Paws::CodeBuild::ProjectArtifacts]
An array of ProjectArtifacts objects.
SecondarySources => ArrayRef[Paws::CodeBuild::ProjectSource]
An array of ProjectSource objects.
SecondarySourceVersions => ArrayRef[Paws::CodeBuild::ProjectSourceVersion]
An array of ProjectSourceVersion objects. If secondarySourceVersions is specified at the build level, then they take precedence over these secondarySourceVersions (at the project level).
REQUIRED ServiceRole => Str
The ARN of the AWS Identity and Access Management (IAM) role that enables AWS CodeBuild to interact with dependent AWS services on behalf of the AWS account.
REQUIRED Source => Paws::CodeBuild::ProjectSource
Information about the build input source code for the build project.
SourceVersion => Str
A version of the build input to be built for this project. If not specified, the latest version is used. If specified, it must be one of:
For AWS CodeCommit: the commit ID, branch, or Git tag to use.
For GitHub: the commit ID, pull request ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a pull request ID is specified, it must use the format
pr/pull-request-ID(for examplepr/25). If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.For Bitbucket: the commit ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.
For Amazon Simple Storage Service (Amazon S3): the version ID of the object that represents the build input ZIP file to use.
If sourceVersion is specified at the build level, then that version takes precedence over this sourceVersion (at the project level).
For more information, see Source Version Sample with CodeBuild (https://docs.aws.amazon.com/codebuild/latest/userguide/sample-source-version.html) in the AWS CodeBuild User Guide.
Tags => ArrayRef[Paws::CodeBuild::Tag]
A set of tags for this build project.
These tags are available for use by AWS services that support AWS CodeBuild build project tags.
TimeoutInMinutes => Int
How long, in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait before it times out any build that has not been marked as completed. The default is 60 minutes.
VpcConfig => Paws::CodeBuild::VpcConfig
VpcConfig enables AWS CodeBuild to access resources in an Amazon VPC.
SEE ALSO
This class forms part of Paws, documenting arguments for method CreateProject in Paws::CodeBuild
BUGS and CONTRIBUTIONS
The source code is located here: https://github.com/pplu/aws-sdk-perl
Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues