/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.imagebuilder.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 CreateImagePipelineRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable { /** *
* The name of the image pipeline. *
*/ private String name; /** ** The description of the image pipeline. *
*/ private String description; /** ** The Amazon Resource Name (ARN) of the image recipe that will be used to configure images created by this image * pipeline. *
*/ private String imageRecipeArn; /** ** The Amazon Resource Name (ARN) of the container recipe that is used to configure images created by this container * pipeline. *
*/ private String containerRecipeArn; /** ** The Amazon Resource Name (ARN) of the infrastructure configuration that will be used to build images created by * this image pipeline. *
*/ private String infrastructureConfigurationArn; /** ** The Amazon Resource Name (ARN) of the distribution configuration that will be used to configure and distribute * images created by this image pipeline. *
*/ private String distributionConfigurationArn; /** ** The image test configuration of the image pipeline. *
*/ private ImageTestsConfiguration imageTestsConfiguration; /** ** Collects additional information about the image being created, including the operating system (OS) version and * package list. This information is used to enhance the overall experience of using EC2 Image Builder. Enabled by * default. *
*/ private Boolean enhancedImageMetadataEnabled; /** ** The schedule of the image pipeline. *
*/ private Schedule schedule; /** ** The status of the image pipeline. *
*/ private String status; /** ** The tags of the image pipeline. *
*/ private java.util.Map* The idempotency token used to make this request idempotent. *
*/ private String clientToken; /** ** Contains settings for vulnerability scans. *
*/ private ImageScanningConfiguration imageScanningConfiguration; /** ** The name of the image pipeline. *
* * @param name * The name of the image pipeline. */ public void setName(String name) { this.name = name; } /** ** The name of the image pipeline. *
* * @return The name of the image pipeline. */ public String getName() { return this.name; } /** ** The name of the image pipeline. *
* * @param name * The name of the image pipeline. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateImagePipelineRequest withName(String name) { setName(name); return this; } /** ** The description of the image pipeline. *
* * @param description * The description of the image pipeline. */ public void setDescription(String description) { this.description = description; } /** ** The description of the image pipeline. *
* * @return The description of the image pipeline. */ public String getDescription() { return this.description; } /** ** The description of the image pipeline. *
* * @param description * The description of the image pipeline. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateImagePipelineRequest withDescription(String description) { setDescription(description); return this; } /** ** The Amazon Resource Name (ARN) of the image recipe that will be used to configure images created by this image * pipeline. *
* * @param imageRecipeArn * The Amazon Resource Name (ARN) of the image recipe that will be used to configure images created by this * image pipeline. */ public void setImageRecipeArn(String imageRecipeArn) { this.imageRecipeArn = imageRecipeArn; } /** ** The Amazon Resource Name (ARN) of the image recipe that will be used to configure images created by this image * pipeline. *
* * @return The Amazon Resource Name (ARN) of the image recipe that will be used to configure images created by this * image pipeline. */ public String getImageRecipeArn() { return this.imageRecipeArn; } /** ** The Amazon Resource Name (ARN) of the image recipe that will be used to configure images created by this image * pipeline. *
* * @param imageRecipeArn * The Amazon Resource Name (ARN) of the image recipe that will be used to configure images created by this * image pipeline. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateImagePipelineRequest withImageRecipeArn(String imageRecipeArn) { setImageRecipeArn(imageRecipeArn); return this; } /** ** The Amazon Resource Name (ARN) of the container recipe that is used to configure images created by this container * pipeline. *
* * @param containerRecipeArn * The Amazon Resource Name (ARN) of the container recipe that is used to configure images created by this * container pipeline. */ public void setContainerRecipeArn(String containerRecipeArn) { this.containerRecipeArn = containerRecipeArn; } /** ** The Amazon Resource Name (ARN) of the container recipe that is used to configure images created by this container * pipeline. *
* * @return The Amazon Resource Name (ARN) of the container recipe that is used to configure images created by this * container pipeline. */ public String getContainerRecipeArn() { return this.containerRecipeArn; } /** ** The Amazon Resource Name (ARN) of the container recipe that is used to configure images created by this container * pipeline. *
* * @param containerRecipeArn * The Amazon Resource Name (ARN) of the container recipe that is used to configure images created by this * container pipeline. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateImagePipelineRequest withContainerRecipeArn(String containerRecipeArn) { setContainerRecipeArn(containerRecipeArn); return this; } /** ** The Amazon Resource Name (ARN) of the infrastructure configuration that will be used to build images created by * this image pipeline. *
* * @param infrastructureConfigurationArn * The Amazon Resource Name (ARN) of the infrastructure configuration that will be used to build images * created by this image pipeline. */ public void setInfrastructureConfigurationArn(String infrastructureConfigurationArn) { this.infrastructureConfigurationArn = infrastructureConfigurationArn; } /** ** The Amazon Resource Name (ARN) of the infrastructure configuration that will be used to build images created by * this image pipeline. *
* * @return The Amazon Resource Name (ARN) of the infrastructure configuration that will be used to build images * created by this image pipeline. */ public String getInfrastructureConfigurationArn() { return this.infrastructureConfigurationArn; } /** ** The Amazon Resource Name (ARN) of the infrastructure configuration that will be used to build images created by * this image pipeline. *
* * @param infrastructureConfigurationArn * The Amazon Resource Name (ARN) of the infrastructure configuration that will be used to build images * created by this image pipeline. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateImagePipelineRequest withInfrastructureConfigurationArn(String infrastructureConfigurationArn) { setInfrastructureConfigurationArn(infrastructureConfigurationArn); return this; } /** ** The Amazon Resource Name (ARN) of the distribution configuration that will be used to configure and distribute * images created by this image pipeline. *
* * @param distributionConfigurationArn * The Amazon Resource Name (ARN) of the distribution configuration that will be used to configure and * distribute images created by this image pipeline. */ public void setDistributionConfigurationArn(String distributionConfigurationArn) { this.distributionConfigurationArn = distributionConfigurationArn; } /** ** The Amazon Resource Name (ARN) of the distribution configuration that will be used to configure and distribute * images created by this image pipeline. *
* * @return The Amazon Resource Name (ARN) of the distribution configuration that will be used to configure and * distribute images created by this image pipeline. */ public String getDistributionConfigurationArn() { return this.distributionConfigurationArn; } /** ** The Amazon Resource Name (ARN) of the distribution configuration that will be used to configure and distribute * images created by this image pipeline. *
* * @param distributionConfigurationArn * The Amazon Resource Name (ARN) of the distribution configuration that will be used to configure and * distribute images created by this image pipeline. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateImagePipelineRequest withDistributionConfigurationArn(String distributionConfigurationArn) { setDistributionConfigurationArn(distributionConfigurationArn); return this; } /** ** The image test configuration of the image pipeline. *
* * @param imageTestsConfiguration * The image test configuration of the image pipeline. */ public void setImageTestsConfiguration(ImageTestsConfiguration imageTestsConfiguration) { this.imageTestsConfiguration = imageTestsConfiguration; } /** ** The image test configuration of the image pipeline. *
* * @return The image test configuration of the image pipeline. */ public ImageTestsConfiguration getImageTestsConfiguration() { return this.imageTestsConfiguration; } /** ** The image test configuration of the image pipeline. *
* * @param imageTestsConfiguration * The image test configuration of the image pipeline. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateImagePipelineRequest withImageTestsConfiguration(ImageTestsConfiguration imageTestsConfiguration) { setImageTestsConfiguration(imageTestsConfiguration); return this; } /** ** Collects additional information about the image being created, including the operating system (OS) version and * package list. This information is used to enhance the overall experience of using EC2 Image Builder. Enabled by * default. *
* * @param enhancedImageMetadataEnabled * Collects additional information about the image being created, including the operating system (OS) version * and package list. This information is used to enhance the overall experience of using EC2 Image Builder. * Enabled by default. */ public void setEnhancedImageMetadataEnabled(Boolean enhancedImageMetadataEnabled) { this.enhancedImageMetadataEnabled = enhancedImageMetadataEnabled; } /** ** Collects additional information about the image being created, including the operating system (OS) version and * package list. This information is used to enhance the overall experience of using EC2 Image Builder. Enabled by * default. *
* * @return Collects additional information about the image being created, including the operating system (OS) * version and package list. This information is used to enhance the overall experience of using EC2 Image * Builder. Enabled by default. */ public Boolean getEnhancedImageMetadataEnabled() { return this.enhancedImageMetadataEnabled; } /** ** Collects additional information about the image being created, including the operating system (OS) version and * package list. This information is used to enhance the overall experience of using EC2 Image Builder. Enabled by * default. *
* * @param enhancedImageMetadataEnabled * Collects additional information about the image being created, including the operating system (OS) version * and package list. This information is used to enhance the overall experience of using EC2 Image Builder. * Enabled by default. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateImagePipelineRequest withEnhancedImageMetadataEnabled(Boolean enhancedImageMetadataEnabled) { setEnhancedImageMetadataEnabled(enhancedImageMetadataEnabled); return this; } /** ** Collects additional information about the image being created, including the operating system (OS) version and * package list. This information is used to enhance the overall experience of using EC2 Image Builder. Enabled by * default. *
* * @return Collects additional information about the image being created, including the operating system (OS) * version and package list. This information is used to enhance the overall experience of using EC2 Image * Builder. Enabled by default. */ public Boolean isEnhancedImageMetadataEnabled() { return this.enhancedImageMetadataEnabled; } /** ** The schedule of the image pipeline. *
* * @param schedule * The schedule of the image pipeline. */ public void setSchedule(Schedule schedule) { this.schedule = schedule; } /** ** The schedule of the image pipeline. *
* * @return The schedule of the image pipeline. */ public Schedule getSchedule() { return this.schedule; } /** ** The schedule of the image pipeline. *
* * @param schedule * The schedule of the image pipeline. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateImagePipelineRequest withSchedule(Schedule schedule) { setSchedule(schedule); return this; } /** ** The status of the image pipeline. *
* * @param status * The status of the image pipeline. * @see PipelineStatus */ public void setStatus(String status) { this.status = status; } /** ** The status of the image pipeline. *
* * @return The status of the image pipeline. * @see PipelineStatus */ public String getStatus() { return this.status; } /** ** The status of the image pipeline. *
* * @param status * The status of the image pipeline. * @return Returns a reference to this object so that method calls can be chained together. * @see PipelineStatus */ public CreateImagePipelineRequest withStatus(String status) { setStatus(status); return this; } /** ** The status of the image pipeline. *
* * @param status * The status of the image pipeline. * @return Returns a reference to this object so that method calls can be chained together. * @see PipelineStatus */ public CreateImagePipelineRequest withStatus(PipelineStatus status) { this.status = status.toString(); return this; } /** ** The tags of the image pipeline. *
* * @return The tags of the image pipeline. */ public java.util.Map* The tags of the image pipeline. *
* * @param tags * The tags of the image pipeline. */ public void setTags(java.util.Map* The tags of the image pipeline. *
* * @param tags * The tags of the image pipeline. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateImagePipelineRequest withTags(java.util.Map* The idempotency token used to make this request idempotent. *
* * @param clientToken * The idempotency token used to make this request idempotent. */ public void setClientToken(String clientToken) { this.clientToken = clientToken; } /** ** The idempotency token used to make this request idempotent. *
* * @return The idempotency token used to make this request idempotent. */ public String getClientToken() { return this.clientToken; } /** ** The idempotency token used to make this request idempotent. *
* * @param clientToken * The idempotency token used to make this request idempotent. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateImagePipelineRequest withClientToken(String clientToken) { setClientToken(clientToken); return this; } /** ** Contains settings for vulnerability scans. *
* * @param imageScanningConfiguration * Contains settings for vulnerability scans. */ public void setImageScanningConfiguration(ImageScanningConfiguration imageScanningConfiguration) { this.imageScanningConfiguration = imageScanningConfiguration; } /** ** Contains settings for vulnerability scans. *
* * @return Contains settings for vulnerability scans. */ public ImageScanningConfiguration getImageScanningConfiguration() { return this.imageScanningConfiguration; } /** ** Contains settings for vulnerability scans. *
* * @param imageScanningConfiguration * Contains settings for vulnerability scans. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateImagePipelineRequest withImageScanningConfiguration(ImageScanningConfiguration imageScanningConfiguration) { setImageScanningConfiguration(imageScanningConfiguration); 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 (getImageRecipeArn() != null) sb.append("ImageRecipeArn: ").append(getImageRecipeArn()).append(","); if (getContainerRecipeArn() != null) sb.append("ContainerRecipeArn: ").append(getContainerRecipeArn()).append(","); if (getInfrastructureConfigurationArn() != null) sb.append("InfrastructureConfigurationArn: ").append(getInfrastructureConfigurationArn()).append(","); if (getDistributionConfigurationArn() != null) sb.append("DistributionConfigurationArn: ").append(getDistributionConfigurationArn()).append(","); if (getImageTestsConfiguration() != null) sb.append("ImageTestsConfiguration: ").append(getImageTestsConfiguration()).append(","); if (getEnhancedImageMetadataEnabled() != null) sb.append("EnhancedImageMetadataEnabled: ").append(getEnhancedImageMetadataEnabled()).append(","); if (getSchedule() != null) sb.append("Schedule: ").append(getSchedule()).append(","); if (getStatus() != null) sb.append("Status: ").append(getStatus()).append(","); if (getTags() != null) sb.append("Tags: ").append(getTags()).append(","); if (getClientToken() != null) sb.append("ClientToken: ").append(getClientToken()).append(","); if (getImageScanningConfiguration() != null) sb.append("ImageScanningConfiguration: ").append(getImageScanningConfiguration()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof CreateImagePipelineRequest == false) return false; CreateImagePipelineRequest other = (CreateImagePipelineRequest) 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.getImageRecipeArn() == null ^ this.getImageRecipeArn() == null) return false; if (other.getImageRecipeArn() != null && other.getImageRecipeArn().equals(this.getImageRecipeArn()) == false) return false; if (other.getContainerRecipeArn() == null ^ this.getContainerRecipeArn() == null) return false; if (other.getContainerRecipeArn() != null && other.getContainerRecipeArn().equals(this.getContainerRecipeArn()) == false) return false; if (other.getInfrastructureConfigurationArn() == null ^ this.getInfrastructureConfigurationArn() == null) return false; if (other.getInfrastructureConfigurationArn() != null && other.getInfrastructureConfigurationArn().equals(this.getInfrastructureConfigurationArn()) == false) return false; if (other.getDistributionConfigurationArn() == null ^ this.getDistributionConfigurationArn() == null) return false; if (other.getDistributionConfigurationArn() != null && other.getDistributionConfigurationArn().equals(this.getDistributionConfigurationArn()) == false) return false; if (other.getImageTestsConfiguration() == null ^ this.getImageTestsConfiguration() == null) return false; if (other.getImageTestsConfiguration() != null && other.getImageTestsConfiguration().equals(this.getImageTestsConfiguration()) == false) return false; if (other.getEnhancedImageMetadataEnabled() == null ^ this.getEnhancedImageMetadataEnabled() == null) return false; if (other.getEnhancedImageMetadataEnabled() != null && other.getEnhancedImageMetadataEnabled().equals(this.getEnhancedImageMetadataEnabled()) == false) return false; if (other.getSchedule() == null ^ this.getSchedule() == null) return false; if (other.getSchedule() != null && other.getSchedule().equals(this.getSchedule()) == false) return false; if (other.getStatus() == null ^ this.getStatus() == null) return false; if (other.getStatus() != null && other.getStatus().equals(this.getStatus()) == 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.getClientToken() == null ^ this.getClientToken() == null) return false; if (other.getClientToken() != null && other.getClientToken().equals(this.getClientToken()) == false) return false; if (other.getImageScanningConfiguration() == null ^ this.getImageScanningConfiguration() == null) return false; if (other.getImageScanningConfiguration() != null && other.getImageScanningConfiguration().equals(this.getImageScanningConfiguration()) == 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 + ((getImageRecipeArn() == null) ? 0 : getImageRecipeArn().hashCode()); hashCode = prime * hashCode + ((getContainerRecipeArn() == null) ? 0 : getContainerRecipeArn().hashCode()); hashCode = prime * hashCode + ((getInfrastructureConfigurationArn() == null) ? 0 : getInfrastructureConfigurationArn().hashCode()); hashCode = prime * hashCode + ((getDistributionConfigurationArn() == null) ? 0 : getDistributionConfigurationArn().hashCode()); hashCode = prime * hashCode + ((getImageTestsConfiguration() == null) ? 0 : getImageTestsConfiguration().hashCode()); hashCode = prime * hashCode + ((getEnhancedImageMetadataEnabled() == null) ? 0 : getEnhancedImageMetadataEnabled().hashCode()); hashCode = prime * hashCode + ((getSchedule() == null) ? 0 : getSchedule().hashCode()); hashCode = prime * hashCode + ((getStatus() == null) ? 0 : getStatus().hashCode()); hashCode = prime * hashCode + ((getTags() == null) ? 0 : getTags().hashCode()); hashCode = prime * hashCode + ((getClientToken() == null) ? 0 : getClientToken().hashCode()); hashCode = prime * hashCode + ((getImageScanningConfiguration() == null) ? 0 : getImageScanningConfiguration().hashCode()); return hashCode; } @Override public CreateImagePipelineRequest clone() { return (CreateImagePipelineRequest) super.clone(); } }