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

com.pulumi.azurenative.compute.outputs.GetCapacityReservationGroupResult 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.compute.outputs;

import com.pulumi.azurenative.compute.outputs.CapacityReservationGroupInstanceViewResponse;
import com.pulumi.azurenative.compute.outputs.SubResourceReadOnlyResponse;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import javax.annotation.Nullable;

@CustomType
public final class GetCapacityReservationGroupResult {
    /**
     * @return A list of all capacity reservation resource ids that belong to capacity reservation group.
     * 
     */
    private List capacityReservations;
    /**
     * @return Resource Id
     * 
     */
    private String id;
    /**
     * @return The capacity reservation group instance view which has the list of instance views for all the capacity reservations that belong to the capacity reservation group.
     * 
     */
    private CapacityReservationGroupInstanceViewResponse instanceView;
    /**
     * @return Resource location
     * 
     */
    private String location;
    /**
     * @return Resource name
     * 
     */
    private String name;
    /**
     * @return Resource tags
     * 
     */
    private @Nullable Map tags;
    /**
     * @return Resource type
     * 
     */
    private String type;
    /**
     * @return A list of references to all virtual machines associated to the capacity reservation group.
     * 
     */
    private List virtualMachinesAssociated;
    /**
     * @return Availability Zones to use for this capacity reservation group. The zones can be assigned only during creation. If not provided, the group supports only regional resources in the region. If provided, enforces each capacity reservation in the group to be in one of the zones.
     * 
     */
    private @Nullable List zones;

    private GetCapacityReservationGroupResult() {}
    /**
     * @return A list of all capacity reservation resource ids that belong to capacity reservation group.
     * 
     */
    public List capacityReservations() {
        return this.capacityReservations;
    }
    /**
     * @return Resource Id
     * 
     */
    public String id() {
        return this.id;
    }
    /**
     * @return The capacity reservation group instance view which has the list of instance views for all the capacity reservations that belong to the capacity reservation group.
     * 
     */
    public CapacityReservationGroupInstanceViewResponse instanceView() {
        return this.instanceView;
    }
    /**
     * @return Resource location
     * 
     */
    public String location() {
        return this.location;
    }
    /**
     * @return Resource name
     * 
     */
    public String name() {
        return this.name;
    }
    /**
     * @return Resource tags
     * 
     */
    public Map tags() {
        return this.tags == null ? Map.of() : this.tags;
    }
    /**
     * @return Resource type
     * 
     */
    public String type() {
        return this.type;
    }
    /**
     * @return A list of references to all virtual machines associated to the capacity reservation group.
     * 
     */
    public List virtualMachinesAssociated() {
        return this.virtualMachinesAssociated;
    }
    /**
     * @return Availability Zones to use for this capacity reservation group. The zones can be assigned only during creation. If not provided, the group supports only regional resources in the region. If provided, enforces each capacity reservation in the group to be in one of the zones.
     * 
     */
    public List zones() {
        return this.zones == null ? List.of() : this.zones;
    }

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

    public static Builder builder(GetCapacityReservationGroupResult defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private List capacityReservations;
        private String id;
        private CapacityReservationGroupInstanceViewResponse instanceView;
        private String location;
        private String name;
        private @Nullable Map tags;
        private String type;
        private List virtualMachinesAssociated;
        private @Nullable List zones;
        public Builder() {}
        public Builder(GetCapacityReservationGroupResult defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.capacityReservations = defaults.capacityReservations;
    	      this.id = defaults.id;
    	      this.instanceView = defaults.instanceView;
    	      this.location = defaults.location;
    	      this.name = defaults.name;
    	      this.tags = defaults.tags;
    	      this.type = defaults.type;
    	      this.virtualMachinesAssociated = defaults.virtualMachinesAssociated;
    	      this.zones = defaults.zones;
        }

        @CustomType.Setter
        public Builder capacityReservations(List capacityReservations) {
            if (capacityReservations == null) {
              throw new MissingRequiredPropertyException("GetCapacityReservationGroupResult", "capacityReservations");
            }
            this.capacityReservations = capacityReservations;
            return this;
        }
        public Builder capacityReservations(SubResourceReadOnlyResponse... capacityReservations) {
            return capacityReservations(List.of(capacityReservations));
        }
        @CustomType.Setter
        public Builder id(String id) {
            if (id == null) {
              throw new MissingRequiredPropertyException("GetCapacityReservationGroupResult", "id");
            }
            this.id = id;
            return this;
        }
        @CustomType.Setter
        public Builder instanceView(CapacityReservationGroupInstanceViewResponse instanceView) {
            if (instanceView == null) {
              throw new MissingRequiredPropertyException("GetCapacityReservationGroupResult", "instanceView");
            }
            this.instanceView = instanceView;
            return this;
        }
        @CustomType.Setter
        public Builder location(String location) {
            if (location == null) {
              throw new MissingRequiredPropertyException("GetCapacityReservationGroupResult", "location");
            }
            this.location = location;
            return this;
        }
        @CustomType.Setter
        public Builder name(String name) {
            if (name == null) {
              throw new MissingRequiredPropertyException("GetCapacityReservationGroupResult", "name");
            }
            this.name = name;
            return this;
        }
        @CustomType.Setter
        public Builder tags(@Nullable Map tags) {

            this.tags = tags;
            return this;
        }
        @CustomType.Setter
        public Builder type(String type) {
            if (type == null) {
              throw new MissingRequiredPropertyException("GetCapacityReservationGroupResult", "type");
            }
            this.type = type;
            return this;
        }
        @CustomType.Setter
        public Builder virtualMachinesAssociated(List virtualMachinesAssociated) {
            if (virtualMachinesAssociated == null) {
              throw new MissingRequiredPropertyException("GetCapacityReservationGroupResult", "virtualMachinesAssociated");
            }
            this.virtualMachinesAssociated = virtualMachinesAssociated;
            return this;
        }
        public Builder virtualMachinesAssociated(SubResourceReadOnlyResponse... virtualMachinesAssociated) {
            return virtualMachinesAssociated(List.of(virtualMachinesAssociated));
        }
        @CustomType.Setter
        public Builder zones(@Nullable List zones) {

            this.zones = zones;
            return this;
        }
        public Builder zones(String... zones) {
            return zones(List.of(zones));
        }
        public GetCapacityReservationGroupResult build() {
            final var _resultValue = new GetCapacityReservationGroupResult();
            _resultValue.capacityReservations = capacityReservations;
            _resultValue.id = id;
            _resultValue.instanceView = instanceView;
            _resultValue.location = location;
            _resultValue.name = name;
            _resultValue.tags = tags;
            _resultValue.type = type;
            _resultValue.virtualMachinesAssociated = virtualMachinesAssociated;
            _resultValue.zones = zones;
            return _resultValue;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy