/* * Copyright 2010-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.iot.model; import java.io.Serializable; /** *

* The summary of a virtual private cloud (VPC) destination. *

*/ public class VpcDestinationSummary implements Serializable { /** *

* The subnet IDs of the VPC destination. *

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

* The security groups of the VPC destination. *

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

* The ID of the VPC. *

*/ private String vpcId; /** *

* The ARN of a role that has permission to create and attach to elastic * network interfaces (ENIs). *

*/ private String roleArn; /** *

* The subnet IDs of the VPC destination. *

* * @return

* The subnet IDs of the VPC destination. *

*/ public java.util.List getSubnetIds() { return subnetIds; } /** *

* The subnet IDs of the VPC destination. *

* * @param subnetIds

* The subnet IDs of the VPC destination. *

*/ public void setSubnetIds(java.util.Collection subnetIds) { if (subnetIds == null) { this.subnetIds = null; return; } this.subnetIds = new java.util.ArrayList(subnetIds); } /** *

* The subnet IDs of the VPC destination. *

*

* Returns a reference to this object so that method calls can be chained * together. * * @param subnetIds

* The subnet IDs of the VPC destination. *

* @return A reference to this updated object so that method calls can be * chained together. */ public VpcDestinationSummary withSubnetIds(String... subnetIds) { if (getSubnetIds() == null) { this.subnetIds = new java.util.ArrayList(subnetIds.length); } for (String value : subnetIds) { this.subnetIds.add(value); } return this; } /** *

* The subnet IDs of the VPC destination. *

*

* Returns a reference to this object so that method calls can be chained * together. * * @param subnetIds

* The subnet IDs of the VPC destination. *

* @return A reference to this updated object so that method calls can be * chained together. */ public VpcDestinationSummary withSubnetIds(java.util.Collection subnetIds) { setSubnetIds(subnetIds); return this; } /** *

* The security groups of the VPC destination. *

* * @return

* The security groups of the VPC destination. *

*/ public java.util.List getSecurityGroups() { return securityGroups; } /** *

* The security groups of the VPC destination. *

* * @param securityGroups

* The security groups of the VPC destination. *

*/ public void setSecurityGroups(java.util.Collection securityGroups) { if (securityGroups == null) { this.securityGroups = null; return; } this.securityGroups = new java.util.ArrayList(securityGroups); } /** *

* The security groups of the VPC destination. *

*

* Returns a reference to this object so that method calls can be chained * together. * * @param securityGroups

* The security groups of the VPC destination. *

* @return A reference to this updated object so that method calls can be * chained together. */ public VpcDestinationSummary withSecurityGroups(String... securityGroups) { if (getSecurityGroups() == null) { this.securityGroups = new java.util.ArrayList(securityGroups.length); } for (String value : securityGroups) { this.securityGroups.add(value); } return this; } /** *

* The security groups of the VPC destination. *

*

* Returns a reference to this object so that method calls can be chained * together. * * @param securityGroups

* The security groups of the VPC destination. *

* @return A reference to this updated object so that method calls can be * chained together. */ public VpcDestinationSummary withSecurityGroups(java.util.Collection securityGroups) { setSecurityGroups(securityGroups); return this; } /** *

* The ID of the VPC. *

* * @return

* The ID of the VPC. *

*/ public String getVpcId() { return vpcId; } /** *

* The ID of the VPC. *

* * @param vpcId

* The ID of the VPC. *

*/ public void setVpcId(String vpcId) { this.vpcId = vpcId; } /** *

* The ID of the VPC. *

*

* Returns a reference to this object so that method calls can be chained * together. * * @param vpcId

* The ID of the VPC. *

* @return A reference to this updated object so that method calls can be * chained together. */ public VpcDestinationSummary withVpcId(String vpcId) { this.vpcId = vpcId; return this; } /** *

* The ARN of a role that has permission to create and attach to elastic * network interfaces (ENIs). *

* * @return

* The ARN of a role that has permission to create and attach to * elastic network interfaces (ENIs). *

*/ public String getRoleArn() { return roleArn; } /** *

* The ARN of a role that has permission to create and attach to elastic * network interfaces (ENIs). *

* * @param roleArn

* The ARN of a role that has permission to create and attach to * elastic network interfaces (ENIs). *

*/ public void setRoleArn(String roleArn) { this.roleArn = roleArn; } /** *

* The ARN of a role that has permission to create and attach to elastic * network interfaces (ENIs). *

*

* Returns a reference to this object so that method calls can be chained * together. * * @param roleArn

* The ARN of a role that has permission to create and attach to * elastic network interfaces (ENIs). *

* @return A reference to this updated object so that method calls can be * chained together. */ public VpcDestinationSummary withRoleArn(String roleArn) { this.roleArn = roleArn; return this; } /** * 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 (getSubnetIds() != null) sb.append("subnetIds: " + getSubnetIds() + ","); if (getSecurityGroups() != null) sb.append("securityGroups: " + getSecurityGroups() + ","); if (getVpcId() != null) sb.append("vpcId: " + getVpcId() + ","); if (getRoleArn() != null) sb.append("roleArn: " + getRoleArn()); sb.append("}"); return sb.toString(); } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getSubnetIds() == null) ? 0 : getSubnetIds().hashCode()); hashCode = prime * hashCode + ((getSecurityGroups() == null) ? 0 : getSecurityGroups().hashCode()); hashCode = prime * hashCode + ((getVpcId() == null) ? 0 : getVpcId().hashCode()); hashCode = prime * hashCode + ((getRoleArn() == null) ? 0 : getRoleArn().hashCode()); return hashCode; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof VpcDestinationSummary == false) return false; VpcDestinationSummary other = (VpcDestinationSummary) obj; if (other.getSubnetIds() == null ^ this.getSubnetIds() == null) return false; if (other.getSubnetIds() != null && other.getSubnetIds().equals(this.getSubnetIds()) == false) return false; if (other.getSecurityGroups() == null ^ this.getSecurityGroups() == null) return false; if (other.getSecurityGroups() != null && other.getSecurityGroups().equals(this.getSecurityGroups()) == false) return false; if (other.getVpcId() == null ^ this.getVpcId() == null) return false; if (other.getVpcId() != null && other.getVpcId().equals(this.getVpcId()) == false) return false; if (other.getRoleArn() == null ^ this.getRoleArn() == null) return false; if (other.getRoleArn() != null && other.getRoleArn().equals(this.getRoleArn()) == false) return false; return true; } }