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

com.amazonaws.services.ec2.model.ModifyImageAttributeRequest Maven / Gradle / Ivy

Go to download

The AWS SDK for Java with support for OSGi. The AWS SDK for Java provides Java APIs for building software on AWS' cost-effective, scalable, and reliable infrastructure products. The AWS Java SDK allows developers to code against APIs for all of Amazon's infrastructure web services (Amazon S3, Amazon EC2, Amazon SQS, Amazon Relational Database Service, Amazon AutoScaling, etc).

There is a newer version: 1.11.60
Show newest version
/*
 * Copyright 2011-2016 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.ec2.model;

import java.io.Serializable;
import com.amazonaws.AmazonWebServiceRequest;
import com.amazonaws.Request;
import com.amazonaws.services.ec2.model.transform.ModifyImageAttributeRequestMarshaller;

/**
 * 

* Contains the parameters for ModifyImageAttribute. *

*/ public class ModifyImageAttributeRequest extends AmazonWebServiceRequest implements Serializable, Cloneable, DryRunSupportedRequest { /** *

* The ID of the AMI. *

*/ private String imageId; /** *

* The name of the attribute to modify. *

*/ private String attribute; /** *

* The operation type. *

*/ private String operationType; /** *

* One or more AWS account IDs. This is only valid when modifying the * launchPermission attribute. *

*/ private com.amazonaws.internal.SdkInternalList userIds; /** *

* One or more user groups. This is only valid when modifying the * launchPermission attribute. *

*/ private com.amazonaws.internal.SdkInternalList userGroups; /** *

* One or more product codes. After you add a product code to an AMI, it * can't be removed. This is only valid when modifying the * productCodes attribute. *

*/ private com.amazonaws.internal.SdkInternalList productCodes; /** *

* The value of the attribute being modified. This is only valid when * modifying the description attribute. *

*/ private String value; /** *

* A launch permission modification. *

*/ private LaunchPermissionModifications launchPermission; /** *

* A description for the AMI. *

*/ private String description; /** * Default constructor for ModifyImageAttributeRequest object. Callers * should use the setter or fluent setter (with...) methods to initialize * the object after creating it. */ public ModifyImageAttributeRequest() { } /** * Constructs a new ModifyImageAttributeRequest object. Callers should use * the setter or fluent setter (with...) methods to initialize any * additional object members. * * @param imageId * The ID of the AMI. * @param attribute * The name of the attribute to modify. */ public ModifyImageAttributeRequest(String imageId, String attribute) { setImageId(imageId); setAttribute(attribute); } /** *

* The ID of the AMI. *

* * @param imageId * The ID of the AMI. */ public void setImageId(String imageId) { this.imageId = imageId; } /** *

* The ID of the AMI. *

* * @return The ID of the AMI. */ public String getImageId() { return this.imageId; } /** *

* The ID of the AMI. *

* * @param imageId * The ID of the AMI. * @return Returns a reference to this object so that method calls can be * chained together. */ public ModifyImageAttributeRequest withImageId(String imageId) { setImageId(imageId); return this; } /** *

* The name of the attribute to modify. *

* * @param attribute * The name of the attribute to modify. */ public void setAttribute(String attribute) { this.attribute = attribute; } /** *

* The name of the attribute to modify. *

* * @return The name of the attribute to modify. */ public String getAttribute() { return this.attribute; } /** *

* The name of the attribute to modify. *

* * @param attribute * The name of the attribute to modify. * @return Returns a reference to this object so that method calls can be * chained together. */ public ModifyImageAttributeRequest withAttribute(String attribute) { setAttribute(attribute); return this; } /** *

* The operation type. *

* * @param operationType * The operation type. * @see OperationType */ public void setOperationType(String operationType) { this.operationType = operationType; } /** *

* The operation type. *

* * @return The operation type. * @see OperationType */ public String getOperationType() { return this.operationType; } /** *

* The operation type. *

* * @param operationType * The operation type. * @return Returns a reference to this object so that method calls can be * chained together. * @see OperationType */ public ModifyImageAttributeRequest withOperationType(String operationType) { setOperationType(operationType); return this; } /** *

* The operation type. *

* * @param operationType * The operation type. * @see OperationType */ public void setOperationType(OperationType operationType) { this.operationType = operationType.toString(); } /** *

* The operation type. *

* * @param operationType * The operation type. * @return Returns a reference to this object so that method calls can be * chained together. * @see OperationType */ public ModifyImageAttributeRequest withOperationType( OperationType operationType) { setOperationType(operationType); return this; } /** *

* One or more AWS account IDs. This is only valid when modifying the * launchPermission attribute. *

* * @return One or more AWS account IDs. This is only valid when modifying * the launchPermission attribute. */ public java.util.List getUserIds() { if (userIds == null) { userIds = new com.amazonaws.internal.SdkInternalList(); } return userIds; } /** *

* One or more AWS account IDs. This is only valid when modifying the * launchPermission attribute. *

* * @param userIds * One or more AWS account IDs. This is only valid when modifying the * launchPermission attribute. */ public void setUserIds(java.util.Collection userIds) { if (userIds == null) { this.userIds = null; return; } this.userIds = new com.amazonaws.internal.SdkInternalList( userIds); } /** *

* One or more AWS account IDs. This is only valid when modifying the * launchPermission attribute. *

*

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

* * @param userIds * One or more AWS account IDs. This is only valid when modifying the * launchPermission attribute. * @return Returns a reference to this object so that method calls can be * chained together. */ public ModifyImageAttributeRequest withUserIds(String... userIds) { if (this.userIds == null) { setUserIds(new com.amazonaws.internal.SdkInternalList( userIds.length)); } for (String ele : userIds) { this.userIds.add(ele); } return this; } /** *

* One or more AWS account IDs. This is only valid when modifying the * launchPermission attribute. *

* * @param userIds * One or more AWS account IDs. This is only valid when modifying the * launchPermission attribute. * @return Returns a reference to this object so that method calls can be * chained together. */ public ModifyImageAttributeRequest withUserIds( java.util.Collection userIds) { setUserIds(userIds); return this; } /** *

* One or more user groups. This is only valid when modifying the * launchPermission attribute. *

* * @return One or more user groups. This is only valid when modifying the * launchPermission attribute. */ public java.util.List getUserGroups() { if (userGroups == null) { userGroups = new com.amazonaws.internal.SdkInternalList(); } return userGroups; } /** *

* One or more user groups. This is only valid when modifying the * launchPermission attribute. *

* * @param userGroups * One or more user groups. This is only valid when modifying the * launchPermission attribute. */ public void setUserGroups(java.util.Collection userGroups) { if (userGroups == null) { this.userGroups = null; return; } this.userGroups = new com.amazonaws.internal.SdkInternalList( userGroups); } /** *

* One or more user groups. This is only valid when modifying the * launchPermission attribute. *

*

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

* * @param userGroups * One or more user groups. This is only valid when modifying the * launchPermission attribute. * @return Returns a reference to this object so that method calls can be * chained together. */ public ModifyImageAttributeRequest withUserGroups(String... userGroups) { if (this.userGroups == null) { setUserGroups(new com.amazonaws.internal.SdkInternalList( userGroups.length)); } for (String ele : userGroups) { this.userGroups.add(ele); } return this; } /** *

* One or more user groups. This is only valid when modifying the * launchPermission attribute. *

* * @param userGroups * One or more user groups. This is only valid when modifying the * launchPermission attribute. * @return Returns a reference to this object so that method calls can be * chained together. */ public ModifyImageAttributeRequest withUserGroups( java.util.Collection userGroups) { setUserGroups(userGroups); return this; } /** *

* One or more product codes. After you add a product code to an AMI, it * can't be removed. This is only valid when modifying the * productCodes attribute. *

* * @return One or more product codes. After you add a product code to an * AMI, it can't be removed. This is only valid when modifying the * productCodes attribute. */ public java.util.List getProductCodes() { if (productCodes == null) { productCodes = new com.amazonaws.internal.SdkInternalList(); } return productCodes; } /** *

* One or more product codes. After you add a product code to an AMI, it * can't be removed. This is only valid when modifying the * productCodes attribute. *

* * @param productCodes * One or more product codes. After you add a product code to an AMI, * it can't be removed. This is only valid when modifying the * productCodes attribute. */ public void setProductCodes(java.util.Collection productCodes) { if (productCodes == null) { this.productCodes = null; return; } this.productCodes = new com.amazonaws.internal.SdkInternalList( productCodes); } /** *

* One or more product codes. After you add a product code to an AMI, it * can't be removed. This is only valid when modifying the * productCodes attribute. *

*

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

* * @param productCodes * One or more product codes. After you add a product code to an AMI, * it can't be removed. This is only valid when modifying the * productCodes attribute. * @return Returns a reference to this object so that method calls can be * chained together. */ public ModifyImageAttributeRequest withProductCodes(String... productCodes) { if (this.productCodes == null) { setProductCodes(new com.amazonaws.internal.SdkInternalList( productCodes.length)); } for (String ele : productCodes) { this.productCodes.add(ele); } return this; } /** *

* One or more product codes. After you add a product code to an AMI, it * can't be removed. This is only valid when modifying the * productCodes attribute. *

* * @param productCodes * One or more product codes. After you add a product code to an AMI, * it can't be removed. This is only valid when modifying the * productCodes attribute. * @return Returns a reference to this object so that method calls can be * chained together. */ public ModifyImageAttributeRequest withProductCodes( java.util.Collection productCodes) { setProductCodes(productCodes); return this; } /** *

* The value of the attribute being modified. This is only valid when * modifying the description attribute. *

* * @param value * The value of the attribute being modified. This is only valid when * modifying the description attribute. */ public void setValue(String value) { this.value = value; } /** *

* The value of the attribute being modified. This is only valid when * modifying the description attribute. *

* * @return The value of the attribute being modified. This is only valid * when modifying the description attribute. */ public String getValue() { return this.value; } /** *

* The value of the attribute being modified. This is only valid when * modifying the description attribute. *

* * @param value * The value of the attribute being modified. This is only valid when * modifying the description attribute. * @return Returns a reference to this object so that method calls can be * chained together. */ public ModifyImageAttributeRequest withValue(String value) { setValue(value); return this; } /** *

* A launch permission modification. *

* * @param launchPermission * A launch permission modification. */ public void setLaunchPermission( LaunchPermissionModifications launchPermission) { this.launchPermission = launchPermission; } /** *

* A launch permission modification. *

* * @return A launch permission modification. */ public LaunchPermissionModifications getLaunchPermission() { return this.launchPermission; } /** *

* A launch permission modification. *

* * @param launchPermission * A launch permission modification. * @return Returns a reference to this object so that method calls can be * chained together. */ public ModifyImageAttributeRequest withLaunchPermission( LaunchPermissionModifications launchPermission) { setLaunchPermission(launchPermission); return this; } /** *

* A description for the AMI. *

* * @param description * A description for the AMI. */ public void setDescription(String description) { this.description = description; } /** *

* A description for the AMI. *

* * @return A description for the AMI. */ public String getDescription() { return this.description; } /** *

* A description for the AMI. *

* * @param description * A description for the AMI. * @return Returns a reference to this object so that method calls can be * chained together. */ public ModifyImageAttributeRequest withDescription(String description) { setDescription(description); return this; } /** * This method is intended for internal use only. Returns the marshaled * request configured with additional parameters to enable operation * dry-run. */ @Override public Request getDryRunRequest() { Request request = new ModifyImageAttributeRequestMarshaller() .marshall(this); request.addParameter("DryRun", Boolean.toString(true)); return request; } /** * Returns a string representation of this object; useful for testing and * debugging. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getImageId() != null) sb.append("ImageId: " + getImageId() + ","); if (getAttribute() != null) sb.append("Attribute: " + getAttribute() + ","); if (getOperationType() != null) sb.append("OperationType: " + getOperationType() + ","); if (getUserIds() != null) sb.append("UserIds: " + getUserIds() + ","); if (getUserGroups() != null) sb.append("UserGroups: " + getUserGroups() + ","); if (getProductCodes() != null) sb.append("ProductCodes: " + getProductCodes() + ","); if (getValue() != null) sb.append("Value: " + getValue() + ","); if (getLaunchPermission() != null) sb.append("LaunchPermission: " + getLaunchPermission() + ","); if (getDescription() != null) sb.append("Description: " + getDescription()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof ModifyImageAttributeRequest == false) return false; ModifyImageAttributeRequest other = (ModifyImageAttributeRequest) obj; if (other.getImageId() == null ^ this.getImageId() == null) return false; if (other.getImageId() != null && other.getImageId().equals(this.getImageId()) == false) return false; if (other.getAttribute() == null ^ this.getAttribute() == null) return false; if (other.getAttribute() != null && other.getAttribute().equals(this.getAttribute()) == false) return false; if (other.getOperationType() == null ^ this.getOperationType() == null) return false; if (other.getOperationType() != null && other.getOperationType().equals(this.getOperationType()) == false) return false; if (other.getUserIds() == null ^ this.getUserIds() == null) return false; if (other.getUserIds() != null && other.getUserIds().equals(this.getUserIds()) == false) return false; if (other.getUserGroups() == null ^ this.getUserGroups() == null) return false; if (other.getUserGroups() != null && other.getUserGroups().equals(this.getUserGroups()) == false) return false; if (other.getProductCodes() == null ^ this.getProductCodes() == null) return false; if (other.getProductCodes() != null && other.getProductCodes().equals(this.getProductCodes()) == false) return false; if (other.getValue() == null ^ this.getValue() == null) return false; if (other.getValue() != null && other.getValue().equals(this.getValue()) == false) return false; if (other.getLaunchPermission() == null ^ this.getLaunchPermission() == null) return false; if (other.getLaunchPermission() != null && other.getLaunchPermission().equals( this.getLaunchPermission()) == false) return false; if (other.getDescription() == null ^ this.getDescription() == null) return false; if (other.getDescription() != null && other.getDescription().equals(this.getDescription()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getImageId() == null) ? 0 : getImageId().hashCode()); hashCode = prime * hashCode + ((getAttribute() == null) ? 0 : getAttribute().hashCode()); hashCode = prime * hashCode + ((getOperationType() == null) ? 0 : getOperationType() .hashCode()); hashCode = prime * hashCode + ((getUserIds() == null) ? 0 : getUserIds().hashCode()); hashCode = prime * hashCode + ((getUserGroups() == null) ? 0 : getUserGroups().hashCode()); hashCode = prime * hashCode + ((getProductCodes() == null) ? 0 : getProductCodes() .hashCode()); hashCode = prime * hashCode + ((getValue() == null) ? 0 : getValue().hashCode()); hashCode = prime * hashCode + ((getLaunchPermission() == null) ? 0 : getLaunchPermission() .hashCode()); hashCode = prime * hashCode + ((getDescription() == null) ? 0 : getDescription().hashCode()); return hashCode; } @Override public ModifyImageAttributeRequest clone() { return (ModifyImageAttributeRequest) super.clone(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy