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

com.pulumi.azurenative.azurearcdata.outputs.SqlServerAvailabilityGroupResourcePropertiesResponse Maven / Gradle / Ivy

There is a newer version: 2.82.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.azurearcdata.outputs;

import com.pulumi.azurenative.azurearcdata.outputs.AvailabilityGroupInfoResponse;
import com.pulumi.azurenative.azurearcdata.outputs.SqlServerAvailabilityGroupResourcePropertiesResponseDatabases;
import com.pulumi.azurenative.azurearcdata.outputs.SqlServerAvailabilityGroupResourcePropertiesResponseReplicas;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class SqlServerAvailabilityGroupResourcePropertiesResponse {
    /**
     * @return ID GUID of the availability group.
     * 
     */
    private String availabilityGroupId;
    /**
     * @return Timestamp for when the data was collected from the client machine.
     * 
     */
    private String collectionTimestamp;
    /**
     * @return A list of Availability Group Database Replicas.
     * 
     */
    private @Nullable SqlServerAvailabilityGroupResourcePropertiesResponseDatabases databases;
    /**
     * @return Availability Group Info
     * 
     */
    private @Nullable AvailabilityGroupInfoResponse info;
    /**
     * @return the SQL Server Instance name.
     * 
     */
    private String instanceName;
    /**
     * @return The provisioning state of the Arc-enabled SQL Server availability group resource.
     * 
     */
    private String provisioningState;
    /**
     * @return A list of Availability Group Replicas.
     * 
     */
    private @Nullable SqlServerAvailabilityGroupResourcePropertiesResponseReplicas replicas;
    /**
     * @return the SQL server name.
     * 
     */
    private String serverName;

    private SqlServerAvailabilityGroupResourcePropertiesResponse() {}
    /**
     * @return ID GUID of the availability group.
     * 
     */
    public String availabilityGroupId() {
        return this.availabilityGroupId;
    }
    /**
     * @return Timestamp for when the data was collected from the client machine.
     * 
     */
    public String collectionTimestamp() {
        return this.collectionTimestamp;
    }
    /**
     * @return A list of Availability Group Database Replicas.
     * 
     */
    public Optional databases() {
        return Optional.ofNullable(this.databases);
    }
    /**
     * @return Availability Group Info
     * 
     */
    public Optional info() {
        return Optional.ofNullable(this.info);
    }
    /**
     * @return the SQL Server Instance name.
     * 
     */
    public String instanceName() {
        return this.instanceName;
    }
    /**
     * @return The provisioning state of the Arc-enabled SQL Server availability group resource.
     * 
     */
    public String provisioningState() {
        return this.provisioningState;
    }
    /**
     * @return A list of Availability Group Replicas.
     * 
     */
    public Optional replicas() {
        return Optional.ofNullable(this.replicas);
    }
    /**
     * @return the SQL server name.
     * 
     */
    public String serverName() {
        return this.serverName;
    }

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

    public static Builder builder(SqlServerAvailabilityGroupResourcePropertiesResponse defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private String availabilityGroupId;
        private String collectionTimestamp;
        private @Nullable SqlServerAvailabilityGroupResourcePropertiesResponseDatabases databases;
        private @Nullable AvailabilityGroupInfoResponse info;
        private String instanceName;
        private String provisioningState;
        private @Nullable SqlServerAvailabilityGroupResourcePropertiesResponseReplicas replicas;
        private String serverName;
        public Builder() {}
        public Builder(SqlServerAvailabilityGroupResourcePropertiesResponse defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.availabilityGroupId = defaults.availabilityGroupId;
    	      this.collectionTimestamp = defaults.collectionTimestamp;
    	      this.databases = defaults.databases;
    	      this.info = defaults.info;
    	      this.instanceName = defaults.instanceName;
    	      this.provisioningState = defaults.provisioningState;
    	      this.replicas = defaults.replicas;
    	      this.serverName = defaults.serverName;
        }

        @CustomType.Setter
        public Builder availabilityGroupId(String availabilityGroupId) {
            if (availabilityGroupId == null) {
              throw new MissingRequiredPropertyException("SqlServerAvailabilityGroupResourcePropertiesResponse", "availabilityGroupId");
            }
            this.availabilityGroupId = availabilityGroupId;
            return this;
        }
        @CustomType.Setter
        public Builder collectionTimestamp(String collectionTimestamp) {
            if (collectionTimestamp == null) {
              throw new MissingRequiredPropertyException("SqlServerAvailabilityGroupResourcePropertiesResponse", "collectionTimestamp");
            }
            this.collectionTimestamp = collectionTimestamp;
            return this;
        }
        @CustomType.Setter
        public Builder databases(@Nullable SqlServerAvailabilityGroupResourcePropertiesResponseDatabases databases) {

            this.databases = databases;
            return this;
        }
        @CustomType.Setter
        public Builder info(@Nullable AvailabilityGroupInfoResponse info) {

            this.info = info;
            return this;
        }
        @CustomType.Setter
        public Builder instanceName(String instanceName) {
            if (instanceName == null) {
              throw new MissingRequiredPropertyException("SqlServerAvailabilityGroupResourcePropertiesResponse", "instanceName");
            }
            this.instanceName = instanceName;
            return this;
        }
        @CustomType.Setter
        public Builder provisioningState(String provisioningState) {
            if (provisioningState == null) {
              throw new MissingRequiredPropertyException("SqlServerAvailabilityGroupResourcePropertiesResponse", "provisioningState");
            }
            this.provisioningState = provisioningState;
            return this;
        }
        @CustomType.Setter
        public Builder replicas(@Nullable SqlServerAvailabilityGroupResourcePropertiesResponseReplicas replicas) {

            this.replicas = replicas;
            return this;
        }
        @CustomType.Setter
        public Builder serverName(String serverName) {
            if (serverName == null) {
              throw new MissingRequiredPropertyException("SqlServerAvailabilityGroupResourcePropertiesResponse", "serverName");
            }
            this.serverName = serverName;
            return this;
        }
        public SqlServerAvailabilityGroupResourcePropertiesResponse build() {
            final var _resultValue = new SqlServerAvailabilityGroupResourcePropertiesResponse();
            _resultValue.availabilityGroupId = availabilityGroupId;
            _resultValue.collectionTimestamp = collectionTimestamp;
            _resultValue.databases = databases;
            _resultValue.info = info;
            _resultValue.instanceName = instanceName;
            _resultValue.provisioningState = provisioningState;
            _resultValue.replicas = replicas;
            _resultValue.serverName = serverName;
            return _resultValue;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy