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

com.pulumi.azurenative.recoveryservices.outputs.ProtectionContainerMappingPropertiesResponse Maven / Gradle / Ivy

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

import com.pulumi.azurenative.recoveryservices.outputs.A2AProtectionContainerMappingDetailsResponse;
import com.pulumi.azurenative.recoveryservices.outputs.HealthErrorResponse;
import com.pulumi.azurenative.recoveryservices.outputs.InMageRcmProtectionContainerMappingDetailsResponse;
import com.pulumi.azurenative.recoveryservices.outputs.VMwareCbtProtectionContainerMappingDetailsResponse;
import com.pulumi.core.annotations.CustomType;
import java.lang.Object;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class ProtectionContainerMappingPropertiesResponse {
    /**
     * @return Health of pairing.
     * 
     */
    private @Nullable String health;
    /**
     * @return Health error.
     * 
     */
    private @Nullable List healthErrorDetails;
    /**
     * @return Friendly name of replication policy.
     * 
     */
    private @Nullable String policyFriendlyName;
    /**
     * @return Policy ARM Id.
     * 
     */
    private @Nullable String policyId;
    /**
     * @return Provider specific provider details.
     * 
     */
    private @Nullable Object providerSpecificDetails;
    /**
     * @return Friendly name of source fabric.
     * 
     */
    private @Nullable String sourceFabricFriendlyName;
    /**
     * @return Friendly name of source protection container.
     * 
     */
    private @Nullable String sourceProtectionContainerFriendlyName;
    /**
     * @return Association Status.
     * 
     */
    private @Nullable String state;
    /**
     * @return Friendly name of target fabric.
     * 
     */
    private @Nullable String targetFabricFriendlyName;
    /**
     * @return Friendly name of paired container.
     * 
     */
    private @Nullable String targetProtectionContainerFriendlyName;
    /**
     * @return Paired protection container ARM ID.
     * 
     */
    private @Nullable String targetProtectionContainerId;

    private ProtectionContainerMappingPropertiesResponse() {}
    /**
     * @return Health of pairing.
     * 
     */
    public Optional health() {
        return Optional.ofNullable(this.health);
    }
    /**
     * @return Health error.
     * 
     */
    public List healthErrorDetails() {
        return this.healthErrorDetails == null ? List.of() : this.healthErrorDetails;
    }
    /**
     * @return Friendly name of replication policy.
     * 
     */
    public Optional policyFriendlyName() {
        return Optional.ofNullable(this.policyFriendlyName);
    }
    /**
     * @return Policy ARM Id.
     * 
     */
    public Optional policyId() {
        return Optional.ofNullable(this.policyId);
    }
    /**
     * @return Provider specific provider details.
     * 
     */
    public Optional providerSpecificDetails() {
        return Optional.ofNullable(this.providerSpecificDetails);
    }
    /**
     * @return Friendly name of source fabric.
     * 
     */
    public Optional sourceFabricFriendlyName() {
        return Optional.ofNullable(this.sourceFabricFriendlyName);
    }
    /**
     * @return Friendly name of source protection container.
     * 
     */
    public Optional sourceProtectionContainerFriendlyName() {
        return Optional.ofNullable(this.sourceProtectionContainerFriendlyName);
    }
    /**
     * @return Association Status.
     * 
     */
    public Optional state() {
        return Optional.ofNullable(this.state);
    }
    /**
     * @return Friendly name of target fabric.
     * 
     */
    public Optional targetFabricFriendlyName() {
        return Optional.ofNullable(this.targetFabricFriendlyName);
    }
    /**
     * @return Friendly name of paired container.
     * 
     */
    public Optional targetProtectionContainerFriendlyName() {
        return Optional.ofNullable(this.targetProtectionContainerFriendlyName);
    }
    /**
     * @return Paired protection container ARM ID.
     * 
     */
    public Optional targetProtectionContainerId() {
        return Optional.ofNullable(this.targetProtectionContainerId);
    }

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

    public static Builder builder(ProtectionContainerMappingPropertiesResponse defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable String health;
        private @Nullable List healthErrorDetails;
        private @Nullable String policyFriendlyName;
        private @Nullable String policyId;
        private @Nullable Object providerSpecificDetails;
        private @Nullable String sourceFabricFriendlyName;
        private @Nullable String sourceProtectionContainerFriendlyName;
        private @Nullable String state;
        private @Nullable String targetFabricFriendlyName;
        private @Nullable String targetProtectionContainerFriendlyName;
        private @Nullable String targetProtectionContainerId;
        public Builder() {}
        public Builder(ProtectionContainerMappingPropertiesResponse defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.health = defaults.health;
    	      this.healthErrorDetails = defaults.healthErrorDetails;
    	      this.policyFriendlyName = defaults.policyFriendlyName;
    	      this.policyId = defaults.policyId;
    	      this.providerSpecificDetails = defaults.providerSpecificDetails;
    	      this.sourceFabricFriendlyName = defaults.sourceFabricFriendlyName;
    	      this.sourceProtectionContainerFriendlyName = defaults.sourceProtectionContainerFriendlyName;
    	      this.state = defaults.state;
    	      this.targetFabricFriendlyName = defaults.targetFabricFriendlyName;
    	      this.targetProtectionContainerFriendlyName = defaults.targetProtectionContainerFriendlyName;
    	      this.targetProtectionContainerId = defaults.targetProtectionContainerId;
        }

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

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

            this.healthErrorDetails = healthErrorDetails;
            return this;
        }
        public Builder healthErrorDetails(HealthErrorResponse... healthErrorDetails) {
            return healthErrorDetails(List.of(healthErrorDetails));
        }
        @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 providerSpecificDetails(@Nullable Object providerSpecificDetails) {

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

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

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

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

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

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

            this.targetProtectionContainerId = targetProtectionContainerId;
            return this;
        }
        public ProtectionContainerMappingPropertiesResponse build() {
            final var _resultValue = new ProtectionContainerMappingPropertiesResponse();
            _resultValue.health = health;
            _resultValue.healthErrorDetails = healthErrorDetails;
            _resultValue.policyFriendlyName = policyFriendlyName;
            _resultValue.policyId = policyId;
            _resultValue.providerSpecificDetails = providerSpecificDetails;
            _resultValue.sourceFabricFriendlyName = sourceFabricFriendlyName;
            _resultValue.sourceProtectionContainerFriendlyName = sourceProtectionContainerFriendlyName;
            _resultValue.state = state;
            _resultValue.targetFabricFriendlyName = targetFabricFriendlyName;
            _resultValue.targetProtectionContainerFriendlyName = targetProtectionContainerFriendlyName;
            _resultValue.targetProtectionContainerId = targetProtectionContainerId;
            return _resultValue;
        }
    }
}