/*
* 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.ec2.model;
import java.io.Serializable;
import javax.annotation.Generated;
/**
*
* Currently available in limited preview only. If you are interested in using this feature, contact your account
* manager.
*
* Information about an association between a branch network interface with a trunk network interface. *
* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class TrunkInterfaceAssociation implements Serializable, Cloneable { /** ** The ID of the association. *
*/ private String associationId; /** ** The ID of the branch network interface. *
*/ private String branchInterfaceId; /** ** The ID of the trunk network interface. *
*/ private String trunkInterfaceId; /** *
* The interface protocol. Valid values are VLAN
and GRE
.
*
* The ID of the VLAN when you use the VLAN protocol. *
*/ private Integer vlanId; /** ** The application key when you use the GRE protocol. *
*/ private Integer greKey; /** ** The tags for the trunk interface association. *
*/ private com.amazonaws.internal.SdkInternalList* The ID of the association. *
* * @param associationId * The ID of the association. */ public void setAssociationId(String associationId) { this.associationId = associationId; } /** ** The ID of the association. *
* * @return The ID of the association. */ public String getAssociationId() { return this.associationId; } /** ** The ID of the association. *
* * @param associationId * The ID of the association. * @return Returns a reference to this object so that method calls can be chained together. */ public TrunkInterfaceAssociation withAssociationId(String associationId) { setAssociationId(associationId); return this; } /** ** The ID of the branch network interface. *
* * @param branchInterfaceId * The ID of the branch network interface. */ public void setBranchInterfaceId(String branchInterfaceId) { this.branchInterfaceId = branchInterfaceId; } /** ** The ID of the branch network interface. *
* * @return The ID of the branch network interface. */ public String getBranchInterfaceId() { return this.branchInterfaceId; } /** ** The ID of the branch network interface. *
* * @param branchInterfaceId * The ID of the branch network interface. * @return Returns a reference to this object so that method calls can be chained together. */ public TrunkInterfaceAssociation withBranchInterfaceId(String branchInterfaceId) { setBranchInterfaceId(branchInterfaceId); return this; } /** ** The ID of the trunk network interface. *
* * @param trunkInterfaceId * The ID of the trunk network interface. */ public void setTrunkInterfaceId(String trunkInterfaceId) { this.trunkInterfaceId = trunkInterfaceId; } /** ** The ID of the trunk network interface. *
* * @return The ID of the trunk network interface. */ public String getTrunkInterfaceId() { return this.trunkInterfaceId; } /** ** The ID of the trunk network interface. *
* * @param trunkInterfaceId * The ID of the trunk network interface. * @return Returns a reference to this object so that method calls can be chained together. */ public TrunkInterfaceAssociation withTrunkInterfaceId(String trunkInterfaceId) { setTrunkInterfaceId(trunkInterfaceId); return this; } /** *
* The interface protocol. Valid values are VLAN
and GRE
.
*
VLAN
and GRE
.
* @see InterfaceProtocolType
*/
public void setInterfaceProtocol(String interfaceProtocol) {
this.interfaceProtocol = interfaceProtocol;
}
/**
*
* The interface protocol. Valid values are VLAN
and GRE
.
*
VLAN
and GRE
.
* @see InterfaceProtocolType
*/
public String getInterfaceProtocol() {
return this.interfaceProtocol;
}
/**
*
* The interface protocol. Valid values are VLAN
and GRE
.
*
VLAN
and GRE
.
* @return Returns a reference to this object so that method calls can be chained together.
* @see InterfaceProtocolType
*/
public TrunkInterfaceAssociation withInterfaceProtocol(String interfaceProtocol) {
setInterfaceProtocol(interfaceProtocol);
return this;
}
/**
*
* The interface protocol. Valid values are VLAN
and GRE
.
*
VLAN
and GRE
.
* @return Returns a reference to this object so that method calls can be chained together.
* @see InterfaceProtocolType
*/
public TrunkInterfaceAssociation withInterfaceProtocol(InterfaceProtocolType interfaceProtocol) {
this.interfaceProtocol = interfaceProtocol.toString();
return this;
}
/**
* * The ID of the VLAN when you use the VLAN protocol. *
* * @param vlanId * The ID of the VLAN when you use the VLAN protocol. */ public void setVlanId(Integer vlanId) { this.vlanId = vlanId; } /** ** The ID of the VLAN when you use the VLAN protocol. *
* * @return The ID of the VLAN when you use the VLAN protocol. */ public Integer getVlanId() { return this.vlanId; } /** ** The ID of the VLAN when you use the VLAN protocol. *
* * @param vlanId * The ID of the VLAN when you use the VLAN protocol. * @return Returns a reference to this object so that method calls can be chained together. */ public TrunkInterfaceAssociation withVlanId(Integer vlanId) { setVlanId(vlanId); return this; } /** ** The application key when you use the GRE protocol. *
* * @param greKey * The application key when you use the GRE protocol. */ public void setGreKey(Integer greKey) { this.greKey = greKey; } /** ** The application key when you use the GRE protocol. *
* * @return The application key when you use the GRE protocol. */ public Integer getGreKey() { return this.greKey; } /** ** The application key when you use the GRE protocol. *
* * @param greKey * The application key when you use the GRE protocol. * @return Returns a reference to this object so that method calls can be chained together. */ public TrunkInterfaceAssociation withGreKey(Integer greKey) { setGreKey(greKey); return this; } /** ** The tags for the trunk interface association. *
* * @return The tags for the trunk interface association. */ public java.util.List* The tags for the trunk interface association. *
* * @param tags * The tags for the trunk interface association. */ public void setTags(java.util.Collection* The tags for the trunk interface association. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setTags(java.util.Collection)} or {@link #withTags(java.util.Collection)} if you want to override the * existing values. *
* * @param tags * The tags for the trunk interface association. * @return Returns a reference to this object so that method calls can be chained together. */ public TrunkInterfaceAssociation withTags(Tag... tags) { if (this.tags == null) { setTags(new com.amazonaws.internal.SdkInternalList* The tags for the trunk interface association. *
* * @param tags * The tags for the trunk interface association. * @return Returns a reference to this object so that method calls can be chained together. */ public TrunkInterfaceAssociation withTags(java.util.Collection