// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: MIT-0 package aws.proserve.bcs.dr.project; import aws.proserve.bcs.dr.dto.Identifiable; import org.immutables.value.Value; import javax.annotation.Nullable; /** * The other resource(s) and the corresponding DRPortal item. * * @param the AWS resource class. * @param the DRPortal item class. */ public interface ResourceItem extends Identifiable { /** * @apiNote redundant, usually the ID of the item. */ @Override @Value.Default default String getId() { return getItem().getId(); } I getItem(); A getSource(); /** * @apiNote For vpc replication, the target vpc is unknown when creating this object. */ @Nullable A getTarget(); /** * @return the source region as defined in the parent project of this item. */ String getSourceRegion(); /** * @return the target region as defined in the parent project of this item. */ String getTargetRegion(); }