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

com.pulumi.azurenative.network.RecordSetArgs Maven / Gradle / Ivy

There is a newer version: 2.78.0
Show newest version
// *** 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.azurenative.network;

import com.pulumi.azurenative.network.inputs.ARecordArgs;
import com.pulumi.azurenative.network.inputs.AaaaRecordArgs;
import com.pulumi.azurenative.network.inputs.CaaRecordArgs;
import com.pulumi.azurenative.network.inputs.CnameRecordArgs;
import com.pulumi.azurenative.network.inputs.MxRecordArgs;
import com.pulumi.azurenative.network.inputs.NsRecordArgs;
import com.pulumi.azurenative.network.inputs.PtrRecordArgs;
import com.pulumi.azurenative.network.inputs.SoaRecordArgs;
import com.pulumi.azurenative.network.inputs.SrvRecordArgs;
import com.pulumi.azurenative.network.inputs.SubResourceArgs;
import com.pulumi.azurenative.network.inputs.TxtRecordArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Double;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final RecordSetArgs Empty = new RecordSetArgs();

    /**
     * The list of A records in the record set.
     * 
     */
    @Import(name="aRecords")
    private @Nullable Output> aRecords;

    /**
     * @return The list of A records in the record set.
     * 
     */
    public Optional>> aRecords() {
        return Optional.ofNullable(this.aRecords);
    }

    /**
     * The list of AAAA records in the record set.
     * 
     */
    @Import(name="aaaaRecords")
    private @Nullable Output> aaaaRecords;

    /**
     * @return The list of AAAA records in the record set.
     * 
     */
    public Optional>> aaaaRecords() {
        return Optional.ofNullable(this.aaaaRecords);
    }

    /**
     * The list of CAA records in the record set.
     * 
     */
    @Import(name="caaRecords")
    private @Nullable Output> caaRecords;

    /**
     * @return The list of CAA records in the record set.
     * 
     */
    public Optional>> caaRecords() {
        return Optional.ofNullable(this.caaRecords);
    }

    /**
     * The CNAME record in the  record set.
     * 
     */
    @Import(name="cnameRecord")
    private @Nullable Output cnameRecord;

    /**
     * @return The CNAME record in the  record set.
     * 
     */
    public Optional> cnameRecord() {
        return Optional.ofNullable(this.cnameRecord);
    }

    /**
     * The metadata attached to the record set.
     * 
     */
    @Import(name="metadata")
    private @Nullable Output> metadata;

    /**
     * @return The metadata attached to the record set.
     * 
     */
    public Optional>> metadata() {
        return Optional.ofNullable(this.metadata);
    }

    /**
     * The list of MX records in the record set.
     * 
     */
    @Import(name="mxRecords")
    private @Nullable Output> mxRecords;

    /**
     * @return The list of MX records in the record set.
     * 
     */
    public Optional>> mxRecords() {
        return Optional.ofNullable(this.mxRecords);
    }

    /**
     * The list of NS records in the record set.
     * 
     */
    @Import(name="nsRecords")
    private @Nullable Output> nsRecords;

    /**
     * @return The list of NS records in the record set.
     * 
     */
    public Optional>> nsRecords() {
        return Optional.ofNullable(this.nsRecords);
    }

    /**
     * The list of PTR records in the record set.
     * 
     */
    @Import(name="ptrRecords")
    private @Nullable Output> ptrRecords;

    /**
     * @return The list of PTR records in the record set.
     * 
     */
    public Optional>> ptrRecords() {
        return Optional.ofNullable(this.ptrRecords);
    }

    /**
     * The type of DNS record in this record set. Record sets of type SOA can be updated but not created (they are created when the DNS zone is created).
     * 
     */
    @Import(name="recordType", required=true)
    private Output recordType;

    /**
     * @return The type of DNS record in this record set. Record sets of type SOA can be updated but not created (they are created when the DNS zone is created).
     * 
     */
    public Output recordType() {
        return this.recordType;
    }

    /**
     * The name of the record set, relative to the name of the zone.
     * 
     */
    @Import(name="relativeRecordSetName")
    private @Nullable Output relativeRecordSetName;

    /**
     * @return The name of the record set, relative to the name of the zone.
     * 
     */
    public Optional> relativeRecordSetName() {
        return Optional.ofNullable(this.relativeRecordSetName);
    }

    /**
     * The name of the resource group.
     * 
     */
    @Import(name="resourceGroupName", required=true)
    private Output resourceGroupName;

    /**
     * @return The name of the resource group.
     * 
     */
    public Output resourceGroupName() {
        return this.resourceGroupName;
    }

    /**
     * The SOA record in the record set.
     * 
     */
    @Import(name="soaRecord")
    private @Nullable Output soaRecord;

    /**
     * @return The SOA record in the record set.
     * 
     */
    public Optional> soaRecord() {
        return Optional.ofNullable(this.soaRecord);
    }

    /**
     * The list of SRV records in the record set.
     * 
     */
    @Import(name="srvRecords")
    private @Nullable Output> srvRecords;

    /**
     * @return The list of SRV records in the record set.
     * 
     */
    public Optional>> srvRecords() {
        return Optional.ofNullable(this.srvRecords);
    }

    /**
     * A reference to an azure resource from where the dns resource value is taken.
     * 
     */
    @Import(name="targetResource")
    private @Nullable Output targetResource;

    /**
     * @return A reference to an azure resource from where the dns resource value is taken.
     * 
     */
    public Optional> targetResource() {
        return Optional.ofNullable(this.targetResource);
    }

    /**
     * The TTL (time-to-live) of the records in the record set.
     * 
     */
    @Import(name="ttl")
    private @Nullable Output ttl;

    /**
     * @return The TTL (time-to-live) of the records in the record set.
     * 
     */
    public Optional> ttl() {
        return Optional.ofNullable(this.ttl);
    }

    /**
     * The list of TXT records in the record set.
     * 
     */
    @Import(name="txtRecords")
    private @Nullable Output> txtRecords;

    /**
     * @return The list of TXT records in the record set.
     * 
     */
    public Optional>> txtRecords() {
        return Optional.ofNullable(this.txtRecords);
    }

    /**
     * The name of the DNS zone (without a terminating dot).
     * 
     */
    @Import(name="zoneName", required=true)
    private Output zoneName;

    /**
     * @return The name of the DNS zone (without a terminating dot).
     * 
     */
    public Output zoneName() {
        return this.zoneName;
    }

    private RecordSetArgs() {}

    private RecordSetArgs(RecordSetArgs $) {
        this.aRecords = $.aRecords;
        this.aaaaRecords = $.aaaaRecords;
        this.caaRecords = $.caaRecords;
        this.cnameRecord = $.cnameRecord;
        this.metadata = $.metadata;
        this.mxRecords = $.mxRecords;
        this.nsRecords = $.nsRecords;
        this.ptrRecords = $.ptrRecords;
        this.recordType = $.recordType;
        this.relativeRecordSetName = $.relativeRecordSetName;
        this.resourceGroupName = $.resourceGroupName;
        this.soaRecord = $.soaRecord;
        this.srvRecords = $.srvRecords;
        this.targetResource = $.targetResource;
        this.ttl = $.ttl;
        this.txtRecords = $.txtRecords;
        this.zoneName = $.zoneName;
    }

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

    public static final class Builder {
        private RecordSetArgs $;

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

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

        /**
         * @param aRecords The list of A records in the record set.
         * 
         * @return builder
         * 
         */
        public Builder aRecords(@Nullable Output> aRecords) {
            $.aRecords = aRecords;
            return this;
        }

        /**
         * @param aRecords The list of A records in the record set.
         * 
         * @return builder
         * 
         */
        public Builder aRecords(List aRecords) {
            return aRecords(Output.of(aRecords));
        }

        /**
         * @param aRecords The list of A records in the record set.
         * 
         * @return builder
         * 
         */
        public Builder aRecords(ARecordArgs... aRecords) {
            return aRecords(List.of(aRecords));
        }

        /**
         * @param aaaaRecords The list of AAAA records in the record set.
         * 
         * @return builder
         * 
         */
        public Builder aaaaRecords(@Nullable Output> aaaaRecords) {
            $.aaaaRecords = aaaaRecords;
            return this;
        }

        /**
         * @param aaaaRecords The list of AAAA records in the record set.
         * 
         * @return builder
         * 
         */
        public Builder aaaaRecords(List aaaaRecords) {
            return aaaaRecords(Output.of(aaaaRecords));
        }

        /**
         * @param aaaaRecords The list of AAAA records in the record set.
         * 
         * @return builder
         * 
         */
        public Builder aaaaRecords(AaaaRecordArgs... aaaaRecords) {
            return aaaaRecords(List.of(aaaaRecords));
        }

        /**
         * @param caaRecords The list of CAA records in the record set.
         * 
         * @return builder
         * 
         */
        public Builder caaRecords(@Nullable Output> caaRecords) {
            $.caaRecords = caaRecords;
            return this;
        }

        /**
         * @param caaRecords The list of CAA records in the record set.
         * 
         * @return builder
         * 
         */
        public Builder caaRecords(List caaRecords) {
            return caaRecords(Output.of(caaRecords));
        }

        /**
         * @param caaRecords The list of CAA records in the record set.
         * 
         * @return builder
         * 
         */
        public Builder caaRecords(CaaRecordArgs... caaRecords) {
            return caaRecords(List.of(caaRecords));
        }

        /**
         * @param cnameRecord The CNAME record in the  record set.
         * 
         * @return builder
         * 
         */
        public Builder cnameRecord(@Nullable Output cnameRecord) {
            $.cnameRecord = cnameRecord;
            return this;
        }

        /**
         * @param cnameRecord The CNAME record in the  record set.
         * 
         * @return builder
         * 
         */
        public Builder cnameRecord(CnameRecordArgs cnameRecord) {
            return cnameRecord(Output.of(cnameRecord));
        }

        /**
         * @param metadata The metadata attached to the record set.
         * 
         * @return builder
         * 
         */
        public Builder metadata(@Nullable Output> metadata) {
            $.metadata = metadata;
            return this;
        }

        /**
         * @param metadata The metadata attached to the record set.
         * 
         * @return builder
         * 
         */
        public Builder metadata(Map metadata) {
            return metadata(Output.of(metadata));
        }

        /**
         * @param mxRecords The list of MX records in the record set.
         * 
         * @return builder
         * 
         */
        public Builder mxRecords(@Nullable Output> mxRecords) {
            $.mxRecords = mxRecords;
            return this;
        }

        /**
         * @param mxRecords The list of MX records in the record set.
         * 
         * @return builder
         * 
         */
        public Builder mxRecords(List mxRecords) {
            return mxRecords(Output.of(mxRecords));
        }

        /**
         * @param mxRecords The list of MX records in the record set.
         * 
         * @return builder
         * 
         */
        public Builder mxRecords(MxRecordArgs... mxRecords) {
            return mxRecords(List.of(mxRecords));
        }

        /**
         * @param nsRecords The list of NS records in the record set.
         * 
         * @return builder
         * 
         */
        public Builder nsRecords(@Nullable Output> nsRecords) {
            $.nsRecords = nsRecords;
            return this;
        }

        /**
         * @param nsRecords The list of NS records in the record set.
         * 
         * @return builder
         * 
         */
        public Builder nsRecords(List nsRecords) {
            return nsRecords(Output.of(nsRecords));
        }

        /**
         * @param nsRecords The list of NS records in the record set.
         * 
         * @return builder
         * 
         */
        public Builder nsRecords(NsRecordArgs... nsRecords) {
            return nsRecords(List.of(nsRecords));
        }

        /**
         * @param ptrRecords The list of PTR records in the record set.
         * 
         * @return builder
         * 
         */
        public Builder ptrRecords(@Nullable Output> ptrRecords) {
            $.ptrRecords = ptrRecords;
            return this;
        }

        /**
         * @param ptrRecords The list of PTR records in the record set.
         * 
         * @return builder
         * 
         */
        public Builder ptrRecords(List ptrRecords) {
            return ptrRecords(Output.of(ptrRecords));
        }

        /**
         * @param ptrRecords The list of PTR records in the record set.
         * 
         * @return builder
         * 
         */
        public Builder ptrRecords(PtrRecordArgs... ptrRecords) {
            return ptrRecords(List.of(ptrRecords));
        }

        /**
         * @param recordType The type of DNS record in this record set. Record sets of type SOA can be updated but not created (they are created when the DNS zone is created).
         * 
         * @return builder
         * 
         */
        public Builder recordType(Output recordType) {
            $.recordType = recordType;
            return this;
        }

        /**
         * @param recordType The type of DNS record in this record set. Record sets of type SOA can be updated but not created (they are created when the DNS zone is created).
         * 
         * @return builder
         * 
         */
        public Builder recordType(String recordType) {
            return recordType(Output.of(recordType));
        }

        /**
         * @param relativeRecordSetName The name of the record set, relative to the name of the zone.
         * 
         * @return builder
         * 
         */
        public Builder relativeRecordSetName(@Nullable Output relativeRecordSetName) {
            $.relativeRecordSetName = relativeRecordSetName;
            return this;
        }

        /**
         * @param relativeRecordSetName The name of the record set, relative to the name of the zone.
         * 
         * @return builder
         * 
         */
        public Builder relativeRecordSetName(String relativeRecordSetName) {
            return relativeRecordSetName(Output.of(relativeRecordSetName));
        }

        /**
         * @param resourceGroupName The name of the resource group.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName The name of the resource group.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        /**
         * @param soaRecord The SOA record in the record set.
         * 
         * @return builder
         * 
         */
        public Builder soaRecord(@Nullable Output soaRecord) {
            $.soaRecord = soaRecord;
            return this;
        }

        /**
         * @param soaRecord The SOA record in the record set.
         * 
         * @return builder
         * 
         */
        public Builder soaRecord(SoaRecordArgs soaRecord) {
            return soaRecord(Output.of(soaRecord));
        }

        /**
         * @param srvRecords The list of SRV records in the record set.
         * 
         * @return builder
         * 
         */
        public Builder srvRecords(@Nullable Output> srvRecords) {
            $.srvRecords = srvRecords;
            return this;
        }

        /**
         * @param srvRecords The list of SRV records in the record set.
         * 
         * @return builder
         * 
         */
        public Builder srvRecords(List srvRecords) {
            return srvRecords(Output.of(srvRecords));
        }

        /**
         * @param srvRecords The list of SRV records in the record set.
         * 
         * @return builder
         * 
         */
        public Builder srvRecords(SrvRecordArgs... srvRecords) {
            return srvRecords(List.of(srvRecords));
        }

        /**
         * @param targetResource A reference to an azure resource from where the dns resource value is taken.
         * 
         * @return builder
         * 
         */
        public Builder targetResource(@Nullable Output targetResource) {
            $.targetResource = targetResource;
            return this;
        }

        /**
         * @param targetResource A reference to an azure resource from where the dns resource value is taken.
         * 
         * @return builder
         * 
         */
        public Builder targetResource(SubResourceArgs targetResource) {
            return targetResource(Output.of(targetResource));
        }

        /**
         * @param ttl The TTL (time-to-live) of the records in the record set.
         * 
         * @return builder
         * 
         */
        public Builder ttl(@Nullable Output ttl) {
            $.ttl = ttl;
            return this;
        }

        /**
         * @param ttl The TTL (time-to-live) of the records in the record set.
         * 
         * @return builder
         * 
         */
        public Builder ttl(Double ttl) {
            return ttl(Output.of(ttl));
        }

        /**
         * @param txtRecords The list of TXT records in the record set.
         * 
         * @return builder
         * 
         */
        public Builder txtRecords(@Nullable Output> txtRecords) {
            $.txtRecords = txtRecords;
            return this;
        }

        /**
         * @param txtRecords The list of TXT records in the record set.
         * 
         * @return builder
         * 
         */
        public Builder txtRecords(List txtRecords) {
            return txtRecords(Output.of(txtRecords));
        }

        /**
         * @param txtRecords The list of TXT records in the record set.
         * 
         * @return builder
         * 
         */
        public Builder txtRecords(TxtRecordArgs... txtRecords) {
            return txtRecords(List.of(txtRecords));
        }

        /**
         * @param zoneName The name of the DNS zone (without a terminating dot).
         * 
         * @return builder
         * 
         */
        public Builder zoneName(Output zoneName) {
            $.zoneName = zoneName;
            return this;
        }

        /**
         * @param zoneName The name of the DNS zone (without a terminating dot).
         * 
         * @return builder
         * 
         */
        public Builder zoneName(String zoneName) {
            return zoneName(Output.of(zoneName));
        }

        public RecordSetArgs build() {
            if ($.recordType == null) {
                throw new MissingRequiredPropertyException("RecordSetArgs", "recordType");
            }
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("RecordSetArgs", "resourceGroupName");
            }
            if ($.zoneName == null) {
                throw new MissingRequiredPropertyException("RecordSetArgs", "zoneName");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy