
com.amazonaws.services.codebuild.model.Project Maven / Gradle / Ivy
/*
* Copyright 2017-2022 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.protocol.StructuredPojo;
import com.amazonaws.protocol.ProtocolMarshaller;
/**
*
* Information about a build project.
*
*
* @see AWS API
* Documentation
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class Project implements Serializable, Cloneable, StructuredPojo {
/**
*
* The name of the build project.
*
*/
private String name;
/**
*
* The Amazon Resource Name (ARN) of the build project.
*
*/
private String arn;
/**
*
* A description that makes the build project easy to identify.
*
*/
private String description;
/**
*
* Information about the build input source code for this build project.
*
*/
private ProjectSource source;
/**
*
* An array of ProjectSource
objects.
*
*/
private java.util.List secondarySources;
/**
*
* 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 over these secondarySourceVersions
(at the project level).
*
*/
private java.util.List secondarySourceVersions;
/**
*
* Information about the build output artifacts for the build project.
*
*/
private ProjectArtifacts artifacts;
/**
*
* An array of ProjectArtifacts
objects.
*
*/
private java.util.List secondaryArtifacts;
/**
*
* Information about the cache for the build project.
*
*/
private ProjectCache cache;
/**
*
* Information about the build environment for this 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 timing out any related build that did
* not get 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>
). If you don't specify a value, CodeBuild uses the managed CMK for
* Amazon Simple Storage Service (Amazon S3).
*
*/
private String encryptionKey;
/**
*
* 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 tags;
/**
*
* When the build project was created, expressed in Unix time format.
*
*/
private java.util.Date created;
/**
*
* When the build project's settings were last modified, expressed in Unix time format.
*
*/
private java.util.Date lastModified;
/**
*
* Information about a webhook that connects repository events to a build project in CodeBuild.
*
*/
private Webhook webhook;
/**
*
* Information about the VPC configuration that CodeBuild accesses.
*
*/
private VpcConfig vpcConfig;
/**
*
* Information about the build badge for the build project.
*
*/
private ProjectBadge badge;
/**
*
* Information about logs for the build project. A project can create logs in CloudWatch Logs, an 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.
*
*/
private java.util.List fileSystemLocations;
/**
*
* 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;
private String projectVisibility;
/**
*
* Contains the project identifier used with the public build APIs.
*
*/
private String publicProjectAlias;
/**
*
* The ARN of the IAM role that enables CodeBuild to access the CloudWatch Logs and Amazon S3 artifacts for the
* project's builds.
*
*/
private String resourceAccessRole;
/**
*
* 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 Project withName(String name) {
setName(name);
return this;
}
/**
*
* The Amazon Resource Name (ARN) of the build project.
*
*
* @param arn
* The Amazon Resource Name (ARN) of the build project.
*/
public void setArn(String arn) {
this.arn = arn;
}
/**
*
* The Amazon Resource Name (ARN) of the build project.
*
*
* @return The Amazon Resource Name (ARN) of the build project.
*/
public String getArn() {
return this.arn;
}
/**
*
* The Amazon Resource Name (ARN) of the build project.
*
*
* @param arn
* The Amazon Resource Name (ARN) of the build project.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Project withArn(String arn) {
setArn(arn);
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 Project withDescription(String description) {
setDescription(description);
return this;
}
/**
*
* Information about the build input source code for this build project.
*
*
* @param source
* Information about the build input source code for this build project.
*/
public void setSource(ProjectSource source) {
this.source = source;
}
/**
*
* Information about the build input source code for this build project.
*
*
* @return Information about the build input source code for this build project.
*/
public ProjectSource getSource() {
return this.source;
}
/**
*
* Information about the build input source code for this build project.
*
*
* @param source
* Information about the build input source code for this build project.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Project withSource(ProjectSource source) {
setSource(source);
return this;
}
/**
*
* An array of ProjectSource
objects.
*
*
* @return An array of ProjectSource
objects.
*/
public java.util.List getSecondarySources() {
return secondarySources;
}
/**
*
* An array of ProjectSource
objects.
*
*
* @param secondarySources
* An array of ProjectSource
objects.
*/
public void setSecondarySources(java.util.Collection secondarySources) {
if (secondarySources == null) {
this.secondarySources = null;
return;
}
this.secondarySources = new java.util.ArrayList(secondarySources);
}
/**
*
* 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 of ProjectSource
objects.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Project withSecondarySources(ProjectSource... secondarySources) {
if (this.secondarySources == null) {
setSecondarySources(new java.util.ArrayList(secondarySources.length));
}
for (ProjectSource ele : secondarySources) {
this.secondarySources.add(ele);
}
return this;
}
/**
*
* An array of ProjectSource
objects.
*
*
* @param secondarySources
* An array of ProjectSource
objects.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Project withSecondarySources(java.util.Collection secondarySources) {
setSecondarySources(secondarySources);
return this;
}
/**
*
* 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 Project withSourceVersion(String sourceVersion) {
setSourceVersion(sourceVersion);
return this;
}
/**
*
* An array of ProjectSourceVersion
objects. If secondarySourceVersions
is specified at
* the build level, then they take over these secondarySourceVersions
(at the project level).
*
*
* @return An array of ProjectSourceVersion
objects. If secondarySourceVersions
is
* specified at the build level, then they take over these secondarySourceVersions
(at the
* project level).
*/
public java.util.List getSecondarySourceVersions() {
return secondarySourceVersions;
}
/**
*
* An array of ProjectSourceVersion
objects. If secondarySourceVersions
is specified at
* the build level, then they take over these secondarySourceVersions
(at the project level).
*
*
* @param secondarySourceVersions
* An array of ProjectSourceVersion
objects. If secondarySourceVersions
is
* specified at the build level, then they take over these secondarySourceVersions
(at the
* project level).
*/
public void setSecondarySourceVersions(java.util.Collection secondarySourceVersions) {
if (secondarySourceVersions == null) {
this.secondarySourceVersions = null;
return;
}
this.secondarySourceVersions = new java.util.ArrayList(secondarySourceVersions);
}
/**
*
* An array of ProjectSourceVersion
objects. If secondarySourceVersions
is specified at
* the build level, then they take 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 of ProjectSourceVersion
objects. If secondarySourceVersions
is
* specified at the build level, then they take over these secondarySourceVersions
(at the
* project level).
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Project withSecondarySourceVersions(ProjectSourceVersion... secondarySourceVersions) {
if (this.secondarySourceVersions == null) {
setSecondarySourceVersions(new java.util.ArrayList(secondarySourceVersions.length));
}
for (ProjectSourceVersion ele : secondarySourceVersions) {
this.secondarySourceVersions.add(ele);
}
return this;
}
/**
*
* An array of ProjectSourceVersion
objects. If secondarySourceVersions
is specified at
* the build level, then they take over these secondarySourceVersions
(at the project level).
*
*
* @param secondarySourceVersions
* An array of ProjectSourceVersion
objects. If secondarySourceVersions
is
* specified at the build level, then they take over these secondarySourceVersions
(at the
* project level).
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Project withSecondarySourceVersions(java.util.Collection secondarySourceVersions) {
setSecondarySourceVersions(secondarySourceVersions);
return this;
}
/**
*
* 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 Project withArtifacts(ProjectArtifacts artifacts) {
setArtifacts(artifacts);
return this;
}
/**
*
* An array of ProjectArtifacts
objects.
*
*
* @return An array of ProjectArtifacts
objects.
*/
public java.util.List getSecondaryArtifacts() {
return secondaryArtifacts;
}
/**
*
* An array of ProjectArtifacts
objects.
*
*
* @param secondaryArtifacts
* An array of ProjectArtifacts
objects.
*/
public void setSecondaryArtifacts(java.util.Collection secondaryArtifacts) {
if (secondaryArtifacts == null) {
this.secondaryArtifacts = null;
return;
}
this.secondaryArtifacts = new java.util.ArrayList(secondaryArtifacts);
}
/**
*
* 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 of ProjectArtifacts
objects.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Project withSecondaryArtifacts(ProjectArtifacts... secondaryArtifacts) {
if (this.secondaryArtifacts == null) {
setSecondaryArtifacts(new java.util.ArrayList(secondaryArtifacts.length));
}
for (ProjectArtifacts ele : secondaryArtifacts) {
this.secondaryArtifacts.add(ele);
}
return this;
}
/**
*
* An array of ProjectArtifacts
objects.
*
*
* @param secondaryArtifacts
* An array of ProjectArtifacts
objects.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Project withSecondaryArtifacts(java.util.Collection secondaryArtifacts) {
setSecondaryArtifacts(secondaryArtifacts);
return this;
}
/**
*
* Information about the cache for the build project.
*
*
* @param cache
* Information about the cache for the build project.
*/
public void setCache(ProjectCache cache) {
this.cache = cache;
}
/**
*
* Information about the cache for the build project.
*
*
* @return Information about the cache for the build project.
*/
public ProjectCache getCache() {
return this.cache;
}
/**
*
* Information about the cache for the build project.
*
*
* @param cache
* Information about the cache for the build project.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Project withCache(ProjectCache cache) {
setCache(cache);
return this;
}
/**
*
* Information about the build environment for this build project.
*
*
* @param environment
* Information about the build environment for this build project.
*/
public void setEnvironment(ProjectEnvironment environment) {
this.environment = environment;
}
/**
*
* Information about the build environment for this build project.
*
*
* @return Information about the build environment for this build project.
*/
public ProjectEnvironment getEnvironment() {
return this.environment;
}
/**
*
* Information about the build environment for this build project.
*
*
* @param environment
* Information about the build environment for this build project.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Project 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 Project withServiceRole(String serviceRole) {
setServiceRole(serviceRole);
return this;
}
/**
*
* How long, in minutes, from 5 to 480 (8 hours), for CodeBuild to wait before timing out any related build that did
* not get 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 timing out any related build
* that did not get 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 timing out any related build that did
* not get marked as completed. The default is 60 minutes.
*
*
* @return How long, in minutes, from 5 to 480 (8 hours), for CodeBuild to wait before timing out any related build
* that did not get 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 timing out any related build that did
* not get 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 timing out any related build
* that did not get marked as completed. The default is 60 minutes.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Project 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 Project 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>
). If you don't specify a value, CodeBuild uses the managed CMK for
* Amazon Simple Storage Service (Amazon S3).
*
*
* @param 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>
). If you don't specify a value, CodeBuild uses the
* managed CMK for Amazon Simple Storage Service (Amazon S3).
*/
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>
). If you don't specify a value, CodeBuild uses the managed CMK for
* Amazon Simple Storage Service (Amazon S3).
*
*
* @return 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>
). If you don't specify a value, CodeBuild uses the
* managed CMK for Amazon Simple Storage Service (Amazon S3).
*/
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>
). If you don't specify a value, CodeBuild uses the managed CMK for
* Amazon Simple Storage Service (Amazon S3).
*
*
* @param 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>
). If you don't specify a value, CodeBuild uses the
* managed CMK for Amazon Simple Storage Service (Amazon S3).
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Project 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 getTags() {
return tags;
}
/**
*
* 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.
*
*
* @param tags
* 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 void setTags(java.util.Collection tags) {
if (tags == null) {
this.tags = null;
return;
}
this.tags = new java.util.ArrayList(tags);
}
/**
*
* 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.
*
*
* @param tags
* 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 Returns a reference to this object so that method calls can be chained together.
*/
public Project withTags(Tag... tags) {
if (this.tags == null) {
setTags(new java.util.ArrayList(tags.length));
}
for (Tag ele : tags) {
this.tags.add(ele);
}
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.
*
*
* @param tags
* 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 Returns a reference to this object so that method calls can be chained together.
*/
public Project withTags(java.util.Collection tags) {
setTags(tags);
return this;
}
/**
*
* When the build project was created, expressed in Unix time format.
*
*
* @param created
* When the build project was created, expressed in Unix time format.
*/
public void setCreated(java.util.Date created) {
this.created = created;
}
/**
*
* When the build project was created, expressed in Unix time format.
*
*
* @return When the build project was created, expressed in Unix time format.
*/
public java.util.Date getCreated() {
return this.created;
}
/**
*
* When the build project was created, expressed in Unix time format.
*
*
* @param created
* When the build project was created, expressed in Unix time format.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Project withCreated(java.util.Date created) {
setCreated(created);
return this;
}
/**
*
* When the build project's settings were last modified, expressed in Unix time format.
*
*
* @param lastModified
* When the build project's settings were last modified, expressed in Unix time format.
*/
public void setLastModified(java.util.Date lastModified) {
this.lastModified = lastModified;
}
/**
*
* When the build project's settings were last modified, expressed in Unix time format.
*
*
* @return When the build project's settings were last modified, expressed in Unix time format.
*/
public java.util.Date getLastModified() {
return this.lastModified;
}
/**
*
* When the build project's settings were last modified, expressed in Unix time format.
*
*
* @param lastModified
* When the build project's settings were last modified, expressed in Unix time format.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Project withLastModified(java.util.Date lastModified) {
setLastModified(lastModified);
return this;
}
/**
*
* Information about a webhook that connects repository events to a build project in CodeBuild.
*
*
* @param webhook
* Information about a webhook that connects repository events to a build project in CodeBuild.
*/
public void setWebhook(Webhook webhook) {
this.webhook = webhook;
}
/**
*
* Information about a webhook that connects repository events to a build project in CodeBuild.
*
*
* @return Information about a webhook that connects repository events to a build project in CodeBuild.
*/
public Webhook getWebhook() {
return this.webhook;
}
/**
*
* Information about a webhook that connects repository events to a build project in CodeBuild.
*
*
* @param webhook
* Information about a webhook that connects repository events to a build project in CodeBuild.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Project withWebhook(Webhook webhook) {
setWebhook(webhook);
return this;
}
/**
*
* Information about the VPC configuration that CodeBuild accesses.
*
*
* @param vpcConfig
* Information about the VPC configuration that CodeBuild accesses.
*/
public void setVpcConfig(VpcConfig vpcConfig) {
this.vpcConfig = vpcConfig;
}
/**
*
* Information about the VPC configuration that CodeBuild accesses.
*
*
* @return Information about the VPC configuration that CodeBuild accesses.
*/
public VpcConfig getVpcConfig() {
return this.vpcConfig;
}
/**
*
* Information about the VPC configuration that CodeBuild accesses.
*
*
* @param vpcConfig
* Information about the VPC configuration that CodeBuild accesses.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Project withVpcConfig(VpcConfig vpcConfig) {
setVpcConfig(vpcConfig);
return this;
}
/**
*
* Information about the build badge for the build project.
*
*
* @param badge
* Information about the build badge for the build project.
*/
public void setBadge(ProjectBadge badge) {
this.badge = badge;
}
/**
*
* Information about the build badge for the build project.
*
*
* @return Information about the build badge for the build project.
*/
public ProjectBadge getBadge() {
return this.badge;
}
/**
*
* Information about the build badge for the build project.
*
*
* @param badge
* Information about the build badge for the build project.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Project withBadge(ProjectBadge badge) {
setBadge(badge);
return this;
}
/**
*
* Information about logs for the build project. A project can create logs in CloudWatch Logs, an S3 bucket, or
* both.
*
*
* @param logsConfig
* Information about logs for the build project. A project can create logs in CloudWatch Logs, an S3 bucket,
* or both.
*/
public void setLogsConfig(LogsConfig logsConfig) {
this.logsConfig = logsConfig;
}
/**
*
* Information about logs for the build project. A project can create logs in CloudWatch Logs, an S3 bucket, or
* both.
*
*
* @return Information about logs for the build project. A project can create logs in CloudWatch Logs, an S3 bucket,
* or both.
*/
public LogsConfig getLogsConfig() {
return this.logsConfig;
}
/**
*
* Information about logs for the build project. A project can create logs in CloudWatch Logs, an S3 bucket, or
* both.
*
*
* @param logsConfig
* Information about logs for the build project. A project can create logs in CloudWatch Logs, an S3 bucket,
* or both.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Project withLogsConfig(LogsConfig logsConfig) {
setLogsConfig(logsConfig);
return this;
}
/**
*
* 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.
*
*
* @return 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.
*/
public java.util.List getFileSystemLocations() {
return fileSystemLocations;
}
/**
*
* 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.
*
*
* @param fileSystemLocations
* 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.
*/
public void setFileSystemLocations(java.util.Collection fileSystemLocations) {
if (fileSystemLocations == null) {
this.fileSystemLocations = null;
return;
}
this.fileSystemLocations = new java.util.ArrayList(fileSystemLocations);
}
/**
*
* 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.
*
*
* 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.
*
*
* @param fileSystemLocations
* 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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Project withFileSystemLocations(ProjectFileSystemLocation... fileSystemLocations) {
if (this.fileSystemLocations == null) {
setFileSystemLocations(new java.util.ArrayList(fileSystemLocations.length));
}
for (ProjectFileSystemLocation ele : fileSystemLocations) {
this.fileSystemLocations.add(ele);
}
return this;
}
/**
*
* 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.
*
*
* @param fileSystemLocations
* 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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Project withFileSystemLocations(java.util.Collection fileSystemLocations) {
setFileSystemLocations(fileSystemLocations);
return this;
}
/**
*
* A ProjectBuildBatchConfig object that defines the batch build options for the project.
*
*
* @param buildBatchConfig
* A ProjectBuildBatchConfig object that defines the batch build options for the project.
*/
public void setBuildBatchConfig(ProjectBuildBatchConfig buildBatchConfig) {
this.buildBatchConfig = buildBatchConfig;
}
/**
*
* A ProjectBuildBatchConfig object that defines the batch build options for the project.
*
*
* @return A ProjectBuildBatchConfig object that defines the batch build options for the project.
*/
public ProjectBuildBatchConfig getBuildBatchConfig() {
return this.buildBatchConfig;
}
/**
*
* A ProjectBuildBatchConfig object that defines the batch build options for the project.
*
*
* @param buildBatchConfig
* A ProjectBuildBatchConfig object that defines the batch build options for the project.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Project withBuildBatchConfig(ProjectBuildBatchConfig buildBatchConfig) {
setBuildBatchConfig(buildBatchConfig);
return this;
}
/**
*
* 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.
*/
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 Project withConcurrentBuildLimit(Integer concurrentBuildLimit) {
setConcurrentBuildLimit(concurrentBuildLimit);
return this;
}
/**
* @param projectVisibility
* @see ProjectVisibilityType
*/
public void setProjectVisibility(String projectVisibility) {
this.projectVisibility = projectVisibility;
}
/**
* @return
* @see ProjectVisibilityType
*/
public String getProjectVisibility() {
return this.projectVisibility;
}
/**
* @param projectVisibility
* @return Returns a reference to this object so that method calls can be chained together.
* @see ProjectVisibilityType
*/
public Project withProjectVisibility(String projectVisibility) {
setProjectVisibility(projectVisibility);
return this;
}
/**
* @param projectVisibility
* @return Returns a reference to this object so that method calls can be chained together.
* @see ProjectVisibilityType
*/
public Project withProjectVisibility(ProjectVisibilityType projectVisibility) {
this.projectVisibility = projectVisibility.toString();
return this;
}
/**
*
* Contains the project identifier used with the public build APIs.
*
*
* @param publicProjectAlias
* Contains the project identifier used with the public build APIs.
*/
public void setPublicProjectAlias(String publicProjectAlias) {
this.publicProjectAlias = publicProjectAlias;
}
/**
*
* Contains the project identifier used with the public build APIs.
*
*
* @return Contains the project identifier used with the public build APIs.
*/
public String getPublicProjectAlias() {
return this.publicProjectAlias;
}
/**
*
* Contains the project identifier used with the public build APIs.
*
*
* @param publicProjectAlias
* Contains the project identifier used with the public build APIs.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Project withPublicProjectAlias(String publicProjectAlias) {
setPublicProjectAlias(publicProjectAlias);
return this;
}
/**
*
* The ARN of the IAM role that enables CodeBuild to access the CloudWatch Logs and Amazon S3 artifacts for the
* project's builds.
*
*
* @param resourceAccessRole
* The ARN of the IAM role that enables CodeBuild to access the CloudWatch Logs and Amazon S3 artifacts for
* the project's builds.
*/
public void setResourceAccessRole(String resourceAccessRole) {
this.resourceAccessRole = resourceAccessRole;
}
/**
*
* The ARN of the IAM role that enables CodeBuild to access the CloudWatch Logs and Amazon S3 artifacts for the
* project's builds.
*
*
* @return The ARN of the IAM role that enables CodeBuild to access the CloudWatch Logs and Amazon S3 artifacts for
* the project's builds.
*/
public String getResourceAccessRole() {
return this.resourceAccessRole;
}
/**
*
* The ARN of the IAM role that enables CodeBuild to access the CloudWatch Logs and Amazon S3 artifacts for the
* project's builds.
*
*
* @param resourceAccessRole
* The ARN of the IAM role that enables CodeBuild to access the CloudWatch Logs and Amazon S3 artifacts for
* the project's builds.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Project withResourceAccessRole(String resourceAccessRole) {
setResourceAccessRole(resourceAccessRole);
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 (getArn() != null)
sb.append("Arn: ").append(getArn()).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 (getCreated() != null)
sb.append("Created: ").append(getCreated()).append(",");
if (getLastModified() != null)
sb.append("LastModified: ").append(getLastModified()).append(",");
if (getWebhook() != null)
sb.append("Webhook: ").append(getWebhook()).append(",");
if (getVpcConfig() != null)
sb.append("VpcConfig: ").append(getVpcConfig()).append(",");
if (getBadge() != null)
sb.append("Badge: ").append(getBadge()).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()).append(",");
if (getProjectVisibility() != null)
sb.append("ProjectVisibility: ").append(getProjectVisibility()).append(",");
if (getPublicProjectAlias() != null)
sb.append("PublicProjectAlias: ").append(getPublicProjectAlias()).append(",");
if (getResourceAccessRole() != null)
sb.append("ResourceAccessRole: ").append(getResourceAccessRole());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof Project == false)
return false;
Project other = (Project) obj;
if (other.getName() == null ^ this.getName() == null)
return false;
if (other.getName() != null && other.getName().equals(this.getName()) == false)
return false;
if (other.getArn() == null ^ this.getArn() == null)
return false;
if (other.getArn() != null && other.getArn().equals(this.getArn()) == 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.getCreated() == null ^ this.getCreated() == null)
return false;
if (other.getCreated() != null && other.getCreated().equals(this.getCreated()) == false)
return false;
if (other.getLastModified() == null ^ this.getLastModified() == null)
return false;
if (other.getLastModified() != null && other.getLastModified().equals(this.getLastModified()) == false)
return false;
if (other.getWebhook() == null ^ this.getWebhook() == null)
return false;
if (other.getWebhook() != null && other.getWebhook().equals(this.getWebhook()) == 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.getBadge() == null ^ this.getBadge() == null)
return false;
if (other.getBadge() != null && other.getBadge().equals(this.getBadge()) == 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;
if (other.getProjectVisibility() == null ^ this.getProjectVisibility() == null)
return false;
if (other.getProjectVisibility() != null && other.getProjectVisibility().equals(this.getProjectVisibility()) == false)
return false;
if (other.getPublicProjectAlias() == null ^ this.getPublicProjectAlias() == null)
return false;
if (other.getPublicProjectAlias() != null && other.getPublicProjectAlias().equals(this.getPublicProjectAlias()) == false)
return false;
if (other.getResourceAccessRole() == null ^ this.getResourceAccessRole() == null)
return false;
if (other.getResourceAccessRole() != null && other.getResourceAccessRole().equals(this.getResourceAccessRole()) == 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 + ((getArn() == null) ? 0 : getArn().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 + ((getCreated() == null) ? 0 : getCreated().hashCode());
hashCode = prime * hashCode + ((getLastModified() == null) ? 0 : getLastModified().hashCode());
hashCode = prime * hashCode + ((getWebhook() == null) ? 0 : getWebhook().hashCode());
hashCode = prime * hashCode + ((getVpcConfig() == null) ? 0 : getVpcConfig().hashCode());
hashCode = prime * hashCode + ((getBadge() == null) ? 0 : getBadge().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());
hashCode = prime * hashCode + ((getProjectVisibility() == null) ? 0 : getProjectVisibility().hashCode());
hashCode = prime * hashCode + ((getPublicProjectAlias() == null) ? 0 : getPublicProjectAlias().hashCode());
hashCode = prime * hashCode + ((getResourceAccessRole() == null) ? 0 : getResourceAccessRole().hashCode());
return hashCode;
}
@Override
public Project clone() {
try {
return (Project) super.clone();
} catch (CloneNotSupportedException e) {
throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e);
}
}
@com.amazonaws.annotation.SdkInternalApi
@Override
public void marshall(ProtocolMarshaller protocolMarshaller) {
com.amazonaws.services.codebuild.model.transform.ProjectMarshaller.getInstance().marshall(this, protocolMarshaller);
}
}