/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.codebuild.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.AmazonWebServiceRequest; /** * * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class CreateProjectRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable { /** *
* The name of the build project. *
*/ private String name; /** ** A description that makes the build project easy to identify. *
*/ private String description; /** ** Information about the build input source code for the build project. *
*/ private ProjectSource source; /** *
* An array of ProjectSource
objects.
*
* 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 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 example pr/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 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 in the CodeBuild User Guide. *
*/ private String sourceVersion; /** *
* An array of ProjectSourceVersion
objects. If secondarySourceVersions
is specified at
* the build level, then they take precedence over these secondarySourceVersions
(at the project
* level).
*
* Information about the build output artifacts for the build project. *
*/ private ProjectArtifacts artifacts; /** *
* An array of ProjectArtifacts
objects.
*
* Stores recently used information so that it can be quickly accessed at a later time. *
*/ private ProjectCache cache; /** ** Information about the build environment for the build project. *
*/ private ProjectEnvironment environment; /** ** The ARN of the IAM role that enables CodeBuild to interact with dependent Amazon Web Services services on behalf * of the Amazon Web Services account. *
*/ private String serviceRole; /** ** How long, in minutes, from 5 to 480 (8 hours), for CodeBuild to wait before it times out any build that has not * been marked as completed. The default is 60 minutes. *
*/ private Integer timeoutInMinutes; /** ** The number of minutes a build is allowed to be queued before it times out. *
*/ private Integer queuedTimeoutInMinutes; /** ** The Key Management Service 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>
).
*
* A list of tag key and value pairs associated with this build project. *
** These tags are available for use by Amazon Web Services services that support CodeBuild build project tags. *
*/ private java.util.List* VpcConfig enables CodeBuild to access resources in an Amazon VPC. *
*/ private VpcConfig vpcConfig; /** ** Set this to true to generate a publicly accessible URL for your project's build badge. *
*/ private Boolean badgeEnabled; /** ** Information about logs for the build project. These can be logs in CloudWatch Logs, logs uploaded to a specified * S3 bucket, or both. *
*/ private LogsConfig logsConfig; /** *
* 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.
*
* A ProjectBuildBatchConfig object that defines the batch build options for the project. *
*/ private ProjectBuildBatchConfig buildBatchConfig; /** ** The maximum number of concurrent builds that are allowed for this project. *
** New builds are only started if the current number of builds is less than or equal to this limit. If the current * build count meets this limit, new builds are throttled and are not run. *
*/ private Integer concurrentBuildLimit; /** ** The name of the build project. *
* * @param name * The name of the build project. */ public void setName(String name) { this.name = name; } /** ** The name of the build project. *
* * @return The name of the build project. */ public String getName() { return this.name; } /** ** The name of the build project. *
* * @param name * The name of the build project. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateProjectRequest withName(String name) { setName(name); return this; } /** ** A description that makes the build project easy to identify. *
* * @param description * A description that makes the build project easy to identify. */ public void setDescription(String description) { this.description = description; } /** ** A description that makes the build project easy to identify. *
* * @return A description that makes the build project easy to identify. */ public String getDescription() { return this.description; } /** ** A description that makes the build project easy to identify. *
* * @param description * A description that makes the build project easy to identify. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateProjectRequest withDescription(String description) { setDescription(description); return this; } /** ** Information about the build input source code for the build project. *
* * @param source * Information about the build input source code for the build project. */ public void setSource(ProjectSource source) { this.source = source; } /** ** Information about the build input source code for the build project. *
* * @return Information about the build input source code for the build project. */ public ProjectSource getSource() { return this.source; } /** ** Information about the build input source code for the build project. *
* * @param source * Information about the build input source code for the build project. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateProjectRequest withSource(ProjectSource source) { setSource(source); return this; } /** *
* An array of ProjectSource
objects.
*
ProjectSource
objects.
*/
public java.util.List
* An array of ProjectSource
objects.
*
ProjectSource
objects.
*/
public void setSecondarySources(java.util.Collection
* An array of ProjectSource
objects.
*
* NOTE: This method appends the values to the existing list (if any). Use * {@link #setSecondarySources(java.util.Collection)} or {@link #withSecondarySources(java.util.Collection)} if you * want to override the existing values. *
* * @param secondarySources * An array ofProjectSource
objects.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateProjectRequest withSecondarySources(ProjectSource... secondarySources) {
if (this.secondarySources == null) {
setSecondarySources(new java.util.ArrayList
* An array of ProjectSource
objects.
*
ProjectSource
objects.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateProjectRequest withSecondarySources(java.util.Collection* 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 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 example pr/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 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 in the CodeBuild User Guide. *
* * @param sourceVersion * 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 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 example pr/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 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 in the CodeBuild User Guide. */ public void setSourceVersion(String sourceVersion) { this.sourceVersion = sourceVersion; } /** *
* 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 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 example pr/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 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 in the CodeBuild User Guide. *
* * @return 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 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 example pr/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 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 in the CodeBuild User Guide. */ public String getSourceVersion() { return this.sourceVersion; } /** *
* 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 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 example pr/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 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 in the CodeBuild User Guide. *
* * @param sourceVersion * 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 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 example pr/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 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 in the CodeBuild User Guide. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateProjectRequest withSourceVersion(String sourceVersion) { setSourceVersion(sourceVersion); return this; } /** *
* An array of ProjectSourceVersion
objects. If secondarySourceVersions
is specified at
* the build level, then they take precedence over these secondarySourceVersions
(at the project
* level).
*
ProjectSourceVersion
objects. If secondarySourceVersions
is
* specified at the build level, then they take precedence over these secondarySourceVersions
* (at the project level).
*/
public java.util.List
* An array of ProjectSourceVersion
objects. If secondarySourceVersions
is specified at
* the build level, then they take precedence over these secondarySourceVersions
(at the project
* level).
*
ProjectSourceVersion
objects. If secondarySourceVersions
is
* specified at the build level, then they take precedence over these secondarySourceVersions
* (at the project level).
*/
public void setSecondarySourceVersions(java.util.Collection
* An array of ProjectSourceVersion
objects. If secondarySourceVersions
is specified at
* the build level, then they take precedence over these secondarySourceVersions
(at the project
* level).
*
* NOTE: This method appends the values to the existing list (if any). Use * {@link #setSecondarySourceVersions(java.util.Collection)} or * {@link #withSecondarySourceVersions(java.util.Collection)} if you want to override the existing values. *
* * @param secondarySourceVersions * An array ofProjectSourceVersion
objects. If secondarySourceVersions
is
* specified at the build level, then they take precedence over these secondarySourceVersions
* (at the project level).
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateProjectRequest withSecondarySourceVersions(ProjectSourceVersion... secondarySourceVersions) {
if (this.secondarySourceVersions == null) {
setSecondarySourceVersions(new java.util.ArrayList
* An array of ProjectSourceVersion
objects. If secondarySourceVersions
is specified at
* the build level, then they take precedence over these secondarySourceVersions
(at the project
* level).
*
ProjectSourceVersion
objects. If secondarySourceVersions
is
* specified at the build level, then they take precedence over these secondarySourceVersions
* (at the project level).
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateProjectRequest withSecondarySourceVersions(java.util.Collection* Information about the build output artifacts for the build project. *
* * @param artifacts * Information about the build output artifacts for the build project. */ public void setArtifacts(ProjectArtifacts artifacts) { this.artifacts = artifacts; } /** ** Information about the build output artifacts for the build project. *
* * @return Information about the build output artifacts for the build project. */ public ProjectArtifacts getArtifacts() { return this.artifacts; } /** ** Information about the build output artifacts for the build project. *
* * @param artifacts * Information about the build output artifacts for the build project. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateProjectRequest withArtifacts(ProjectArtifacts artifacts) { setArtifacts(artifacts); return this; } /** *
* An array of ProjectArtifacts
objects.
*
ProjectArtifacts
objects.
*/
public java.util.List
* An array of ProjectArtifacts
objects.
*
ProjectArtifacts
objects.
*/
public void setSecondaryArtifacts(java.util.Collection
* An array of ProjectArtifacts
objects.
*
* NOTE: This method appends the values to the existing list (if any). Use * {@link #setSecondaryArtifacts(java.util.Collection)} or {@link #withSecondaryArtifacts(java.util.Collection)} if * you want to override the existing values. *
* * @param secondaryArtifacts * An array ofProjectArtifacts
objects.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateProjectRequest withSecondaryArtifacts(ProjectArtifacts... secondaryArtifacts) {
if (this.secondaryArtifacts == null) {
setSecondaryArtifacts(new java.util.ArrayList
* An array of ProjectArtifacts
objects.
*
ProjectArtifacts
objects.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateProjectRequest withSecondaryArtifacts(java.util.Collection* Stores recently used information so that it can be quickly accessed at a later time. *
* * @param cache * Stores recently used information so that it can be quickly accessed at a later time. */ public void setCache(ProjectCache cache) { this.cache = cache; } /** ** Stores recently used information so that it can be quickly accessed at a later time. *
* * @return Stores recently used information so that it can be quickly accessed at a later time. */ public ProjectCache getCache() { return this.cache; } /** ** Stores recently used information so that it can be quickly accessed at a later time. *
* * @param cache * Stores recently used information so that it can be quickly accessed at a later time. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateProjectRequest withCache(ProjectCache cache) { setCache(cache); return this; } /** ** Information about the build environment for the build project. *
* * @param environment * Information about the build environment for the build project. */ public void setEnvironment(ProjectEnvironment environment) { this.environment = environment; } /** ** Information about the build environment for the build project. *
* * @return Information about the build environment for the build project. */ public ProjectEnvironment getEnvironment() { return this.environment; } /** ** Information about the build environment for the build project. *
* * @param environment * Information about the build environment for the build project. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateProjectRequest withEnvironment(ProjectEnvironment environment) { setEnvironment(environment); return this; } /** ** The ARN of the IAM role that enables CodeBuild to interact with dependent Amazon Web Services services on behalf * of the Amazon Web Services account. *
* * @param serviceRole * The ARN of the IAM role that enables CodeBuild to interact with dependent Amazon Web Services services on * behalf of the Amazon Web Services account. */ public void setServiceRole(String serviceRole) { this.serviceRole = serviceRole; } /** ** The ARN of the IAM role that enables CodeBuild to interact with dependent Amazon Web Services services on behalf * of the Amazon Web Services account. *
* * @return The ARN of the IAM role that enables CodeBuild to interact with dependent Amazon Web Services services on * behalf of the Amazon Web Services account. */ public String getServiceRole() { return this.serviceRole; } /** ** The ARN of the IAM role that enables CodeBuild to interact with dependent Amazon Web Services services on behalf * of the Amazon Web Services account. *
* * @param serviceRole * The ARN of the IAM role that enables CodeBuild to interact with dependent Amazon Web Services services on * behalf of the Amazon Web Services account. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateProjectRequest withServiceRole(String serviceRole) { setServiceRole(serviceRole); return this; } /** ** How long, in minutes, from 5 to 480 (8 hours), for CodeBuild to wait before it times out any build that has not * been marked as completed. The default is 60 minutes. *
* * @param timeoutInMinutes * How long, in minutes, from 5 to 480 (8 hours), for CodeBuild to wait before it times out any build that * has not been marked as completed. The default is 60 minutes. */ public void setTimeoutInMinutes(Integer timeoutInMinutes) { this.timeoutInMinutes = timeoutInMinutes; } /** ** How long, in minutes, from 5 to 480 (8 hours), for CodeBuild to wait before it times out any build that has not * been marked as completed. The default is 60 minutes. *
* * @return How long, in minutes, from 5 to 480 (8 hours), for CodeBuild to wait before it times out any build that * has not been marked as completed. The default is 60 minutes. */ public Integer getTimeoutInMinutes() { return this.timeoutInMinutes; } /** ** How long, in minutes, from 5 to 480 (8 hours), for CodeBuild to wait before it times out any build that has not * been marked as completed. The default is 60 minutes. *
* * @param timeoutInMinutes * How long, in minutes, from 5 to 480 (8 hours), for CodeBuild to wait before it times out any build that * has not been marked as completed. The default is 60 minutes. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateProjectRequest withTimeoutInMinutes(Integer timeoutInMinutes) { setTimeoutInMinutes(timeoutInMinutes); return this; } /** ** The number of minutes a build is allowed to be queued before it times out. *
* * @param queuedTimeoutInMinutes * The number of minutes a build is allowed to be queued before it times out. */ public void setQueuedTimeoutInMinutes(Integer queuedTimeoutInMinutes) { this.queuedTimeoutInMinutes = queuedTimeoutInMinutes; } /** ** The number of minutes a build is allowed to be queued before it times out. *
* * @return The number of minutes a build is allowed to be queued before it times out. */ public Integer getQueuedTimeoutInMinutes() { return this.queuedTimeoutInMinutes; } /** ** The number of minutes a build is allowed to be queued before it times out. *
* * @param queuedTimeoutInMinutes * The number of minutes a build is allowed to be queued before it times out. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateProjectRequest withQueuedTimeoutInMinutes(Integer queuedTimeoutInMinutes) { setQueuedTimeoutInMinutes(queuedTimeoutInMinutes); return this; } /** ** The Key Management Service 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>
).
*
* 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>
).
*/
public void setEncryptionKey(String encryptionKey) {
this.encryptionKey = encryptionKey;
}
/**
*
* The Key Management Service 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>
).
*
* 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>
).
*/
public String getEncryptionKey() {
return this.encryptionKey;
}
/**
*
* The Key Management Service 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>
).
*
* 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>
).
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateProjectRequest withEncryptionKey(String encryptionKey) {
setEncryptionKey(encryptionKey);
return this;
}
/**
*
* A list of tag key and value pairs associated with this build project. *
** These tags are available for use by Amazon Web Services services that support CodeBuild build project tags. *
* * @return A list of tag key and value pairs associated with this build project. *
* These tags are available for use by Amazon Web Services services that support CodeBuild build project
* tags.
*/
public java.util.List
* A list of tag key and value pairs associated with this build project.
*
* These tags are available for use by Amazon Web Services services that support CodeBuild build project tags.
*
* These tags are available for use by Amazon Web Services services that support CodeBuild build project
* tags.
*/
public void setTags(java.util.Collection
* A list of tag key and value pairs associated with this build project.
*
* These tags are available for use by Amazon Web Services services that support CodeBuild build project tags.
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setTags(java.util.Collection)} or {@link #withTags(java.util.Collection)} if you want to override the
* existing values.
*
* These tags are available for use by Amazon Web Services services that support CodeBuild build project
* tags.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateProjectRequest withTags(Tag... tags) {
if (this.tags == null) {
setTags(new java.util.ArrayList
* A list of tag key and value pairs associated with this build project.
*
* These tags are available for use by Amazon Web Services services that support CodeBuild build project tags.
*
* These tags are available for use by Amazon Web Services services that support CodeBuild build project
* tags.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateProjectRequest withTags(java.util.Collection
* VpcConfig enables CodeBuild to access resources in an Amazon VPC.
*
* VpcConfig enables CodeBuild to access resources in an Amazon VPC.
*
* VpcConfig enables CodeBuild to access resources in an Amazon VPC.
*
* Set this to true to generate a publicly accessible URL for your project's build badge.
*
* Set this to true to generate a publicly accessible URL for your project's build badge.
*
* Set this to true to generate a publicly accessible URL for your project's build badge.
*
* Set this to true to generate a publicly accessible URL for your project's build badge.
*
* Information about logs for the build project. These can be logs in CloudWatch Logs, logs uploaded to a specified
* S3 bucket, or both.
*
* Information about logs for the build project. These can be logs in CloudWatch Logs, logs uploaded to a specified
* S3 bucket, or both.
*
* Information about logs for the build project. These can be logs in CloudWatch Logs, logs uploaded to a specified
* S3 bucket, or both.
*
* An array of
* An array of
* An array of
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setFileSystemLocations(java.util.Collection)} or {@link #withFileSystemLocations(java.util.Collection)}
* if you want to override the existing values.
*
* An array of
* A ProjectBuildBatchConfig object that defines the batch build options for the project.
*
* A ProjectBuildBatchConfig object that defines the batch build options for the project.
*
* A ProjectBuildBatchConfig object that defines the batch build options for the project.
*
* The maximum number of concurrent builds that are allowed for this project.
*
* New builds are only started if the current number of builds is less than or equal to this limit. If the current
* build count meets this limit, new builds are throttled and are not run.
* 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.
* 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.
*/
public java.util.ListProjectFileSystemLocation
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.
* 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.
*/
public void setFileSystemLocations(java.util.CollectionProjectFileSystemLocation
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.
* 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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateProjectRequest withFileSystemLocations(ProjectFileSystemLocation... fileSystemLocations) {
if (this.fileSystemLocations == null) {
setFileSystemLocations(new java.util.ArrayListProjectFileSystemLocation
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.
* 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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateProjectRequest withFileSystemLocations(java.util.Collection
* New builds are only started if the current number of builds is less than or equal to this limit. If the * current build count meets this limit, new builds are throttled and are not run. */ public void setConcurrentBuildLimit(Integer concurrentBuildLimit) { this.concurrentBuildLimit = concurrentBuildLimit; } /** *
* The maximum number of concurrent builds that are allowed for this project. *
** New builds are only started if the current number of builds is less than or equal to this limit. If the current * build count meets this limit, new builds are throttled and are not run. *
* * @return The maximum number of concurrent builds that are allowed for this project. ** New builds are only started if the current number of builds is less than or equal to this limit. If the * current build count meets this limit, new builds are throttled and are not run. */ public Integer getConcurrentBuildLimit() { return this.concurrentBuildLimit; } /** *
* The maximum number of concurrent builds that are allowed for this project. *
** New builds are only started if the current number of builds is less than or equal to this limit. If the current * build count meets this limit, new builds are throttled and are not run. *
* * @param concurrentBuildLimit * The maximum number of concurrent builds that are allowed for this project. ** New builds are only started if the current number of builds is less than or equal to this limit. If the * current build count meets this limit, new builds are throttled and are not run. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateProjectRequest withConcurrentBuildLimit(Integer concurrentBuildLimit) { setConcurrentBuildLimit(concurrentBuildLimit); return this; } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getName() != null) sb.append("Name: ").append(getName()).append(","); if (getDescription() != null) sb.append("Description: ").append(getDescription()).append(","); if (getSource() != null) sb.append("Source: ").append(getSource()).append(","); if (getSecondarySources() != null) sb.append("SecondarySources: ").append(getSecondarySources()).append(","); if (getSourceVersion() != null) sb.append("SourceVersion: ").append(getSourceVersion()).append(","); if (getSecondarySourceVersions() != null) sb.append("SecondarySourceVersions: ").append(getSecondarySourceVersions()).append(","); if (getArtifacts() != null) sb.append("Artifacts: ").append(getArtifacts()).append(","); if (getSecondaryArtifacts() != null) sb.append("SecondaryArtifacts: ").append(getSecondaryArtifacts()).append(","); if (getCache() != null) sb.append("Cache: ").append(getCache()).append(","); if (getEnvironment() != null) sb.append("Environment: ").append(getEnvironment()).append(","); if (getServiceRole() != null) sb.append("ServiceRole: ").append(getServiceRole()).append(","); if (getTimeoutInMinutes() != null) sb.append("TimeoutInMinutes: ").append(getTimeoutInMinutes()).append(","); if (getQueuedTimeoutInMinutes() != null) sb.append("QueuedTimeoutInMinutes: ").append(getQueuedTimeoutInMinutes()).append(","); if (getEncryptionKey() != null) sb.append("EncryptionKey: ").append(getEncryptionKey()).append(","); if (getTags() != null) sb.append("Tags: ").append(getTags()).append(","); if (getVpcConfig() != null) sb.append("VpcConfig: ").append(getVpcConfig()).append(","); if (getBadgeEnabled() != null) sb.append("BadgeEnabled: ").append(getBadgeEnabled()).append(","); if (getLogsConfig() != null) sb.append("LogsConfig: ").append(getLogsConfig()).append(","); if (getFileSystemLocations() != null) sb.append("FileSystemLocations: ").append(getFileSystemLocations()).append(","); if (getBuildBatchConfig() != null) sb.append("BuildBatchConfig: ").append(getBuildBatchConfig()).append(","); if (getConcurrentBuildLimit() != null) sb.append("ConcurrentBuildLimit: ").append(getConcurrentBuildLimit()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof CreateProjectRequest == false) return false; CreateProjectRequest other = (CreateProjectRequest) obj; if (other.getName() == null ^ this.getName() == null) return false; if (other.getName() != null && other.getName().equals(this.getName()) == false) return false; if (other.getDescription() == null ^ this.getDescription() == null) return false; if (other.getDescription() != null && other.getDescription().equals(this.getDescription()) == false) return false; if (other.getSource() == null ^ this.getSource() == null) return false; if (other.getSource() != null && other.getSource().equals(this.getSource()) == false) return false; if (other.getSecondarySources() == null ^ this.getSecondarySources() == null) return false; if (other.getSecondarySources() != null && other.getSecondarySources().equals(this.getSecondarySources()) == false) return false; if (other.getSourceVersion() == null ^ this.getSourceVersion() == null) return false; if (other.getSourceVersion() != null && other.getSourceVersion().equals(this.getSourceVersion()) == false) return false; if (other.getSecondarySourceVersions() == null ^ this.getSecondarySourceVersions() == null) return false; if (other.getSecondarySourceVersions() != null && other.getSecondarySourceVersions().equals(this.getSecondarySourceVersions()) == false) return false; if (other.getArtifacts() == null ^ this.getArtifacts() == null) return false; if (other.getArtifacts() != null && other.getArtifacts().equals(this.getArtifacts()) == false) return false; if (other.getSecondaryArtifacts() == null ^ this.getSecondaryArtifacts() == null) return false; if (other.getSecondaryArtifacts() != null && other.getSecondaryArtifacts().equals(this.getSecondaryArtifacts()) == false) return false; if (other.getCache() == null ^ this.getCache() == null) return false; if (other.getCache() != null && other.getCache().equals(this.getCache()) == false) return false; if (other.getEnvironment() == null ^ this.getEnvironment() == null) return false; if (other.getEnvironment() != null && other.getEnvironment().equals(this.getEnvironment()) == false) return false; if (other.getServiceRole() == null ^ this.getServiceRole() == null) return false; if (other.getServiceRole() != null && other.getServiceRole().equals(this.getServiceRole()) == false) return false; if (other.getTimeoutInMinutes() == null ^ this.getTimeoutInMinutes() == null) return false; if (other.getTimeoutInMinutes() != null && other.getTimeoutInMinutes().equals(this.getTimeoutInMinutes()) == false) return false; if (other.getQueuedTimeoutInMinutes() == null ^ this.getQueuedTimeoutInMinutes() == null) return false; if (other.getQueuedTimeoutInMinutes() != null && other.getQueuedTimeoutInMinutes().equals(this.getQueuedTimeoutInMinutes()) == false) return false; if (other.getEncryptionKey() == null ^ this.getEncryptionKey() == null) return false; if (other.getEncryptionKey() != null && other.getEncryptionKey().equals(this.getEncryptionKey()) == false) return false; if (other.getTags() == null ^ this.getTags() == null) return false; if (other.getTags() != null && other.getTags().equals(this.getTags()) == false) return false; if (other.getVpcConfig() == null ^ this.getVpcConfig() == null) return false; if (other.getVpcConfig() != null && other.getVpcConfig().equals(this.getVpcConfig()) == false) return false; if (other.getBadgeEnabled() == null ^ this.getBadgeEnabled() == null) return false; if (other.getBadgeEnabled() != null && other.getBadgeEnabled().equals(this.getBadgeEnabled()) == false) return false; if (other.getLogsConfig() == null ^ this.getLogsConfig() == null) return false; if (other.getLogsConfig() != null && other.getLogsConfig().equals(this.getLogsConfig()) == false) return false; if (other.getFileSystemLocations() == null ^ this.getFileSystemLocations() == null) return false; if (other.getFileSystemLocations() != null && other.getFileSystemLocations().equals(this.getFileSystemLocations()) == false) return false; if (other.getBuildBatchConfig() == null ^ this.getBuildBatchConfig() == null) return false; if (other.getBuildBatchConfig() != null && other.getBuildBatchConfig().equals(this.getBuildBatchConfig()) == false) return false; if (other.getConcurrentBuildLimit() == null ^ this.getConcurrentBuildLimit() == null) return false; if (other.getConcurrentBuildLimit() != null && other.getConcurrentBuildLimit().equals(this.getConcurrentBuildLimit()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getName() == null) ? 0 : getName().hashCode()); hashCode = prime * hashCode + ((getDescription() == null) ? 0 : getDescription().hashCode()); hashCode = prime * hashCode + ((getSource() == null) ? 0 : getSource().hashCode()); hashCode = prime * hashCode + ((getSecondarySources() == null) ? 0 : getSecondarySources().hashCode()); hashCode = prime * hashCode + ((getSourceVersion() == null) ? 0 : getSourceVersion().hashCode()); hashCode = prime * hashCode + ((getSecondarySourceVersions() == null) ? 0 : getSecondarySourceVersions().hashCode()); hashCode = prime * hashCode + ((getArtifacts() == null) ? 0 : getArtifacts().hashCode()); hashCode = prime * hashCode + ((getSecondaryArtifacts() == null) ? 0 : getSecondaryArtifacts().hashCode()); hashCode = prime * hashCode + ((getCache() == null) ? 0 : getCache().hashCode()); hashCode = prime * hashCode + ((getEnvironment() == null) ? 0 : getEnvironment().hashCode()); hashCode = prime * hashCode + ((getServiceRole() == null) ? 0 : getServiceRole().hashCode()); hashCode = prime * hashCode + ((getTimeoutInMinutes() == null) ? 0 : getTimeoutInMinutes().hashCode()); hashCode = prime * hashCode + ((getQueuedTimeoutInMinutes() == null) ? 0 : getQueuedTimeoutInMinutes().hashCode()); hashCode = prime * hashCode + ((getEncryptionKey() == null) ? 0 : getEncryptionKey().hashCode()); hashCode = prime * hashCode + ((getTags() == null) ? 0 : getTags().hashCode()); hashCode = prime * hashCode + ((getVpcConfig() == null) ? 0 : getVpcConfig().hashCode()); hashCode = prime * hashCode + ((getBadgeEnabled() == null) ? 0 : getBadgeEnabled().hashCode()); hashCode = prime * hashCode + ((getLogsConfig() == null) ? 0 : getLogsConfig().hashCode()); hashCode = prime * hashCode + ((getFileSystemLocations() == null) ? 0 : getFileSystemLocations().hashCode()); hashCode = prime * hashCode + ((getBuildBatchConfig() == null) ? 0 : getBuildBatchConfig().hashCode()); hashCode = prime * hashCode + ((getConcurrentBuildLimit() == null) ? 0 : getConcurrentBuildLimit().hashCode()); return hashCode; } @Override public CreateProjectRequest clone() { return (CreateProjectRequest) super.clone(); } }