All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.codebuild.model.CreateProjectRequest Maven / Gradle / Ivy

Go to download

The AWS Java SDK for AWS Code Build module holds the client classes that are used for communicating with AWS Code Build.

There is a newer version: 1.12.772
Show newest version
/*
 * Copyright 2019-2024 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. *

*/ 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 GitLab: the commit ID, branch, or Git tag to use. *

    *
  • *
  • *

    * 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). *

*/ 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; /** *

* 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 2160 (36 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>). *

*/ 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; /** *

* VpcConfig enables CodeBuild to access resources in an Amazon VPC. *

* *

* If you're using compute fleets during project creation, do not provide vpcConfig. *

*
*/ 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. *

*/ 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; /** *

* 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. *

* * @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 CreateProjectRequest 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 CreateProjectRequest 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 GitLab: the commit ID, branch, or Git tag to use. *

    *
  • *
  • *

    * 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 GitLab: the commit ID, branch, or Git tag to use. *

    *
  • *
  • *

    * 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 GitLab: the commit ID, branch, or Git tag to use. *

    *
  • *
  • *

    * 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 GitLab: the commit ID, branch, or Git tag to use. *

    *
  • *
  • *

    * 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 GitLab: the commit ID, branch, or Git tag to use. *

    *
  • *
  • *

    * 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 GitLab: the commit ID, branch, or Git tag to use. *

    *
  • *
  • *

    * 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). *

* * @return An array of 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 getSecondarySourceVersions() { return secondarySourceVersions; } /** *

* An array of ProjectSourceVersion objects. If secondarySourceVersions is specified at * the build level, then they take precedence 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 precedence 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 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 of 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(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 precedence 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 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 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 CreateProjectRequest 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 CreateProjectRequest 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 CreateProjectRequest withSecondaryArtifacts(java.util.Collection secondaryArtifacts) { setSecondaryArtifacts(secondaryArtifacts); return this; } /** *

* 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 2160 (36 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 2160 (36 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 2160 (36 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 2160 (36 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 2160 (36 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 2160 (36 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>). *

* * @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>). */ 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>). *

* * @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>). */ 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>). *

* * @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>). * @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 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 CreateProjectRequest 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 CreateProjectRequest withTags(java.util.Collection tags) { setTags(tags); return this; } /** *

* VpcConfig enables CodeBuild to access resources in an Amazon VPC. *

* *

* If you're using compute fleets during project creation, do not provide vpcConfig. *

*
* * @param vpcConfig * VpcConfig enables CodeBuild to access resources in an Amazon VPC.

*

* If you're using compute fleets during project creation, do not provide vpcConfig. *

*/ public void setVpcConfig(VpcConfig vpcConfig) { this.vpcConfig = vpcConfig; } /** *

* VpcConfig enables CodeBuild to access resources in an Amazon VPC. *

* *

* If you're using compute fleets during project creation, do not provide vpcConfig. *

*
* * @return VpcConfig enables CodeBuild to access resources in an Amazon VPC.

*

* If you're using compute fleets during project creation, do not provide vpcConfig. *

*/ public VpcConfig getVpcConfig() { return this.vpcConfig; } /** *

* VpcConfig enables CodeBuild to access resources in an Amazon VPC. *

* *

* If you're using compute fleets during project creation, do not provide vpcConfig. *

*
* * @param vpcConfig * VpcConfig enables CodeBuild to access resources in an Amazon VPC.

*

* If you're using compute fleets during project creation, do not provide vpcConfig. *

* @return Returns a reference to this object so that method calls can be chained together. */ public CreateProjectRequest withVpcConfig(VpcConfig vpcConfig) { setVpcConfig(vpcConfig); return this; } /** *

* Set this to true to generate a publicly accessible URL for your project's build badge. *

* * @param badgeEnabled * Set this to true to generate a publicly accessible URL for your project's build badge. */ public void setBadgeEnabled(Boolean badgeEnabled) { this.badgeEnabled = badgeEnabled; } /** *

* Set this to true to generate a publicly accessible URL for your project's build badge. *

* * @return Set this to true to generate a publicly accessible URL for your project's build badge. */ public Boolean getBadgeEnabled() { return this.badgeEnabled; } /** *

* Set this to true to generate a publicly accessible URL for your project's build badge. *

* * @param badgeEnabled * Set this to true to generate a publicly accessible URL for your project's build badge. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateProjectRequest withBadgeEnabled(Boolean badgeEnabled) { setBadgeEnabled(badgeEnabled); return this; } /** *

* Set this to true to generate a publicly accessible URL for your project's build badge. *

* * @return Set this to true to generate a publicly accessible URL for your project's build badge. */ public Boolean isBadgeEnabled() { return this.badgeEnabled; } /** *

* Information about logs for the build project. These can be logs in CloudWatch Logs, logs uploaded to a specified * S3 bucket, or both. *

* * @param logsConfig * Information about logs for the build project. These can be logs in CloudWatch Logs, logs uploaded to a * specified S3 bucket, or both. */ public void setLogsConfig(LogsConfig logsConfig) { this.logsConfig = logsConfig; } /** *

* Information about logs for the build project. These can be logs in CloudWatch Logs, logs uploaded to a specified * S3 bucket, or both. *

* * @return Information about logs for the build project. These can be logs in CloudWatch Logs, logs uploaded to a * specified S3 bucket, or both. */ public LogsConfig getLogsConfig() { return this.logsConfig; } /** *

* Information about logs for the build project. These can be logs in CloudWatch Logs, logs uploaded to a specified * S3 bucket, or both. *

* * @param logsConfig * Information about logs for the build project. These can be logs in CloudWatch Logs, logs uploaded to a * specified S3 bucket, or both. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateProjectRequest 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 CreateProjectRequest 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 CreateProjectRequest 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 CreateProjectRequest 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 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(); } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy