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

com.pulumi.azurenative.recoveryservices.outputs.ReplicationProtectionClusterPropertiesResponse 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.azurenative.recoveryservices.outputs;

import com.pulumi.azurenative.recoveryservices.outputs.A2AReplicationProtectionClusterDetailsResponse;
import com.pulumi.azurenative.recoveryservices.outputs.CurrentScenarioDetailsResponse;
import com.pulumi.azurenative.recoveryservices.outputs.HealthErrorResponse;
import com.pulumi.azurenative.recoveryservices.outputs.RegisteredClusterNodesResponse;
import com.pulumi.azurenative.recoveryservices.outputs.SharedDiskReplicationItemPropertiesResponse;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class ReplicationProtectionClusterPropertiesResponse {
    /**
     * @return The Current active location of the Protection cluster.
     * 
     */
    private @Nullable String activeLocation;
    /**
     * @return The Agent cluster Id.
     * 
     */
    private @Nullable String agentClusterId;
    /**
     * @return The allowed operations on the Replication protection cluster.
     * 
     */
    private @Nullable List allowedOperations;
    /**
     * @return A value indicating whether all nodes of the cluster are registered or not.
     * 
     */
    private @Nullable Boolean areAllClusterNodesRegistered;
    /**
     * @return The cluster FQDN.
     * 
     */
    private @Nullable String clusterFqdn;
    /**
     * @return The List of cluster Node FQDNs.
     * 
     */
    private @Nullable List clusterNodeFqdns;
    /**
     * @return The List of Protected Item Id's.
     * 
     */
    private @Nullable List clusterProtectedItemIds;
    /**
     * @return The registered node details.
     * 
     */
    private @Nullable List clusterRegisteredNodes;
    /**
     * @return The current scenario.
     * 
     */
    private @Nullable CurrentScenarioDetailsResponse currentScenario;
    /**
     * @return List of health errors.
     * 
     */
    private @Nullable List healthErrors;
    /**
     * @return The last successful failover time.
     * 
     */
    private @Nullable String lastSuccessfulFailoverTime;
    /**
     * @return The last successful test failover time.
     * 
     */
    private @Nullable String lastSuccessfulTestFailoverTime;
    /**
     * @return The name of Policy governing this PE.
     * 
     */
    private @Nullable String policyFriendlyName;
    /**
     * @return The Policy Id.
     * 
     */
    private @Nullable String policyId;
    /**
     * @return The friendly name of the primary fabric.
     * 
     */
    private @Nullable String primaryFabricFriendlyName;
    /**
     * @return The fabric provider of the primary fabric.
     * 
     */
    private @Nullable String primaryFabricProvider;
    /**
     * @return The name of primary protection container friendly name.
     * 
     */
    private @Nullable String primaryProtectionContainerFriendlyName;
    /**
     * @return The type of protection cluster type.
     * 
     */
    private @Nullable String protectionClusterType;
    /**
     * @return The protection status.
     * 
     */
    private @Nullable String protectionState;
    /**
     * @return The protection state description.
     * 
     */
    private @Nullable String protectionStateDescription;
    /**
     * @return The Replication cluster provider custom settings.
     * 
     */
    private @Nullable A2AReplicationProtectionClusterDetailsResponse providerSpecificDetails;
    /**
     * @return The provisioning state of the cluster.
     * 
     */
    private String provisioningState;
    /**
     * @return The recovery container Id.
     * 
     */
    private @Nullable String recoveryContainerId;
    /**
     * @return The friendly name of recovery fabric.
     * 
     */
    private @Nullable String recoveryFabricFriendlyName;
    /**
     * @return The Arm Id of recovery fabric.
     * 
     */
    private @Nullable String recoveryFabricId;
    /**
     * @return The name of recovery container friendly name.
     * 
     */
    private @Nullable String recoveryProtectionContainerFriendlyName;
    /**
     * @return The consolidated protection health for the VM taking any issues with SRS as well as all the replication units associated with the VM's replication group into account. This is a string representation of the ProtectionHealth enumeration.
     * 
     */
    private @Nullable String replicationHealth;
    /**
     * @return The shared disk properties.
     * 
     */
    private @Nullable SharedDiskReplicationItemPropertiesResponse sharedDiskProperties;
    /**
     * @return The Test failover state.
     * 
     */
    private @Nullable String testFailoverState;
    /**
     * @return The Test failover state description.
     * 
     */
    private @Nullable String testFailoverStateDescription;

    private ReplicationProtectionClusterPropertiesResponse() {}
    /**
     * @return The Current active location of the Protection cluster.
     * 
     */
    public Optional activeLocation() {
        return Optional.ofNullable(this.activeLocation);
    }
    /**
     * @return The Agent cluster Id.
     * 
     */
    public Optional agentClusterId() {
        return Optional.ofNullable(this.agentClusterId);
    }
    /**
     * @return The allowed operations on the Replication protection cluster.
     * 
     */
    public List allowedOperations() {
        return this.allowedOperations == null ? List.of() : this.allowedOperations;
    }
    /**
     * @return A value indicating whether all nodes of the cluster are registered or not.
     * 
     */
    public Optional areAllClusterNodesRegistered() {
        return Optional.ofNullable(this.areAllClusterNodesRegistered);
    }
    /**
     * @return The cluster FQDN.
     * 
     */
    public Optional clusterFqdn() {
        return Optional.ofNullable(this.clusterFqdn);
    }
    /**
     * @return The List of cluster Node FQDNs.
     * 
     */
    public List clusterNodeFqdns() {
        return this.clusterNodeFqdns == null ? List.of() : this.clusterNodeFqdns;
    }
    /**
     * @return The List of Protected Item Id's.
     * 
     */
    public List clusterProtectedItemIds() {
        return this.clusterProtectedItemIds == null ? List.of() : this.clusterProtectedItemIds;
    }
    /**
     * @return The registered node details.
     * 
     */
    public List clusterRegisteredNodes() {
        return this.clusterRegisteredNodes == null ? List.of() : this.clusterRegisteredNodes;
    }
    /**
     * @return The current scenario.
     * 
     */
    public Optional currentScenario() {
        return Optional.ofNullable(this.currentScenario);
    }
    /**
     * @return List of health errors.
     * 
     */
    public List healthErrors() {
        return this.healthErrors == null ? List.of() : this.healthErrors;
    }
    /**
     * @return The last successful failover time.
     * 
     */
    public Optional lastSuccessfulFailoverTime() {
        return Optional.ofNullable(this.lastSuccessfulFailoverTime);
    }
    /**
     * @return The last successful test failover time.
     * 
     */
    public Optional lastSuccessfulTestFailoverTime() {
        return Optional.ofNullable(this.lastSuccessfulTestFailoverTime);
    }
    /**
     * @return The name of Policy governing this PE.
     * 
     */
    public Optional policyFriendlyName() {
        return Optional.ofNullable(this.policyFriendlyName);
    }
    /**
     * @return The Policy Id.
     * 
     */
    public Optional policyId() {
        return Optional.ofNullable(this.policyId);
    }
    /**
     * @return The friendly name of the primary fabric.
     * 
     */
    public Optional primaryFabricFriendlyName() {
        return Optional.ofNullable(this.primaryFabricFriendlyName);
    }
    /**
     * @return The fabric provider of the primary fabric.
     * 
     */
    public Optional primaryFabricProvider() {
        return Optional.ofNullable(this.primaryFabricProvider);
    }
    /**
     * @return The name of primary protection container friendly name.
     * 
     */
    public Optional primaryProtectionContainerFriendlyName() {
        return Optional.ofNullable(this.primaryProtectionContainerFriendlyName);
    }
    /**
     * @return The type of protection cluster type.
     * 
     */
    public Optional protectionClusterType() {
        return Optional.ofNullable(this.protectionClusterType);
    }
    /**
     * @return The protection status.
     * 
     */
    public Optional protectionState() {
        return Optional.ofNullable(this.protectionState);
    }
    /**
     * @return The protection state description.
     * 
     */
    public Optional protectionStateDescription() {
        return Optional.ofNullable(this.protectionStateDescription);
    }
    /**
     * @return The Replication cluster provider custom settings.
     * 
     */
    public Optional providerSpecificDetails() {
        return Optional.ofNullable(this.providerSpecificDetails);
    }
    /**
     * @return The provisioning state of the cluster.
     * 
     */
    public String provisioningState() {
        return this.provisioningState;
    }
    /**
     * @return The recovery container Id.
     * 
     */
    public Optional recoveryContainerId() {
        return Optional.ofNullable(this.recoveryContainerId);
    }
    /**
     * @return The friendly name of recovery fabric.
     * 
     */
    public Optional recoveryFabricFriendlyName() {
        return Optional.ofNullable(this.recoveryFabricFriendlyName);
    }
    /**
     * @return The Arm Id of recovery fabric.
     * 
     */
    public Optional recoveryFabricId() {
        return Optional.ofNullable(this.recoveryFabricId);
    }
    /**
     * @return The name of recovery container friendly name.
     * 
     */
    public Optional recoveryProtectionContainerFriendlyName() {
        return Optional.ofNullable(this.recoveryProtectionContainerFriendlyName);
    }
    /**
     * @return The consolidated protection health for the VM taking any issues with SRS as well as all the replication units associated with the VM's replication group into account. This is a string representation of the ProtectionHealth enumeration.
     * 
     */
    public Optional replicationHealth() {
        return Optional.ofNullable(this.replicationHealth);
    }
    /**
     * @return The shared disk properties.
     * 
     */
    public Optional sharedDiskProperties() {
        return Optional.ofNullable(this.sharedDiskProperties);
    }
    /**
     * @return The Test failover state.
     * 
     */
    public Optional testFailoverState() {
        return Optional.ofNullable(this.testFailoverState);
    }
    /**
     * @return The Test failover state description.
     * 
     */
    public Optional testFailoverStateDescription() {
        return Optional.ofNullable(this.testFailoverStateDescription);
    }

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

    public static Builder builder(ReplicationProtectionClusterPropertiesResponse defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable String activeLocation;
        private @Nullable String agentClusterId;
        private @Nullable List allowedOperations;
        private @Nullable Boolean areAllClusterNodesRegistered;
        private @Nullable String clusterFqdn;
        private @Nullable List clusterNodeFqdns;
        private @Nullable List clusterProtectedItemIds;
        private @Nullable List clusterRegisteredNodes;
        private @Nullable CurrentScenarioDetailsResponse currentScenario;
        private @Nullable List healthErrors;
        private @Nullable String lastSuccessfulFailoverTime;
        private @Nullable String lastSuccessfulTestFailoverTime;
        private @Nullable String policyFriendlyName;
        private @Nullable String policyId;
        private @Nullable String primaryFabricFriendlyName;
        private @Nullable String primaryFabricProvider;
        private @Nullable String primaryProtectionContainerFriendlyName;
        private @Nullable String protectionClusterType;
        private @Nullable String protectionState;
        private @Nullable String protectionStateDescription;
        private @Nullable A2AReplicationProtectionClusterDetailsResponse providerSpecificDetails;
        private String provisioningState;
        private @Nullable String recoveryContainerId;
        private @Nullable String recoveryFabricFriendlyName;
        private @Nullable String recoveryFabricId;
        private @Nullable String recoveryProtectionContainerFriendlyName;
        private @Nullable String replicationHealth;
        private @Nullable SharedDiskReplicationItemPropertiesResponse sharedDiskProperties;
        private @Nullable String testFailoverState;
        private @Nullable String testFailoverStateDescription;
        public Builder() {}
        public Builder(ReplicationProtectionClusterPropertiesResponse defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.activeLocation = defaults.activeLocation;
    	      this.agentClusterId = defaults.agentClusterId;
    	      this.allowedOperations = defaults.allowedOperations;
    	      this.areAllClusterNodesRegistered = defaults.areAllClusterNodesRegistered;
    	      this.clusterFqdn = defaults.clusterFqdn;
    	      this.clusterNodeFqdns = defaults.clusterNodeFqdns;
    	      this.clusterProtectedItemIds = defaults.clusterProtectedItemIds;
    	      this.clusterRegisteredNodes = defaults.clusterRegisteredNodes;
    	      this.currentScenario = defaults.currentScenario;
    	      this.healthErrors = defaults.healthErrors;
    	      this.lastSuccessfulFailoverTime = defaults.lastSuccessfulFailoverTime;
    	      this.lastSuccessfulTestFailoverTime = defaults.lastSuccessfulTestFailoverTime;
    	      this.policyFriendlyName = defaults.policyFriendlyName;
    	      this.policyId = defaults.policyId;
    	      this.primaryFabricFriendlyName = defaults.primaryFabricFriendlyName;
    	      this.primaryFabricProvider = defaults.primaryFabricProvider;
    	      this.primaryProtectionContainerFriendlyName = defaults.primaryProtectionContainerFriendlyName;
    	      this.protectionClusterType = defaults.protectionClusterType;
    	      this.protectionState = defaults.protectionState;
    	      this.protectionStateDescription = defaults.protectionStateDescription;
    	      this.providerSpecificDetails = defaults.providerSpecificDetails;
    	      this.provisioningState = defaults.provisioningState;
    	      this.recoveryContainerId = defaults.recoveryContainerId;
    	      this.recoveryFabricFriendlyName = defaults.recoveryFabricFriendlyName;
    	      this.recoveryFabricId = defaults.recoveryFabricId;
    	      this.recoveryProtectionContainerFriendlyName = defaults.recoveryProtectionContainerFriendlyName;
    	      this.replicationHealth = defaults.replicationHealth;
    	      this.sharedDiskProperties = defaults.sharedDiskProperties;
    	      this.testFailoverState = defaults.testFailoverState;
    	      this.testFailoverStateDescription = defaults.testFailoverStateDescription;
        }

        @CustomType.Setter
        public Builder activeLocation(@Nullable String activeLocation) {

            this.activeLocation = activeLocation;
            return this;
        }
        @CustomType.Setter
        public Builder agentClusterId(@Nullable String agentClusterId) {

            this.agentClusterId = agentClusterId;
            return this;
        }
        @CustomType.Setter
        public Builder allowedOperations(@Nullable List allowedOperations) {

            this.allowedOperations = allowedOperations;
            return this;
        }
        public Builder allowedOperations(String... allowedOperations) {
            return allowedOperations(List.of(allowedOperations));
        }
        @CustomType.Setter
        public Builder areAllClusterNodesRegistered(@Nullable Boolean areAllClusterNodesRegistered) {

            this.areAllClusterNodesRegistered = areAllClusterNodesRegistered;
            return this;
        }
        @CustomType.Setter
        public Builder clusterFqdn(@Nullable String clusterFqdn) {

            this.clusterFqdn = clusterFqdn;
            return this;
        }
        @CustomType.Setter
        public Builder clusterNodeFqdns(@Nullable List clusterNodeFqdns) {

            this.clusterNodeFqdns = clusterNodeFqdns;
            return this;
        }
        public Builder clusterNodeFqdns(String... clusterNodeFqdns) {
            return clusterNodeFqdns(List.of(clusterNodeFqdns));
        }
        @CustomType.Setter
        public Builder clusterProtectedItemIds(@Nullable List clusterProtectedItemIds) {

            this.clusterProtectedItemIds = clusterProtectedItemIds;
            return this;
        }
        public Builder clusterProtectedItemIds(String... clusterProtectedItemIds) {
            return clusterProtectedItemIds(List.of(clusterProtectedItemIds));
        }
        @CustomType.Setter
        public Builder clusterRegisteredNodes(@Nullable List clusterRegisteredNodes) {

            this.clusterRegisteredNodes = clusterRegisteredNodes;
            return this;
        }
        public Builder clusterRegisteredNodes(RegisteredClusterNodesResponse... clusterRegisteredNodes) {
            return clusterRegisteredNodes(List.of(clusterRegisteredNodes));
        }
        @CustomType.Setter
        public Builder currentScenario(@Nullable CurrentScenarioDetailsResponse currentScenario) {

            this.currentScenario = currentScenario;
            return this;
        }
        @CustomType.Setter
        public Builder healthErrors(@Nullable List healthErrors) {

            this.healthErrors = healthErrors;
            return this;
        }
        public Builder healthErrors(HealthErrorResponse... healthErrors) {
            return healthErrors(List.of(healthErrors));
        }
        @CustomType.Setter
        public Builder lastSuccessfulFailoverTime(@Nullable String lastSuccessfulFailoverTime) {

            this.lastSuccessfulFailoverTime = lastSuccessfulFailoverTime;
            return this;
        }
        @CustomType.Setter
        public Builder lastSuccessfulTestFailoverTime(@Nullable String lastSuccessfulTestFailoverTime) {

            this.lastSuccessfulTestFailoverTime = lastSuccessfulTestFailoverTime;
            return this;
        }
        @CustomType.Setter
        public Builder policyFriendlyName(@Nullable String policyFriendlyName) {

            this.policyFriendlyName = policyFriendlyName;
            return this;
        }
        @CustomType.Setter
        public Builder policyId(@Nullable String policyId) {

            this.policyId = policyId;
            return this;
        }
        @CustomType.Setter
        public Builder primaryFabricFriendlyName(@Nullable String primaryFabricFriendlyName) {

            this.primaryFabricFriendlyName = primaryFabricFriendlyName;
            return this;
        }
        @CustomType.Setter
        public Builder primaryFabricProvider(@Nullable String primaryFabricProvider) {

            this.primaryFabricProvider = primaryFabricProvider;
            return this;
        }
        @CustomType.Setter
        public Builder primaryProtectionContainerFriendlyName(@Nullable String primaryProtectionContainerFriendlyName) {

            this.primaryProtectionContainerFriendlyName = primaryProtectionContainerFriendlyName;
            return this;
        }
        @CustomType.Setter
        public Builder protectionClusterType(@Nullable String protectionClusterType) {

            this.protectionClusterType = protectionClusterType;
            return this;
        }
        @CustomType.Setter
        public Builder protectionState(@Nullable String protectionState) {

            this.protectionState = protectionState;
            return this;
        }
        @CustomType.Setter
        public Builder protectionStateDescription(@Nullable String protectionStateDescription) {

            this.protectionStateDescription = protectionStateDescription;
            return this;
        }
        @CustomType.Setter
        public Builder providerSpecificDetails(@Nullable A2AReplicationProtectionClusterDetailsResponse providerSpecificDetails) {

            this.providerSpecificDetails = providerSpecificDetails;
            return this;
        }
        @CustomType.Setter
        public Builder provisioningState(String provisioningState) {
            if (provisioningState == null) {
              throw new MissingRequiredPropertyException("ReplicationProtectionClusterPropertiesResponse", "provisioningState");
            }
            this.provisioningState = provisioningState;
            return this;
        }
        @CustomType.Setter
        public Builder recoveryContainerId(@Nullable String recoveryContainerId) {

            this.recoveryContainerId = recoveryContainerId;
            return this;
        }
        @CustomType.Setter
        public Builder recoveryFabricFriendlyName(@Nullable String recoveryFabricFriendlyName) {

            this.recoveryFabricFriendlyName = recoveryFabricFriendlyName;
            return this;
        }
        @CustomType.Setter
        public Builder recoveryFabricId(@Nullable String recoveryFabricId) {

            this.recoveryFabricId = recoveryFabricId;
            return this;
        }
        @CustomType.Setter
        public Builder recoveryProtectionContainerFriendlyName(@Nullable String recoveryProtectionContainerFriendlyName) {

            this.recoveryProtectionContainerFriendlyName = recoveryProtectionContainerFriendlyName;
            return this;
        }
        @CustomType.Setter
        public Builder replicationHealth(@Nullable String replicationHealth) {

            this.replicationHealth = replicationHealth;
            return this;
        }
        @CustomType.Setter
        public Builder sharedDiskProperties(@Nullable SharedDiskReplicationItemPropertiesResponse sharedDiskProperties) {

            this.sharedDiskProperties = sharedDiskProperties;
            return this;
        }
        @CustomType.Setter
        public Builder testFailoverState(@Nullable String testFailoverState) {

            this.testFailoverState = testFailoverState;
            return this;
        }
        @CustomType.Setter
        public Builder testFailoverStateDescription(@Nullable String testFailoverStateDescription) {

            this.testFailoverStateDescription = testFailoverStateDescription;
            return this;
        }
        public ReplicationProtectionClusterPropertiesResponse build() {
            final var _resultValue = new ReplicationProtectionClusterPropertiesResponse();
            _resultValue.activeLocation = activeLocation;
            _resultValue.agentClusterId = agentClusterId;
            _resultValue.allowedOperations = allowedOperations;
            _resultValue.areAllClusterNodesRegistered = areAllClusterNodesRegistered;
            _resultValue.clusterFqdn = clusterFqdn;
            _resultValue.clusterNodeFqdns = clusterNodeFqdns;
            _resultValue.clusterProtectedItemIds = clusterProtectedItemIds;
            _resultValue.clusterRegisteredNodes = clusterRegisteredNodes;
            _resultValue.currentScenario = currentScenario;
            _resultValue.healthErrors = healthErrors;
            _resultValue.lastSuccessfulFailoverTime = lastSuccessfulFailoverTime;
            _resultValue.lastSuccessfulTestFailoverTime = lastSuccessfulTestFailoverTime;
            _resultValue.policyFriendlyName = policyFriendlyName;
            _resultValue.policyId = policyId;
            _resultValue.primaryFabricFriendlyName = primaryFabricFriendlyName;
            _resultValue.primaryFabricProvider = primaryFabricProvider;
            _resultValue.primaryProtectionContainerFriendlyName = primaryProtectionContainerFriendlyName;
            _resultValue.protectionClusterType = protectionClusterType;
            _resultValue.protectionState = protectionState;
            _resultValue.protectionStateDescription = protectionStateDescription;
            _resultValue.providerSpecificDetails = providerSpecificDetails;
            _resultValue.provisioningState = provisioningState;
            _resultValue.recoveryContainerId = recoveryContainerId;
            _resultValue.recoveryFabricFriendlyName = recoveryFabricFriendlyName;
            _resultValue.recoveryFabricId = recoveryFabricId;
            _resultValue.recoveryProtectionContainerFriendlyName = recoveryProtectionContainerFriendlyName;
            _resultValue.replicationHealth = replicationHealth;
            _resultValue.sharedDiskProperties = sharedDiskProperties;
            _resultValue.testFailoverState = testFailoverState;
            _resultValue.testFailoverStateDescription = testFailoverStateDescription;
            return _resultValue;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy