/* * 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; /** *
* Describes an attachment between a resource and a transit gateway. *
* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class TransitGatewayAttachment implements Serializable, Cloneable { /** ** The ID of the attachment. *
*/ private String transitGatewayAttachmentId; /** ** The ID of the transit gateway. *
*/ private String transitGatewayId; /** ** The ID of the Amazon Web Services account that owns the transit gateway. *
*/ private String transitGatewayOwnerId; /** ** The ID of the Amazon Web Services account that owns the resource. *
*/ private String resourceOwnerId; /** *
     * The resource type. Note that the tgw-peering resource type has been deprecated.
     * 
* The ID of the resource. *
*/ private String resourceId; /** *
     * The attachment state. Note that the initiating state has been deprecated.
     * 
* The association. *
*/ private TransitGatewayAttachmentAssociation association; /** ** The creation time. *
*/ private java.util.Date creationTime; /** ** The tags for the attachment. *
*/ private com.amazonaws.internal.SdkInternalList* The ID of the attachment. *
* * @param transitGatewayAttachmentId * The ID of the attachment. */ public void setTransitGatewayAttachmentId(String transitGatewayAttachmentId) { this.transitGatewayAttachmentId = transitGatewayAttachmentId; } /** ** The ID of the attachment. *
* * @return The ID of the attachment. */ public String getTransitGatewayAttachmentId() { return this.transitGatewayAttachmentId; } /** ** The ID of the attachment. *
* * @param transitGatewayAttachmentId * The ID of the attachment. * @return Returns a reference to this object so that method calls can be chained together. */ public TransitGatewayAttachment withTransitGatewayAttachmentId(String transitGatewayAttachmentId) { setTransitGatewayAttachmentId(transitGatewayAttachmentId); return this; } /** ** The ID of the transit gateway. *
* * @param transitGatewayId * The ID of the transit gateway. */ public void setTransitGatewayId(String transitGatewayId) { this.transitGatewayId = transitGatewayId; } /** ** The ID of the transit gateway. *
* * @return The ID of the transit gateway. */ public String getTransitGatewayId() { return this.transitGatewayId; } /** ** The ID of the transit gateway. *
* * @param transitGatewayId * The ID of the transit gateway. * @return Returns a reference to this object so that method calls can be chained together. */ public TransitGatewayAttachment withTransitGatewayId(String transitGatewayId) { setTransitGatewayId(transitGatewayId); return this; } /** ** The ID of the Amazon Web Services account that owns the transit gateway. *
* * @param transitGatewayOwnerId * The ID of the Amazon Web Services account that owns the transit gateway. */ public void setTransitGatewayOwnerId(String transitGatewayOwnerId) { this.transitGatewayOwnerId = transitGatewayOwnerId; } /** ** The ID of the Amazon Web Services account that owns the transit gateway. *
* * @return The ID of the Amazon Web Services account that owns the transit gateway. */ public String getTransitGatewayOwnerId() { return this.transitGatewayOwnerId; } /** ** The ID of the Amazon Web Services account that owns the transit gateway. *
* * @param transitGatewayOwnerId * The ID of the Amazon Web Services account that owns the transit gateway. * @return Returns a reference to this object so that method calls can be chained together. */ public TransitGatewayAttachment withTransitGatewayOwnerId(String transitGatewayOwnerId) { setTransitGatewayOwnerId(transitGatewayOwnerId); return this; } /** ** The ID of the Amazon Web Services account that owns the resource. *
* * @param resourceOwnerId * The ID of the Amazon Web Services account that owns the resource. */ public void setResourceOwnerId(String resourceOwnerId) { this.resourceOwnerId = resourceOwnerId; } /** ** The ID of the Amazon Web Services account that owns the resource. *
* * @return The ID of the Amazon Web Services account that owns the resource. */ public String getResourceOwnerId() { return this.resourceOwnerId; } /** ** The ID of the Amazon Web Services account that owns the resource. *
* * @param resourceOwnerId * The ID of the Amazon Web Services account that owns the resource. * @return Returns a reference to this object so that method calls can be chained together. */ public TransitGatewayAttachment withResourceOwnerId(String resourceOwnerId) { setResourceOwnerId(resourceOwnerId); return this; } /** *
     * The resource type. Note that the tgw-peering resource type has been deprecated.
     * 
tgw-peering resource type has been deprecated.
     * @see TransitGatewayAttachmentResourceType
     */
    public void setResourceType(String resourceType) {
        this.resourceType = resourceType;
    }
    /**
     * 
     * The resource type. Note that the tgw-peering resource type has been deprecated.
     * 
tgw-peering resource type has been deprecated.
     * @see TransitGatewayAttachmentResourceType
     */
    public String getResourceType() {
        return this.resourceType;
    }
    /**
     * 
     * The resource type. Note that the tgw-peering resource type has been deprecated.
     * 
tgw-peering resource type has been deprecated.
     * @return Returns a reference to this object so that method calls can be chained together.
     * @see TransitGatewayAttachmentResourceType
     */
    public TransitGatewayAttachment withResourceType(String resourceType) {
        setResourceType(resourceType);
        return this;
    }
    /**
     * 
     * The resource type. Note that the tgw-peering resource type has been deprecated.
     * 
tgw-peering resource type has been deprecated.
     * @return Returns a reference to this object so that method calls can be chained together.
     * @see TransitGatewayAttachmentResourceType
     */
    public TransitGatewayAttachment withResourceType(TransitGatewayAttachmentResourceType resourceType) {
        this.resourceType = resourceType.toString();
        return this;
    }
    /**
     * * The ID of the resource. *
* * @param resourceId * The ID of the resource. */ public void setResourceId(String resourceId) { this.resourceId = resourceId; } /** ** The ID of the resource. *
* * @return The ID of the resource. */ public String getResourceId() { return this.resourceId; } /** ** The ID of the resource. *
* * @param resourceId * The ID of the resource. * @return Returns a reference to this object so that method calls can be chained together. */ public TransitGatewayAttachment withResourceId(String resourceId) { setResourceId(resourceId); return this; } /** *
     * The attachment state. Note that the initiating state has been deprecated.
     * 
initiating state has been deprecated.
     * @see TransitGatewayAttachmentState
     */
    public void setState(String state) {
        this.state = state;
    }
    /**
     * 
     * The attachment state. Note that the initiating state has been deprecated.
     * 
initiating state has been deprecated.
     * @see TransitGatewayAttachmentState
     */
    public String getState() {
        return this.state;
    }
    /**
     * 
     * The attachment state. Note that the initiating state has been deprecated.
     * 
initiating state has been deprecated.
     * @return Returns a reference to this object so that method calls can be chained together.
     * @see TransitGatewayAttachmentState
     */
    public TransitGatewayAttachment withState(String state) {
        setState(state);
        return this;
    }
    /**
     * 
     * The attachment state. Note that the initiating state has been deprecated.
     * 
initiating state has been deprecated.
     * @return Returns a reference to this object so that method calls can be chained together.
     * @see TransitGatewayAttachmentState
     */
    public TransitGatewayAttachment withState(TransitGatewayAttachmentState state) {
        this.state = state.toString();
        return this;
    }
    /**
     * * The association. *
* * @param association * The association. */ public void setAssociation(TransitGatewayAttachmentAssociation association) { this.association = association; } /** ** The association. *
* * @return The association. */ public TransitGatewayAttachmentAssociation getAssociation() { return this.association; } /** ** The association. *
* * @param association * The association. * @return Returns a reference to this object so that method calls can be chained together. */ public TransitGatewayAttachment withAssociation(TransitGatewayAttachmentAssociation association) { setAssociation(association); return this; } /** ** The creation time. *
* * @param creationTime * The creation time. */ public void setCreationTime(java.util.Date creationTime) { this.creationTime = creationTime; } /** ** The creation time. *
* * @return The creation time. */ public java.util.Date getCreationTime() { return this.creationTime; } /** ** The creation time. *
* * @param creationTime * The creation time. * @return Returns a reference to this object so that method calls can be chained together. */ public TransitGatewayAttachment withCreationTime(java.util.Date creationTime) { setCreationTime(creationTime); return this; } /** ** The tags for the attachment. *
* * @return The tags for the attachment. */ public java.util.List* The tags for the attachment. *
* * @param tags * The tags for the attachment. */ public void setTags(java.util.Collection* The tags for the attachment. *
** 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 attachment. * @return Returns a reference to this object so that method calls can be chained together. */ public TransitGatewayAttachment withTags(Tag... tags) { if (this.tags == null) { setTags(new com.amazonaws.internal.SdkInternalList* The tags for the attachment. *
* * @param tags * The tags for the attachment. * @return Returns a reference to this object so that method calls can be chained together. */ public TransitGatewayAttachment withTags(java.util.Collection