All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.aws.route53.inputs.RecordAliasArgs Maven / Gradle / Ivy

// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.aws.route53.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.String;
import java.util.Objects;


public final class RecordAliasArgs extends com.pulumi.resources.ResourceArgs {

    public static final RecordAliasArgs Empty = new RecordAliasArgs();

    /**
     * Set to `true` if you want Route 53 to determine whether to respond to DNS queries using this resource record set by checking the health of the resource record set. Some resources have special requirements, see [related part of documentation](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resource-record-sets-values.html#rrsets-values-alias-evaluate-target-health).
     * 
     */
    @Import(name="evaluateTargetHealth", required=true)
    private Output evaluateTargetHealth;

    /**
     * @return Set to `true` if you want Route 53 to determine whether to respond to DNS queries using this resource record set by checking the health of the resource record set. Some resources have special requirements, see [related part of documentation](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resource-record-sets-values.html#rrsets-values-alias-evaluate-target-health).
     * 
     */
    public Output evaluateTargetHealth() {
        return this.evaluateTargetHealth;
    }

    /**
     * DNS domain name for a CloudFront distribution, S3 bucket, ELB, or another resource record set in this hosted zone.
     * 
     */
    @Import(name="name", required=true)
    private Output name;

    /**
     * @return DNS domain name for a CloudFront distribution, S3 bucket, ELB, or another resource record set in this hosted zone.
     * 
     */
    public Output name() {
        return this.name;
    }

    /**
     * Hosted zone ID for a CloudFront distribution, S3 bucket, ELB, or Route 53 hosted zone. See `resource_elb.zone_id` for example.
     * 
     */
    @Import(name="zoneId", required=true)
    private Output zoneId;

    /**
     * @return Hosted zone ID for a CloudFront distribution, S3 bucket, ELB, or Route 53 hosted zone. See `resource_elb.zone_id` for example.
     * 
     */
    public Output zoneId() {
        return this.zoneId;
    }

    private RecordAliasArgs() {}

    private RecordAliasArgs(RecordAliasArgs $) {
        this.evaluateTargetHealth = $.evaluateTargetHealth;
        this.name = $.name;
        this.zoneId = $.zoneId;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(RecordAliasArgs defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private RecordAliasArgs $;

        public Builder() {
            $ = new RecordAliasArgs();
        }

        public Builder(RecordAliasArgs defaults) {
            $ = new RecordAliasArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param evaluateTargetHealth Set to `true` if you want Route 53 to determine whether to respond to DNS queries using this resource record set by checking the health of the resource record set. Some resources have special requirements, see [related part of documentation](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resource-record-sets-values.html#rrsets-values-alias-evaluate-target-health).
         * 
         * @return builder
         * 
         */
        public Builder evaluateTargetHealth(Output evaluateTargetHealth) {
            $.evaluateTargetHealth = evaluateTargetHealth;
            return this;
        }

        /**
         * @param evaluateTargetHealth Set to `true` if you want Route 53 to determine whether to respond to DNS queries using this resource record set by checking the health of the resource record set. Some resources have special requirements, see [related part of documentation](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resource-record-sets-values.html#rrsets-values-alias-evaluate-target-health).
         * 
         * @return builder
         * 
         */
        public Builder evaluateTargetHealth(Boolean evaluateTargetHealth) {
            return evaluateTargetHealth(Output.of(evaluateTargetHealth));
        }

        /**
         * @param name DNS domain name for a CloudFront distribution, S3 bucket, ELB, or another resource record set in this hosted zone.
         * 
         * @return builder
         * 
         */
        public Builder name(Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name DNS domain name for a CloudFront distribution, S3 bucket, ELB, or another resource record set in this hosted zone.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param zoneId Hosted zone ID for a CloudFront distribution, S3 bucket, ELB, or Route 53 hosted zone. See `resource_elb.zone_id` for example.
         * 
         * @return builder
         * 
         */
        public Builder zoneId(Output zoneId) {
            $.zoneId = zoneId;
            return this;
        }

        /**
         * @param zoneId Hosted zone ID for a CloudFront distribution, S3 bucket, ELB, or Route 53 hosted zone. See `resource_elb.zone_id` for example.
         * 
         * @return builder
         * 
         */
        public Builder zoneId(String zoneId) {
            return zoneId(Output.of(zoneId));
        }

        public RecordAliasArgs build() {
            if ($.evaluateTargetHealth == null) {
                throw new MissingRequiredPropertyException("RecordAliasArgs", "evaluateTargetHealth");
            }
            if ($.name == null) {
                throw new MissingRequiredPropertyException("RecordAliasArgs", "name");
            }
            if ($.zoneId == null) {
                throw new MissingRequiredPropertyException("RecordAliasArgs", "zoneId");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy