
com.amazonaws.services.imagebuilder.model.CreateImageRequest Maven / Gradle / Ivy
/*
* Copyright 2017-2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
* the License. A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
* and limitations under the License.
*/
package com.amazonaws.services.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 CreateImageRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable {
/**
*
* The Amazon Resource Name (ARN) of the image recipe that defines how images are configured, tested, and assessed.
*
*/
private String imageRecipeArn;
/**
*
* The Amazon Resource Name (ARN) of the container recipe that defines how images are configured and tested.
*
*/
private String containerRecipeArn;
/**
*
* The Amazon Resource Name (ARN) of the distribution configuration that defines and configures the outputs of your
* pipeline.
*
*/
private String distributionConfigurationArn;
/**
*
* The Amazon Resource Name (ARN) of the infrastructure configuration that defines the environment in which your
* image will be built and tested.
*
*/
private String infrastructureConfigurationArn;
/**
*
* The image tests configuration of the image.
*
*/
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 tags of the image.
*
*/
private java.util.Map tags;
/**
*
* The idempotency token used to make this request idempotent.
*
*/
private String clientToken;
/**
*
* The Amazon Resource Name (ARN) of the image recipe that defines how images are configured, tested, and assessed.
*
*
* @param imageRecipeArn
* The Amazon Resource Name (ARN) of the image recipe that defines how images are configured, tested, and
* assessed.
*/
public void setImageRecipeArn(String imageRecipeArn) {
this.imageRecipeArn = imageRecipeArn;
}
/**
*
* The Amazon Resource Name (ARN) of the image recipe that defines how images are configured, tested, and assessed.
*
*
* @return The Amazon Resource Name (ARN) of the image recipe that defines how images are configured, tested, and
* assessed.
*/
public String getImageRecipeArn() {
return this.imageRecipeArn;
}
/**
*
* The Amazon Resource Name (ARN) of the image recipe that defines how images are configured, tested, and assessed.
*
*
* @param imageRecipeArn
* The Amazon Resource Name (ARN) of the image recipe that defines how images are configured, tested, and
* assessed.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateImageRequest withImageRecipeArn(String imageRecipeArn) {
setImageRecipeArn(imageRecipeArn);
return this;
}
/**
*
* The Amazon Resource Name (ARN) of the container recipe that defines how images are configured and tested.
*
*
* @param containerRecipeArn
* The Amazon Resource Name (ARN) of the container recipe that defines how images are configured and tested.
*/
public void setContainerRecipeArn(String containerRecipeArn) {
this.containerRecipeArn = containerRecipeArn;
}
/**
*
* The Amazon Resource Name (ARN) of the container recipe that defines how images are configured and tested.
*
*
* @return The Amazon Resource Name (ARN) of the container recipe that defines how images are configured and tested.
*/
public String getContainerRecipeArn() {
return this.containerRecipeArn;
}
/**
*
* The Amazon Resource Name (ARN) of the container recipe that defines how images are configured and tested.
*
*
* @param containerRecipeArn
* The Amazon Resource Name (ARN) of the container recipe that defines how images are configured and tested.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateImageRequest withContainerRecipeArn(String containerRecipeArn) {
setContainerRecipeArn(containerRecipeArn);
return this;
}
/**
*
* The Amazon Resource Name (ARN) of the distribution configuration that defines and configures the outputs of your
* pipeline.
*
*
* @param distributionConfigurationArn
* The Amazon Resource Name (ARN) of the distribution configuration that defines and configures the outputs
* of your pipeline.
*/
public void setDistributionConfigurationArn(String distributionConfigurationArn) {
this.distributionConfigurationArn = distributionConfigurationArn;
}
/**
*
* The Amazon Resource Name (ARN) of the distribution configuration that defines and configures the outputs of your
* pipeline.
*
*
* @return The Amazon Resource Name (ARN) of the distribution configuration that defines and configures the outputs
* of your pipeline.
*/
public String getDistributionConfigurationArn() {
return this.distributionConfigurationArn;
}
/**
*
* The Amazon Resource Name (ARN) of the distribution configuration that defines and configures the outputs of your
* pipeline.
*
*
* @param distributionConfigurationArn
* The Amazon Resource Name (ARN) of the distribution configuration that defines and configures the outputs
* of your pipeline.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateImageRequest withDistributionConfigurationArn(String distributionConfigurationArn) {
setDistributionConfigurationArn(distributionConfigurationArn);
return this;
}
/**
*
* The Amazon Resource Name (ARN) of the infrastructure configuration that defines the environment in which your
* image will be built and tested.
*
*
* @param infrastructureConfigurationArn
* The Amazon Resource Name (ARN) of the infrastructure configuration that defines the environment in which
* your image will be built and tested.
*/
public void setInfrastructureConfigurationArn(String infrastructureConfigurationArn) {
this.infrastructureConfigurationArn = infrastructureConfigurationArn;
}
/**
*
* The Amazon Resource Name (ARN) of the infrastructure configuration that defines the environment in which your
* image will be built and tested.
*
*
* @return The Amazon Resource Name (ARN) of the infrastructure configuration that defines the environment in which
* your image will be built and tested.
*/
public String getInfrastructureConfigurationArn() {
return this.infrastructureConfigurationArn;
}
/**
*
* The Amazon Resource Name (ARN) of the infrastructure configuration that defines the environment in which your
* image will be built and tested.
*
*
* @param infrastructureConfigurationArn
* The Amazon Resource Name (ARN) of the infrastructure configuration that defines the environment in which
* your image will be built and tested.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateImageRequest withInfrastructureConfigurationArn(String infrastructureConfigurationArn) {
setInfrastructureConfigurationArn(infrastructureConfigurationArn);
return this;
}
/**
*
* The image tests configuration of the image.
*
*
* @param imageTestsConfiguration
* The image tests configuration of the image.
*/
public void setImageTestsConfiguration(ImageTestsConfiguration imageTestsConfiguration) {
this.imageTestsConfiguration = imageTestsConfiguration;
}
/**
*
* The image tests configuration of the image.
*
*
* @return The image tests configuration of the image.
*/
public ImageTestsConfiguration getImageTestsConfiguration() {
return this.imageTestsConfiguration;
}
/**
*
* The image tests configuration of the image.
*
*
* @param imageTestsConfiguration
* The image tests configuration of the image.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateImageRequest 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 CreateImageRequest 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 tags of the image.
*
*
* @return The tags of the image.
*/
public java.util.Map getTags() {
return tags;
}
/**
*
* The tags of the image.
*
*
* @param tags
* The tags of the image.
*/
public void setTags(java.util.Map tags) {
this.tags = tags;
}
/**
*
* The tags of the image.
*
*
* @param tags
* The tags of the image.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateImageRequest withTags(java.util.Map tags) {
setTags(tags);
return this;
}
/**
* Add a single Tags entry
*
* @see CreateImageRequest#withTags
* @returns a reference to this object so that method calls can be chained together.
*/
public CreateImageRequest addTagsEntry(String key, String value) {
if (null == this.tags) {
this.tags = new java.util.HashMap();
}
if (this.tags.containsKey(key))
throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided.");
this.tags.put(key, value);
return this;
}
/**
* Removes all the entries added into Tags.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateImageRequest clearTagsEntries() {
this.tags = null;
return this;
}
/**
*
* 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 CreateImageRequest withClientToken(String clientToken) {
setClientToken(clientToken);
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 (getImageRecipeArn() != null)
sb.append("ImageRecipeArn: ").append(getImageRecipeArn()).append(",");
if (getContainerRecipeArn() != null)
sb.append("ContainerRecipeArn: ").append(getContainerRecipeArn()).append(",");
if (getDistributionConfigurationArn() != null)
sb.append("DistributionConfigurationArn: ").append(getDistributionConfigurationArn()).append(",");
if (getInfrastructureConfigurationArn() != null)
sb.append("InfrastructureConfigurationArn: ").append(getInfrastructureConfigurationArn()).append(",");
if (getImageTestsConfiguration() != null)
sb.append("ImageTestsConfiguration: ").append(getImageTestsConfiguration()).append(",");
if (getEnhancedImageMetadataEnabled() != null)
sb.append("EnhancedImageMetadataEnabled: ").append(getEnhancedImageMetadataEnabled()).append(",");
if (getTags() != null)
sb.append("Tags: ").append(getTags()).append(",");
if (getClientToken() != null)
sb.append("ClientToken: ").append(getClientToken());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof CreateImageRequest == false)
return false;
CreateImageRequest other = (CreateImageRequest) obj;
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.getDistributionConfigurationArn() == null ^ this.getDistributionConfigurationArn() == null)
return false;
if (other.getDistributionConfigurationArn() != null && other.getDistributionConfigurationArn().equals(this.getDistributionConfigurationArn()) == 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.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.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;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getImageRecipeArn() == null) ? 0 : getImageRecipeArn().hashCode());
hashCode = prime * hashCode + ((getContainerRecipeArn() == null) ? 0 : getContainerRecipeArn().hashCode());
hashCode = prime * hashCode + ((getDistributionConfigurationArn() == null) ? 0 : getDistributionConfigurationArn().hashCode());
hashCode = prime * hashCode + ((getInfrastructureConfigurationArn() == null) ? 0 : getInfrastructureConfigurationArn().hashCode());
hashCode = prime * hashCode + ((getImageTestsConfiguration() == null) ? 0 : getImageTestsConfiguration().hashCode());
hashCode = prime * hashCode + ((getEnhancedImageMetadataEnabled() == null) ? 0 : getEnhancedImageMetadataEnabled().hashCode());
hashCode = prime * hashCode + ((getTags() == null) ? 0 : getTags().hashCode());
hashCode = prime * hashCode + ((getClientToken() == null) ? 0 : getClientToken().hashCode());
return hashCode;
}
@Override
public CreateImageRequest clone() {
return (CreateImageRequest) super.clone();
}
}