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

com.amazonaws.services.securityhub.model.AwsCodeBuildProjectEnvironment Maven / Gradle / Ivy

Go to download

The AWS Java SDK for AWS SecurityHub module holds the client classes that are used for communicating with AWS SecurityHub Service

There is a newer version: 1.12.780
Show newest version
/*
 * Copyright 2016-2021 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.securityhub.model;

import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.protocol.StructuredPojo;
import com.amazonaws.protocol.ProtocolMarshaller;

/**
 * 

* Information about the build environment for this build project. *

* * @see AWS API Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class AwsCodeBuildProjectEnvironment implements Serializable, Cloneable, StructuredPojo { /** *

* The certificate to use with this build project. *

*/ private String certificate; /** *

* A set of environment variables to make available to builds for the build project. *

*/ private java.util.List environmentVariables; /** *

* Whether to allow the Docker daemon to run inside a Docker container. Set to true if the build * project is used to build Docker images. *

*/ private Boolean privilegedMode; /** *

* The type of credentials CodeBuild uses to pull images in your build. *

*

* Valid values: *

*
    *
  • *

    * CODEBUILD specifies that CodeBuild uses its own credentials. This requires that you modify your ECR * repository policy to trust the CodeBuild service principal. *

    *
  • *
  • *

    * SERVICE_ROLE specifies that CodeBuild uses your build project's service role. *

    *
  • *
*

* When you use a cross-account or private registry image, you must use SERVICE_ROLE credentials. When * you use an CodeBuild curated image, you must use CODEBUILD credentials. *

*/ private String imagePullCredentialsType; /** *

* The credentials for access to a private registry. *

*/ private AwsCodeBuildProjectEnvironmentRegistryCredential registryCredential; /** *

* The type of build environment to use for related builds. *

*

* The environment type ARM_CONTAINER is available only in Regions US East (N. Virginia), US East * (Ohio), US West (Oregon), Europe (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Sydney), * and Europe (Frankfurt). *

*

* The environment type LINUX_CONTAINER with compute type build.general1.2xlarge is available only in * Regions US East (N. Virginia), US East (N. Virginia), US West (Oregon), Canada (Central), Europe (Ireland), * Europe (London), Europe (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Seoul), Asia Pacific (Singapore), Asia * Pacific (Sydney), China (Beijing), and China (Ningxia). *

*

* The environment type LINUX_GPU_CONTAINER is available only in Regions US East (N. Virginia), US East * (N. Virginia), US West (Oregon), Canada (Central), Europe (Ireland), Europe (London), Europe (Frankfurt), Asia * Pacific (Tokyo), Asia Pacific (Seoul), Asia Pacific (Singapore), Asia Pacific (Sydney), China (Beijing), and * China (Ningxia). *

*

* Valid values: WINDOWS_CONTAINER | LINUX_CONTAINER | LINUX_GPU_CONTAINER | * ARM_CONTAINER *

*/ private String type; /** *

* The certificate to use with this build project. *

* * @param certificate * The certificate to use with this build project. */ public void setCertificate(String certificate) { this.certificate = certificate; } /** *

* The certificate to use with this build project. *

* * @return The certificate to use with this build project. */ public String getCertificate() { return this.certificate; } /** *

* The certificate to use with this build project. *

* * @param certificate * The certificate to use with this build project. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsCodeBuildProjectEnvironment withCertificate(String certificate) { setCertificate(certificate); return this; } /** *

* A set of environment variables to make available to builds for the build project. *

* * @return A set of environment variables to make available to builds for the build project. */ public java.util.List getEnvironmentVariables() { return environmentVariables; } /** *

* A set of environment variables to make available to builds for the build project. *

* * @param environmentVariables * A set of environment variables to make available to builds for the build project. */ public void setEnvironmentVariables(java.util.Collection environmentVariables) { if (environmentVariables == null) { this.environmentVariables = null; return; } this.environmentVariables = new java.util.ArrayList(environmentVariables); } /** *

* A set of environment variables to make available to builds for the build project. *

*

* NOTE: This method appends the values to the existing list (if any). Use * {@link #setEnvironmentVariables(java.util.Collection)} or {@link #withEnvironmentVariables(java.util.Collection)} * if you want to override the existing values. *

* * @param environmentVariables * A set of environment variables to make available to builds for the build project. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsCodeBuildProjectEnvironment withEnvironmentVariables(AwsCodeBuildProjectEnvironmentEnvironmentVariablesDetails... environmentVariables) { if (this.environmentVariables == null) { setEnvironmentVariables(new java.util.ArrayList(environmentVariables.length)); } for (AwsCodeBuildProjectEnvironmentEnvironmentVariablesDetails ele : environmentVariables) { this.environmentVariables.add(ele); } return this; } /** *

* A set of environment variables to make available to builds for the build project. *

* * @param environmentVariables * A set of environment variables to make available to builds for the build project. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsCodeBuildProjectEnvironment withEnvironmentVariables( java.util.Collection environmentVariables) { setEnvironmentVariables(environmentVariables); return this; } /** *

* Whether to allow the Docker daemon to run inside a Docker container. Set to true if the build * project is used to build Docker images. *

* * @param privilegedMode * Whether to allow the Docker daemon to run inside a Docker container. Set to true if the build * project is used to build Docker images. */ public void setPrivilegedMode(Boolean privilegedMode) { this.privilegedMode = privilegedMode; } /** *

* Whether to allow the Docker daemon to run inside a Docker container. Set to true if the build * project is used to build Docker images. *

* * @return Whether to allow the Docker daemon to run inside a Docker container. Set to true if the * build project is used to build Docker images. */ public Boolean getPrivilegedMode() { return this.privilegedMode; } /** *

* Whether to allow the Docker daemon to run inside a Docker container. Set to true if the build * project is used to build Docker images. *

* * @param privilegedMode * Whether to allow the Docker daemon to run inside a Docker container. Set to true if the build * project is used to build Docker images. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsCodeBuildProjectEnvironment withPrivilegedMode(Boolean privilegedMode) { setPrivilegedMode(privilegedMode); return this; } /** *

* Whether to allow the Docker daemon to run inside a Docker container. Set to true if the build * project is used to build Docker images. *

* * @return Whether to allow the Docker daemon to run inside a Docker container. Set to true if the * build project is used to build Docker images. */ public Boolean isPrivilegedMode() { return this.privilegedMode; } /** *

* The type of credentials CodeBuild uses to pull images in your build. *

*

* Valid values: *

*
    *
  • *

    * CODEBUILD specifies that CodeBuild uses its own credentials. This requires that you modify your ECR * repository policy to trust the CodeBuild service principal. *

    *
  • *
  • *

    * SERVICE_ROLE specifies that CodeBuild uses your build project's service role. *

    *
  • *
*

* When you use a cross-account or private registry image, you must use SERVICE_ROLE credentials. When * you use an CodeBuild curated image, you must use CODEBUILD credentials. *

* * @param imagePullCredentialsType * The type of credentials CodeBuild uses to pull images in your build.

*

* Valid values: *

*
    *
  • *

    * CODEBUILD specifies that CodeBuild uses its own credentials. This requires that you modify * your ECR repository policy to trust the CodeBuild service principal. *

    *
  • *
  • *

    * SERVICE_ROLE specifies that CodeBuild uses your build project's service role. *

    *
  • *
*

* When you use a cross-account or private registry image, you must use SERVICE_ROLE * credentials. When you use an CodeBuild curated image, you must use CODEBUILD credentials. */ public void setImagePullCredentialsType(String imagePullCredentialsType) { this.imagePullCredentialsType = imagePullCredentialsType; } /** *

* The type of credentials CodeBuild uses to pull images in your build. *

*

* Valid values: *

*
    *
  • *

    * CODEBUILD specifies that CodeBuild uses its own credentials. This requires that you modify your ECR * repository policy to trust the CodeBuild service principal. *

    *
  • *
  • *

    * SERVICE_ROLE specifies that CodeBuild uses your build project's service role. *

    *
  • *
*

* When you use a cross-account or private registry image, you must use SERVICE_ROLE credentials. When * you use an CodeBuild curated image, you must use CODEBUILD credentials. *

* * @return The type of credentials CodeBuild uses to pull images in your build.

*

* Valid values: *

*
    *
  • *

    * CODEBUILD specifies that CodeBuild uses its own credentials. This requires that you modify * your ECR repository policy to trust the CodeBuild service principal. *

    *
  • *
  • *

    * SERVICE_ROLE specifies that CodeBuild uses your build project's service role. *

    *
  • *
*

* When you use a cross-account or private registry image, you must use SERVICE_ROLE * credentials. When you use an CodeBuild curated image, you must use CODEBUILD credentials. */ public String getImagePullCredentialsType() { return this.imagePullCredentialsType; } /** *

* The type of credentials CodeBuild uses to pull images in your build. *

*

* Valid values: *

*
    *
  • *

    * CODEBUILD specifies that CodeBuild uses its own credentials. This requires that you modify your ECR * repository policy to trust the CodeBuild service principal. *

    *
  • *
  • *

    * SERVICE_ROLE specifies that CodeBuild uses your build project's service role. *

    *
  • *
*

* When you use a cross-account or private registry image, you must use SERVICE_ROLE credentials. When * you use an CodeBuild curated image, you must use CODEBUILD credentials. *

* * @param imagePullCredentialsType * The type of credentials CodeBuild uses to pull images in your build.

*

* Valid values: *

*
    *
  • *

    * CODEBUILD specifies that CodeBuild uses its own credentials. This requires that you modify * your ECR repository policy to trust the CodeBuild service principal. *

    *
  • *
  • *

    * SERVICE_ROLE specifies that CodeBuild uses your build project's service role. *

    *
  • *
*

* When you use a cross-account or private registry image, you must use SERVICE_ROLE * credentials. When you use an CodeBuild curated image, you must use CODEBUILD credentials. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsCodeBuildProjectEnvironment withImagePullCredentialsType(String imagePullCredentialsType) { setImagePullCredentialsType(imagePullCredentialsType); return this; } /** *

* The credentials for access to a private registry. *

* * @param registryCredential * The credentials for access to a private registry. */ public void setRegistryCredential(AwsCodeBuildProjectEnvironmentRegistryCredential registryCredential) { this.registryCredential = registryCredential; } /** *

* The credentials for access to a private registry. *

* * @return The credentials for access to a private registry. */ public AwsCodeBuildProjectEnvironmentRegistryCredential getRegistryCredential() { return this.registryCredential; } /** *

* The credentials for access to a private registry. *

* * @param registryCredential * The credentials for access to a private registry. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsCodeBuildProjectEnvironment withRegistryCredential(AwsCodeBuildProjectEnvironmentRegistryCredential registryCredential) { setRegistryCredential(registryCredential); return this; } /** *

* The type of build environment to use for related builds. *

*

* The environment type ARM_CONTAINER is available only in Regions US East (N. Virginia), US East * (Ohio), US West (Oregon), Europe (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Sydney), * and Europe (Frankfurt). *

*

* The environment type LINUX_CONTAINER with compute type build.general1.2xlarge is available only in * Regions US East (N. Virginia), US East (N. Virginia), US West (Oregon), Canada (Central), Europe (Ireland), * Europe (London), Europe (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Seoul), Asia Pacific (Singapore), Asia * Pacific (Sydney), China (Beijing), and China (Ningxia). *

*

* The environment type LINUX_GPU_CONTAINER is available only in Regions US East (N. Virginia), US East * (N. Virginia), US West (Oregon), Canada (Central), Europe (Ireland), Europe (London), Europe (Frankfurt), Asia * Pacific (Tokyo), Asia Pacific (Seoul), Asia Pacific (Singapore), Asia Pacific (Sydney), China (Beijing), and * China (Ningxia). *

*

* Valid values: WINDOWS_CONTAINER | LINUX_CONTAINER | LINUX_GPU_CONTAINER | * ARM_CONTAINER *

* * @param type * The type of build environment to use for related builds.

*

* The environment type ARM_CONTAINER is available only in Regions US East (N. Virginia), US * East (Ohio), US West (Oregon), Europe (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific * (Sydney), and Europe (Frankfurt). *

*

* The environment type LINUX_CONTAINER with compute type build.general1.2xlarge is available * only in Regions US East (N. Virginia), US East (N. Virginia), US West (Oregon), Canada (Central), Europe * (Ireland), Europe (London), Europe (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Seoul), Asia Pacific * (Singapore), Asia Pacific (Sydney), China (Beijing), and China (Ningxia). *

*

* The environment type LINUX_GPU_CONTAINER is available only in Regions US East (N. Virginia), * US East (N. Virginia), US West (Oregon), Canada (Central), Europe (Ireland), Europe (London), Europe * (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Seoul), Asia Pacific (Singapore), Asia Pacific (Sydney), * China (Beijing), and China (Ningxia). *

*

* Valid values: WINDOWS_CONTAINER | LINUX_CONTAINER | * LINUX_GPU_CONTAINER | ARM_CONTAINER */ public void setType(String type) { this.type = type; } /** *

* The type of build environment to use for related builds. *

*

* The environment type ARM_CONTAINER is available only in Regions US East (N. Virginia), US East * (Ohio), US West (Oregon), Europe (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Sydney), * and Europe (Frankfurt). *

*

* The environment type LINUX_CONTAINER with compute type build.general1.2xlarge is available only in * Regions US East (N. Virginia), US East (N. Virginia), US West (Oregon), Canada (Central), Europe (Ireland), * Europe (London), Europe (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Seoul), Asia Pacific (Singapore), Asia * Pacific (Sydney), China (Beijing), and China (Ningxia). *

*

* The environment type LINUX_GPU_CONTAINER is available only in Regions US East (N. Virginia), US East * (N. Virginia), US West (Oregon), Canada (Central), Europe (Ireland), Europe (London), Europe (Frankfurt), Asia * Pacific (Tokyo), Asia Pacific (Seoul), Asia Pacific (Singapore), Asia Pacific (Sydney), China (Beijing), and * China (Ningxia). *

*

* Valid values: WINDOWS_CONTAINER | LINUX_CONTAINER | LINUX_GPU_CONTAINER | * ARM_CONTAINER *

* * @return The type of build environment to use for related builds.

*

* The environment type ARM_CONTAINER is available only in Regions US East (N. Virginia), US * East (Ohio), US West (Oregon), Europe (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia * Pacific (Sydney), and Europe (Frankfurt). *

*

* The environment type LINUX_CONTAINER with compute type build.general1.2xlarge is available * only in Regions US East (N. Virginia), US East (N. Virginia), US West (Oregon), Canada (Central), Europe * (Ireland), Europe (London), Europe (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Seoul), Asia Pacific * (Singapore), Asia Pacific (Sydney), China (Beijing), and China (Ningxia). *

*

* The environment type LINUX_GPU_CONTAINER is available only in Regions US East (N. Virginia), * US East (N. Virginia), US West (Oregon), Canada (Central), Europe (Ireland), Europe (London), Europe * (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Seoul), Asia Pacific (Singapore), Asia Pacific (Sydney), * China (Beijing), and China (Ningxia). *

*

* Valid values: WINDOWS_CONTAINER | LINUX_CONTAINER | * LINUX_GPU_CONTAINER | ARM_CONTAINER */ public String getType() { return this.type; } /** *

* The type of build environment to use for related builds. *

*

* The environment type ARM_CONTAINER is available only in Regions US East (N. Virginia), US East * (Ohio), US West (Oregon), Europe (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Sydney), * and Europe (Frankfurt). *

*

* The environment type LINUX_CONTAINER with compute type build.general1.2xlarge is available only in * Regions US East (N. Virginia), US East (N. Virginia), US West (Oregon), Canada (Central), Europe (Ireland), * Europe (London), Europe (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Seoul), Asia Pacific (Singapore), Asia * Pacific (Sydney), China (Beijing), and China (Ningxia). *

*

* The environment type LINUX_GPU_CONTAINER is available only in Regions US East (N. Virginia), US East * (N. Virginia), US West (Oregon), Canada (Central), Europe (Ireland), Europe (London), Europe (Frankfurt), Asia * Pacific (Tokyo), Asia Pacific (Seoul), Asia Pacific (Singapore), Asia Pacific (Sydney), China (Beijing), and * China (Ningxia). *

*

* Valid values: WINDOWS_CONTAINER | LINUX_CONTAINER | LINUX_GPU_CONTAINER | * ARM_CONTAINER *

* * @param type * The type of build environment to use for related builds.

*

* The environment type ARM_CONTAINER is available only in Regions US East (N. Virginia), US * East (Ohio), US West (Oregon), Europe (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific * (Sydney), and Europe (Frankfurt). *

*

* The environment type LINUX_CONTAINER with compute type build.general1.2xlarge is available * only in Regions US East (N. Virginia), US East (N. Virginia), US West (Oregon), Canada (Central), Europe * (Ireland), Europe (London), Europe (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Seoul), Asia Pacific * (Singapore), Asia Pacific (Sydney), China (Beijing), and China (Ningxia). *

*

* The environment type LINUX_GPU_CONTAINER is available only in Regions US East (N. Virginia), * US East (N. Virginia), US West (Oregon), Canada (Central), Europe (Ireland), Europe (London), Europe * (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Seoul), Asia Pacific (Singapore), Asia Pacific (Sydney), * China (Beijing), and China (Ningxia). *

*

* Valid values: WINDOWS_CONTAINER | LINUX_CONTAINER | * LINUX_GPU_CONTAINER | ARM_CONTAINER * @return Returns a reference to this object so that method calls can be chained together. */ public AwsCodeBuildProjectEnvironment withType(String type) { setType(type); 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 (getCertificate() != null) sb.append("Certificate: ").append(getCertificate()).append(","); if (getEnvironmentVariables() != null) sb.append("EnvironmentVariables: ").append(getEnvironmentVariables()).append(","); if (getPrivilegedMode() != null) sb.append("PrivilegedMode: ").append(getPrivilegedMode()).append(","); if (getImagePullCredentialsType() != null) sb.append("ImagePullCredentialsType: ").append(getImagePullCredentialsType()).append(","); if (getRegistryCredential() != null) sb.append("RegistryCredential: ").append(getRegistryCredential()).append(","); if (getType() != null) sb.append("Type: ").append(getType()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof AwsCodeBuildProjectEnvironment == false) return false; AwsCodeBuildProjectEnvironment other = (AwsCodeBuildProjectEnvironment) obj; if (other.getCertificate() == null ^ this.getCertificate() == null) return false; if (other.getCertificate() != null && other.getCertificate().equals(this.getCertificate()) == false) return false; if (other.getEnvironmentVariables() == null ^ this.getEnvironmentVariables() == null) return false; if (other.getEnvironmentVariables() != null && other.getEnvironmentVariables().equals(this.getEnvironmentVariables()) == false) return false; if (other.getPrivilegedMode() == null ^ this.getPrivilegedMode() == null) return false; if (other.getPrivilegedMode() != null && other.getPrivilegedMode().equals(this.getPrivilegedMode()) == false) return false; if (other.getImagePullCredentialsType() == null ^ this.getImagePullCredentialsType() == null) return false; if (other.getImagePullCredentialsType() != null && other.getImagePullCredentialsType().equals(this.getImagePullCredentialsType()) == false) return false; if (other.getRegistryCredential() == null ^ this.getRegistryCredential() == null) return false; if (other.getRegistryCredential() != null && other.getRegistryCredential().equals(this.getRegistryCredential()) == false) return false; if (other.getType() == null ^ this.getType() == null) return false; if (other.getType() != null && other.getType().equals(this.getType()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getCertificate() == null) ? 0 : getCertificate().hashCode()); hashCode = prime * hashCode + ((getEnvironmentVariables() == null) ? 0 : getEnvironmentVariables().hashCode()); hashCode = prime * hashCode + ((getPrivilegedMode() == null) ? 0 : getPrivilegedMode().hashCode()); hashCode = prime * hashCode + ((getImagePullCredentialsType() == null) ? 0 : getImagePullCredentialsType().hashCode()); hashCode = prime * hashCode + ((getRegistryCredential() == null) ? 0 : getRegistryCredential().hashCode()); hashCode = prime * hashCode + ((getType() == null) ? 0 : getType().hashCode()); return hashCode; } @Override public AwsCodeBuildProjectEnvironment clone() { try { return (AwsCodeBuildProjectEnvironment) 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.securityhub.model.transform.AwsCodeBuildProjectEnvironmentMarshaller.getInstance().marshall(this, protocolMarshaller); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy