// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: MIT-0 package aws.proserve.bcs.ce.dto; import aws.proserve.bcs.dr.dto.request.CreateProjectRequest; import aws.proserve.bcs.dr.secret.Credential; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import org.immutables.value.Value; import javax.annotation.Nullable; /** * From GWT. */ @JsonSerialize(as = ImmutableCreateCloudEndureProjectRequest.class) @JsonDeserialize(as = ImmutableCreateCloudEndureProjectRequest.class) @Value.Immutable public interface CreateCloudEndureProjectRequest extends CreateProjectRequest { /** * @apiNote must provide this default method for boolean value because GWT omits the boolean value if it is false, * therefore, JSON will complain that the value is missing. *
* Must use prefix of get
instead of is
as JSON generates setIs
for
* is
prefix methods.
*/
@Value.Default
default boolean getPublicNetwork() {
return false;
}
/**
* @apiNote GWT does not pass this value. It is computed before sending to step functions.
*/
@Nullable
@Value.Default
default String getStagingSubnetId() {
return null;
}
/**
* @apiNote it will be nulled before executing step functions executions.
*/
@Nullable
Credential getSourceCredential();
/**
* @apiNote GWT does not pass this value. It is computed before creating the project.
*/
@Nullable
String getSourceCredentialId();
String getSourceVpcId();
/**
* @apiNote possible null target vpc for wizard.
*/
@Nullable
String getTargetVpcId();
String getSourceInstanceType();
String getTargetInstanceType();
}