com.amazonaws.services.kinesisfirehose.model.VpcConfigurationDescription Maven / Gradle / Ivy
Show all versions of aws-java-sdk-kinesis Show documentation
/*
* 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.kinesisfirehose.model;
import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.protocol.StructuredPojo;
import com.amazonaws.protocol.ProtocolMarshaller;
/**
*
* The details of the VPC of the Amazon ES destination.
*
*
* @see AWS API Documentation
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class VpcConfigurationDescription implements Serializable, Cloneable, StructuredPojo {
/**
*
* The IDs of the subnets that Kinesis Data Firehose uses to create ENIs in the VPC of the Amazon ES destination.
* Make sure that the routing tables and inbound and outbound rules allow traffic to flow from the subnets whose IDs
* are specified here to the subnets that have the destination Amazon ES endpoints. Kinesis Data Firehose creates at
* least one ENI in each of the subnets that are specified here. Do not delete or modify these ENIs.
*
*
* The number of ENIs that Kinesis Data Firehose creates in the subnets specified here scales up and down
* automatically based on throughput. To enable Kinesis Data Firehose to scale up the number of ENIs to match
* throughput, ensure that you have sufficient quota. To help you calculate the quota you need, assume that Kinesis
* Data Firehose can create up to three ENIs for this delivery stream for each of the subnets specified here. For
* more information about ENI quota, see Network Interfaces
* in the Amazon VPC Quotas topic.
*
*/
private java.util.List subnetIds;
/**
*
* The ARN of the IAM role that the delivery stream uses to create endpoints in the destination VPC. You can use
* your existing Kinesis Data Firehose delivery role or you can specify a new role. In either case, make sure that
* the role trusts the Kinesis Data Firehose service principal and that it grants the following permissions:
*
*
* -
*
* ec2:DescribeVpcs
*
*
* -
*
* ec2:DescribeVpcAttribute
*
*
* -
*
* ec2:DescribeSubnets
*
*
* -
*
* ec2:DescribeSecurityGroups
*
*
* -
*
* ec2:DescribeNetworkInterfaces
*
*
* -
*
* ec2:CreateNetworkInterface
*
*
* -
*
* ec2:CreateNetworkInterfacePermission
*
*
* -
*
* ec2:DeleteNetworkInterface
*
*
*
*
* If you revoke these permissions after you create the delivery stream, Kinesis Data Firehose can't scale out by
* creating more ENIs when necessary. You might therefore see a degradation in performance.
*
*/
private String roleARN;
/**
*
* The IDs of the security groups that Kinesis Data Firehose uses when it creates ENIs in the VPC of the Amazon ES
* destination. You can use the same security group that the Amazon ES domain uses or different ones. If you specify
* different security groups, ensure that they allow outbound HTTPS traffic to the Amazon ES domain's security
* group. Also ensure that the Amazon ES domain's security group allows HTTPS traffic from the security groups
* specified here. If you use the same security group for both your delivery stream and the Amazon ES domain, make
* sure the security group inbound rule allows HTTPS traffic. For more information about security group rules, see
* Security
* group rules in the Amazon VPC documentation.
*
*/
private java.util.List securityGroupIds;
/**
*
* The ID of the Amazon ES destination's VPC.
*
*/
private String vpcId;
/**
*
* The IDs of the subnets that Kinesis Data Firehose uses to create ENIs in the VPC of the Amazon ES destination.
* Make sure that the routing tables and inbound and outbound rules allow traffic to flow from the subnets whose IDs
* are specified here to the subnets that have the destination Amazon ES endpoints. Kinesis Data Firehose creates at
* least one ENI in each of the subnets that are specified here. Do not delete or modify these ENIs.
*
*
* The number of ENIs that Kinesis Data Firehose creates in the subnets specified here scales up and down
* automatically based on throughput. To enable Kinesis Data Firehose to scale up the number of ENIs to match
* throughput, ensure that you have sufficient quota. To help you calculate the quota you need, assume that Kinesis
* Data Firehose can create up to three ENIs for this delivery stream for each of the subnets specified here. For
* more information about ENI quota, see Network Interfaces
* in the Amazon VPC Quotas topic.
*
*
* @return The IDs of the subnets that Kinesis Data Firehose uses to create ENIs in the VPC of the Amazon ES
* destination. Make sure that the routing tables and inbound and outbound rules allow traffic to flow from
* the subnets whose IDs are specified here to the subnets that have the destination Amazon ES endpoints.
* Kinesis Data Firehose creates at least one ENI in each of the subnets that are specified here. Do not
* delete or modify these ENIs.
*
* The number of ENIs that Kinesis Data Firehose creates in the subnets specified here scales up and down
* automatically based on throughput. To enable Kinesis Data Firehose to scale up the number of ENIs to
* match throughput, ensure that you have sufficient quota. To help you calculate the quota you need, assume
* that Kinesis Data Firehose can create up to three ENIs for this delivery stream for each of the subnets
* specified here. For more information about ENI quota, see Network
* Interfaces in the Amazon VPC Quotas topic.
*/
public java.util.List getSubnetIds() {
return subnetIds;
}
/**
*
* The IDs of the subnets that Kinesis Data Firehose uses to create ENIs in the VPC of the Amazon ES destination.
* Make sure that the routing tables and inbound and outbound rules allow traffic to flow from the subnets whose IDs
* are specified here to the subnets that have the destination Amazon ES endpoints. Kinesis Data Firehose creates at
* least one ENI in each of the subnets that are specified here. Do not delete or modify these ENIs.
*
*
* The number of ENIs that Kinesis Data Firehose creates in the subnets specified here scales up and down
* automatically based on throughput. To enable Kinesis Data Firehose to scale up the number of ENIs to match
* throughput, ensure that you have sufficient quota. To help you calculate the quota you need, assume that Kinesis
* Data Firehose can create up to three ENIs for this delivery stream for each of the subnets specified here. For
* more information about ENI quota, see Network Interfaces
* in the Amazon VPC Quotas topic.
*
*
* @param subnetIds
* The IDs of the subnets that Kinesis Data Firehose uses to create ENIs in the VPC of the Amazon ES
* destination. Make sure that the routing tables and inbound and outbound rules allow traffic to flow from
* the subnets whose IDs are specified here to the subnets that have the destination Amazon ES endpoints.
* Kinesis Data Firehose creates at least one ENI in each of the subnets that are specified here. Do not
* delete or modify these ENIs.
*
* The number of ENIs that Kinesis Data Firehose creates in the subnets specified here scales up and down
* automatically based on throughput. To enable Kinesis Data Firehose to scale up the number of ENIs to match
* throughput, ensure that you have sufficient quota. To help you calculate the quota you need, assume that
* Kinesis Data Firehose can create up to three ENIs for this delivery stream for each of the subnets
* specified here. For more information about ENI quota, see Network
* Interfaces in the Amazon VPC Quotas topic.
*/
public void setSubnetIds(java.util.Collection subnetIds) {
if (subnetIds == null) {
this.subnetIds = null;
return;
}
this.subnetIds = new java.util.ArrayList(subnetIds);
}
/**
*
* The IDs of the subnets that Kinesis Data Firehose uses to create ENIs in the VPC of the Amazon ES destination.
* Make sure that the routing tables and inbound and outbound rules allow traffic to flow from the subnets whose IDs
* are specified here to the subnets that have the destination Amazon ES endpoints. Kinesis Data Firehose creates at
* least one ENI in each of the subnets that are specified here. Do not delete or modify these ENIs.
*
*
* The number of ENIs that Kinesis Data Firehose creates in the subnets specified here scales up and down
* automatically based on throughput. To enable Kinesis Data Firehose to scale up the number of ENIs to match
* throughput, ensure that you have sufficient quota. To help you calculate the quota you need, assume that Kinesis
* Data Firehose can create up to three ENIs for this delivery stream for each of the subnets specified here. For
* more information about ENI quota, see Network Interfaces
* in the Amazon VPC Quotas topic.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setSubnetIds(java.util.Collection)} or {@link #withSubnetIds(java.util.Collection)} if you want to
* override the existing values.
*
*
* @param subnetIds
* The IDs of the subnets that Kinesis Data Firehose uses to create ENIs in the VPC of the Amazon ES
* destination. Make sure that the routing tables and inbound and outbound rules allow traffic to flow from
* the subnets whose IDs are specified here to the subnets that have the destination Amazon ES endpoints.
* Kinesis Data Firehose creates at least one ENI in each of the subnets that are specified here. Do not
* delete or modify these ENIs.
*
* The number of ENIs that Kinesis Data Firehose creates in the subnets specified here scales up and down
* automatically based on throughput. To enable Kinesis Data Firehose to scale up the number of ENIs to match
* throughput, ensure that you have sufficient quota. To help you calculate the quota you need, assume that
* Kinesis Data Firehose can create up to three ENIs for this delivery stream for each of the subnets
* specified here. For more information about ENI quota, see Network
* Interfaces in the Amazon VPC Quotas topic.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public VpcConfigurationDescription withSubnetIds(String... subnetIds) {
if (this.subnetIds == null) {
setSubnetIds(new java.util.ArrayList(subnetIds.length));
}
for (String ele : subnetIds) {
this.subnetIds.add(ele);
}
return this;
}
/**
*
* The IDs of the subnets that Kinesis Data Firehose uses to create ENIs in the VPC of the Amazon ES destination.
* Make sure that the routing tables and inbound and outbound rules allow traffic to flow from the subnets whose IDs
* are specified here to the subnets that have the destination Amazon ES endpoints. Kinesis Data Firehose creates at
* least one ENI in each of the subnets that are specified here. Do not delete or modify these ENIs.
*
*
* The number of ENIs that Kinesis Data Firehose creates in the subnets specified here scales up and down
* automatically based on throughput. To enable Kinesis Data Firehose to scale up the number of ENIs to match
* throughput, ensure that you have sufficient quota. To help you calculate the quota you need, assume that Kinesis
* Data Firehose can create up to three ENIs for this delivery stream for each of the subnets specified here. For
* more information about ENI quota, see Network Interfaces
* in the Amazon VPC Quotas topic.
*
*
* @param subnetIds
* The IDs of the subnets that Kinesis Data Firehose uses to create ENIs in the VPC of the Amazon ES
* destination. Make sure that the routing tables and inbound and outbound rules allow traffic to flow from
* the subnets whose IDs are specified here to the subnets that have the destination Amazon ES endpoints.
* Kinesis Data Firehose creates at least one ENI in each of the subnets that are specified here. Do not
* delete or modify these ENIs.
*
* The number of ENIs that Kinesis Data Firehose creates in the subnets specified here scales up and down
* automatically based on throughput. To enable Kinesis Data Firehose to scale up the number of ENIs to match
* throughput, ensure that you have sufficient quota. To help you calculate the quota you need, assume that
* Kinesis Data Firehose can create up to three ENIs for this delivery stream for each of the subnets
* specified here. For more information about ENI quota, see Network
* Interfaces in the Amazon VPC Quotas topic.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public VpcConfigurationDescription withSubnetIds(java.util.Collection subnetIds) {
setSubnetIds(subnetIds);
return this;
}
/**
*
* The ARN of the IAM role that the delivery stream uses to create endpoints in the destination VPC. You can use
* your existing Kinesis Data Firehose delivery role or you can specify a new role. In either case, make sure that
* the role trusts the Kinesis Data Firehose service principal and that it grants the following permissions:
*
*
* -
*
* ec2:DescribeVpcs
*
*
* -
*
* ec2:DescribeVpcAttribute
*
*
* -
*
* ec2:DescribeSubnets
*
*
* -
*
* ec2:DescribeSecurityGroups
*
*
* -
*
* ec2:DescribeNetworkInterfaces
*
*
* -
*
* ec2:CreateNetworkInterface
*
*
* -
*
* ec2:CreateNetworkInterfacePermission
*
*
* -
*
* ec2:DeleteNetworkInterface
*
*
*
*
* If you revoke these permissions after you create the delivery stream, Kinesis Data Firehose can't scale out by
* creating more ENIs when necessary. You might therefore see a degradation in performance.
*
*
* @param roleARN
* The ARN of the IAM role that the delivery stream uses to create endpoints in the destination VPC. You can
* use your existing Kinesis Data Firehose delivery role or you can specify a new role. In either case, make
* sure that the role trusts the Kinesis Data Firehose service principal and that it grants the following
* permissions:
*
* -
*
* ec2:DescribeVpcs
*
*
* -
*
* ec2:DescribeVpcAttribute
*
*
* -
*
* ec2:DescribeSubnets
*
*
* -
*
* ec2:DescribeSecurityGroups
*
*
* -
*
* ec2:DescribeNetworkInterfaces
*
*
* -
*
* ec2:CreateNetworkInterface
*
*
* -
*
* ec2:CreateNetworkInterfacePermission
*
*
* -
*
* ec2:DeleteNetworkInterface
*
*
*
*
* If you revoke these permissions after you create the delivery stream, Kinesis Data Firehose can't scale
* out by creating more ENIs when necessary. You might therefore see a degradation in performance.
*/
public void setRoleARN(String roleARN) {
this.roleARN = roleARN;
}
/**
*
* The ARN of the IAM role that the delivery stream uses to create endpoints in the destination VPC. You can use
* your existing Kinesis Data Firehose delivery role or you can specify a new role. In either case, make sure that
* the role trusts the Kinesis Data Firehose service principal and that it grants the following permissions:
*
*
* -
*
* ec2:DescribeVpcs
*
*
* -
*
* ec2:DescribeVpcAttribute
*
*
* -
*
* ec2:DescribeSubnets
*
*
* -
*
* ec2:DescribeSecurityGroups
*
*
* -
*
* ec2:DescribeNetworkInterfaces
*
*
* -
*
* ec2:CreateNetworkInterface
*
*
* -
*
* ec2:CreateNetworkInterfacePermission
*
*
* -
*
* ec2:DeleteNetworkInterface
*
*
*
*
* If you revoke these permissions after you create the delivery stream, Kinesis Data Firehose can't scale out by
* creating more ENIs when necessary. You might therefore see a degradation in performance.
*
*
* @return The ARN of the IAM role that the delivery stream uses to create endpoints in the destination VPC. You can
* use your existing Kinesis Data Firehose delivery role or you can specify a new role. In either case, make
* sure that the role trusts the Kinesis Data Firehose service principal and that it grants the following
* permissions:
*
* -
*
* ec2:DescribeVpcs
*
*
* -
*
* ec2:DescribeVpcAttribute
*
*
* -
*
* ec2:DescribeSubnets
*
*
* -
*
* ec2:DescribeSecurityGroups
*
*
* -
*
* ec2:DescribeNetworkInterfaces
*
*
* -
*
* ec2:CreateNetworkInterface
*
*
* -
*
* ec2:CreateNetworkInterfacePermission
*
*
* -
*
* ec2:DeleteNetworkInterface
*
*
*
*
* If you revoke these permissions after you create the delivery stream, Kinesis Data Firehose can't scale
* out by creating more ENIs when necessary. You might therefore see a degradation in performance.
*/
public String getRoleARN() {
return this.roleARN;
}
/**
*
* The ARN of the IAM role that the delivery stream uses to create endpoints in the destination VPC. You can use
* your existing Kinesis Data Firehose delivery role or you can specify a new role. In either case, make sure that
* the role trusts the Kinesis Data Firehose service principal and that it grants the following permissions:
*
*
* -
*
* ec2:DescribeVpcs
*
*
* -
*
* ec2:DescribeVpcAttribute
*
*
* -
*
* ec2:DescribeSubnets
*
*
* -
*
* ec2:DescribeSecurityGroups
*
*
* -
*
* ec2:DescribeNetworkInterfaces
*
*
* -
*
* ec2:CreateNetworkInterface
*
*
* -
*
* ec2:CreateNetworkInterfacePermission
*
*
* -
*
* ec2:DeleteNetworkInterface
*
*
*
*
* If you revoke these permissions after you create the delivery stream, Kinesis Data Firehose can't scale out by
* creating more ENIs when necessary. You might therefore see a degradation in performance.
*
*
* @param roleARN
* The ARN of the IAM role that the delivery stream uses to create endpoints in the destination VPC. You can
* use your existing Kinesis Data Firehose delivery role or you can specify a new role. In either case, make
* sure that the role trusts the Kinesis Data Firehose service principal and that it grants the following
* permissions:
*
* -
*
* ec2:DescribeVpcs
*
*
* -
*
* ec2:DescribeVpcAttribute
*
*
* -
*
* ec2:DescribeSubnets
*
*
* -
*
* ec2:DescribeSecurityGroups
*
*
* -
*
* ec2:DescribeNetworkInterfaces
*
*
* -
*
* ec2:CreateNetworkInterface
*
*
* -
*
* ec2:CreateNetworkInterfacePermission
*
*
* -
*
* ec2:DeleteNetworkInterface
*
*
*
*
* If you revoke these permissions after you create the delivery stream, Kinesis Data Firehose can't scale
* out by creating more ENIs when necessary. You might therefore see a degradation in performance.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public VpcConfigurationDescription withRoleARN(String roleARN) {
setRoleARN(roleARN);
return this;
}
/**
*
* The IDs of the security groups that Kinesis Data Firehose uses when it creates ENIs in the VPC of the Amazon ES
* destination. You can use the same security group that the Amazon ES domain uses or different ones. If you specify
* different security groups, ensure that they allow outbound HTTPS traffic to the Amazon ES domain's security
* group. Also ensure that the Amazon ES domain's security group allows HTTPS traffic from the security groups
* specified here. If you use the same security group for both your delivery stream and the Amazon ES domain, make
* sure the security group inbound rule allows HTTPS traffic. For more information about security group rules, see
* Security
* group rules in the Amazon VPC documentation.
*
*
* @return The IDs of the security groups that Kinesis Data Firehose uses when it creates ENIs in the VPC of the
* Amazon ES destination. You can use the same security group that the Amazon ES domain uses or different
* ones. If you specify different security groups, ensure that they allow outbound HTTPS traffic to the
* Amazon ES domain's security group. Also ensure that the Amazon ES domain's security group allows HTTPS
* traffic from the security groups specified here. If you use the same security group for both your
* delivery stream and the Amazon ES domain, make sure the security group inbound rule allows HTTPS traffic.
* For more information about security group rules, see Security group rules in the Amazon VPC documentation.
*/
public java.util.List getSecurityGroupIds() {
return securityGroupIds;
}
/**
*
* The IDs of the security groups that Kinesis Data Firehose uses when it creates ENIs in the VPC of the Amazon ES
* destination. You can use the same security group that the Amazon ES domain uses or different ones. If you specify
* different security groups, ensure that they allow outbound HTTPS traffic to the Amazon ES domain's security
* group. Also ensure that the Amazon ES domain's security group allows HTTPS traffic from the security groups
* specified here. If you use the same security group for both your delivery stream and the Amazon ES domain, make
* sure the security group inbound rule allows HTTPS traffic. For more information about security group rules, see
* Security
* group rules in the Amazon VPC documentation.
*
*
* @param securityGroupIds
* The IDs of the security groups that Kinesis Data Firehose uses when it creates ENIs in the VPC of the
* Amazon ES destination. You can use the same security group that the Amazon ES domain uses or different
* ones. If you specify different security groups, ensure that they allow outbound HTTPS traffic to the
* Amazon ES domain's security group. Also ensure that the Amazon ES domain's security group allows HTTPS
* traffic from the security groups specified here. If you use the same security group for both your delivery
* stream and the Amazon ES domain, make sure the security group inbound rule allows HTTPS traffic. For more
* information about security group rules, see Security group rules in the Amazon VPC documentation.
*/
public void setSecurityGroupIds(java.util.Collection securityGroupIds) {
if (securityGroupIds == null) {
this.securityGroupIds = null;
return;
}
this.securityGroupIds = new java.util.ArrayList(securityGroupIds);
}
/**
*
* The IDs of the security groups that Kinesis Data Firehose uses when it creates ENIs in the VPC of the Amazon ES
* destination. You can use the same security group that the Amazon ES domain uses or different ones. If you specify
* different security groups, ensure that they allow outbound HTTPS traffic to the Amazon ES domain's security
* group. Also ensure that the Amazon ES domain's security group allows HTTPS traffic from the security groups
* specified here. If you use the same security group for both your delivery stream and the Amazon ES domain, make
* sure the security group inbound rule allows HTTPS traffic. For more information about security group rules, see
* Security
* group rules in the Amazon VPC documentation.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setSecurityGroupIds(java.util.Collection)} or {@link #withSecurityGroupIds(java.util.Collection)} if you
* want to override the existing values.
*
*
* @param securityGroupIds
* The IDs of the security groups that Kinesis Data Firehose uses when it creates ENIs in the VPC of the
* Amazon ES destination. You can use the same security group that the Amazon ES domain uses or different
* ones. If you specify different security groups, ensure that they allow outbound HTTPS traffic to the
* Amazon ES domain's security group. Also ensure that the Amazon ES domain's security group allows HTTPS
* traffic from the security groups specified here. If you use the same security group for both your delivery
* stream and the Amazon ES domain, make sure the security group inbound rule allows HTTPS traffic. For more
* information about security group rules, see Security group rules in the Amazon VPC documentation.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public VpcConfigurationDescription withSecurityGroupIds(String... securityGroupIds) {
if (this.securityGroupIds == null) {
setSecurityGroupIds(new java.util.ArrayList(securityGroupIds.length));
}
for (String ele : securityGroupIds) {
this.securityGroupIds.add(ele);
}
return this;
}
/**
*
* The IDs of the security groups that Kinesis Data Firehose uses when it creates ENIs in the VPC of the Amazon ES
* destination. You can use the same security group that the Amazon ES domain uses or different ones. If you specify
* different security groups, ensure that they allow outbound HTTPS traffic to the Amazon ES domain's security
* group. Also ensure that the Amazon ES domain's security group allows HTTPS traffic from the security groups
* specified here. If you use the same security group for both your delivery stream and the Amazon ES domain, make
* sure the security group inbound rule allows HTTPS traffic. For more information about security group rules, see
* Security
* group rules in the Amazon VPC documentation.
*
*
* @param securityGroupIds
* The IDs of the security groups that Kinesis Data Firehose uses when it creates ENIs in the VPC of the
* Amazon ES destination. You can use the same security group that the Amazon ES domain uses or different
* ones. If you specify different security groups, ensure that they allow outbound HTTPS traffic to the
* Amazon ES domain's security group. Also ensure that the Amazon ES domain's security group allows HTTPS
* traffic from the security groups specified here. If you use the same security group for both your delivery
* stream and the Amazon ES domain, make sure the security group inbound rule allows HTTPS traffic. For more
* information about security group rules, see Security group rules in the Amazon VPC documentation.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public VpcConfigurationDescription withSecurityGroupIds(java.util.Collection securityGroupIds) {
setSecurityGroupIds(securityGroupIds);
return this;
}
/**
*
* The ID of the Amazon ES destination's VPC.
*
*
* @param vpcId
* The ID of the Amazon ES destination's VPC.
*/
public void setVpcId(String vpcId) {
this.vpcId = vpcId;
}
/**
*
* The ID of the Amazon ES destination's VPC.
*
*
* @return The ID of the Amazon ES destination's VPC.
*/
public String getVpcId() {
return this.vpcId;
}
/**
*
* The ID of the Amazon ES destination's VPC.
*
*
* @param vpcId
* The ID of the Amazon ES destination's VPC.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public VpcConfigurationDescription withVpcId(String vpcId) {
setVpcId(vpcId);
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 (getSubnetIds() != null)
sb.append("SubnetIds: ").append(getSubnetIds()).append(",");
if (getRoleARN() != null)
sb.append("RoleARN: ").append(getRoleARN()).append(",");
if (getSecurityGroupIds() != null)
sb.append("SecurityGroupIds: ").append(getSecurityGroupIds()).append(",");
if (getVpcId() != null)
sb.append("VpcId: ").append(getVpcId());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof VpcConfigurationDescription == false)
return false;
VpcConfigurationDescription other = (VpcConfigurationDescription) obj;
if (other.getSubnetIds() == null ^ this.getSubnetIds() == null)
return false;
if (other.getSubnetIds() != null && other.getSubnetIds().equals(this.getSubnetIds()) == false)
return false;
if (other.getRoleARN() == null ^ this.getRoleARN() == null)
return false;
if (other.getRoleARN() != null && other.getRoleARN().equals(this.getRoleARN()) == false)
return false;
if (other.getSecurityGroupIds() == null ^ this.getSecurityGroupIds() == null)
return false;
if (other.getSecurityGroupIds() != null && other.getSecurityGroupIds().equals(this.getSecurityGroupIds()) == false)
return false;
if (other.getVpcId() == null ^ this.getVpcId() == null)
return false;
if (other.getVpcId() != null && other.getVpcId().equals(this.getVpcId()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getSubnetIds() == null) ? 0 : getSubnetIds().hashCode());
hashCode = prime * hashCode + ((getRoleARN() == null) ? 0 : getRoleARN().hashCode());
hashCode = prime * hashCode + ((getSecurityGroupIds() == null) ? 0 : getSecurityGroupIds().hashCode());
hashCode = prime * hashCode + ((getVpcId() == null) ? 0 : getVpcId().hashCode());
return hashCode;
}
@Override
public VpcConfigurationDescription clone() {
try {
return (VpcConfigurationDescription) 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.kinesisfirehose.model.transform.VpcConfigurationDescriptionMarshaller.getInstance().marshall(this, protocolMarshaller);
}
}