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

com.pulumi.aws.autoscaling.outputs.GetGroupResult 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.aws.autoscaling.outputs;

import com.pulumi.aws.autoscaling.outputs.GetGroupInstanceMaintenancePolicy;
import com.pulumi.aws.autoscaling.outputs.GetGroupLaunchTemplate;
import com.pulumi.aws.autoscaling.outputs.GetGroupMixedInstancesPolicy;
import com.pulumi.aws.autoscaling.outputs.GetGroupTag;
import com.pulumi.aws.autoscaling.outputs.GetGroupTrafficSource;
import com.pulumi.aws.autoscaling.outputs.GetGroupWarmPool;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Objects;

@CustomType
public final class GetGroupResult {
    /**
     * @return ARN of the Auto Scaling group.
     * 
     */
    private String arn;
    /**
     * @return One or more Availability Zones for the group.
     * 
     */
    private List availabilityZones;
    private Integer defaultCooldown;
    /**
     * @return Desired size of the group.
     * 
     */
    private Integer desiredCapacity;
    /**
     * @return The unit of measurement for the value returned for `desired_capacity`.
     * 
     */
    private String desiredCapacityType;
    /**
     * @return List of metrics enabled for collection.
     * 
     */
    private List enabledMetrics;
    /**
     * @return The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before checking the health status of an EC2 instance that has come into service.
     * 
     */
    private Integer healthCheckGracePeriod;
    /**
     * @return Service to use for the health checks. The valid values are EC2 and ELB.
     * 
     */
    private String healthCheckType;
    /**
     * @return The provider-assigned unique ID for this managed resource.
     * 
     */
    private String id;
    /**
     * @return Instance maintenance policy for the group.
     * 
     */
    private List instanceMaintenancePolicies;
    /**
     * @return The name of the associated launch configuration.
     * 
     */
    private String launchConfiguration;
    /**
     * @return List of launch templates along with the overrides.
     * 
     */
    private List launchTemplates;
    /**
     * @return One or more load balancers associated with the group.
     * 
     */
    private List loadBalancers;
    /**
     * @return Maximum amount of time, in seconds, that an instance can be in service.
     * 
     */
    private Integer maxInstanceLifetime;
    /**
     * @return Maximum size of the group.
     * 
     */
    private Integer maxSize;
    /**
     * @return Minimum number of instances to maintain in the warm pool.
     * 
     */
    private Integer minSize;
    /**
     * @return List of mixed instances policy objects for the group.
     * 
     */
    private List mixedInstancesPolicies;
    /**
     * @return Name of the Auto Scaling Group.
     * 
     */
    private String name;
    private Boolean newInstancesProtectedFromScaleIn;
    /**
     * @return Name of the placement group into which to launch your instances, if any. For more information, see Placement Groups (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) in the Amazon Elastic Compute Cloud User Guide.
     * 
     */
    private String placementGroup;
    /**
     * @return Predicted capacity of the group.
     * 
     */
    private Integer predictedCapacity;
    /**
     * @return ARN of the service-linked role that the Auto Scaling group uses to call other AWS services on your behalf.
     * 
     */
    private String serviceLinkedRoleArn;
    /**
     * @return Current state of the group when DeleteAutoScalingGroup is in progress.
     * 
     */
    private String status;
    /**
     * @return List of processes suspended processes for the Auto Scaling Group.
     * 
     */
    private List suspendedProcesses;
    /**
     * @return List of tags for the group.
     * 
     */
    private List tags;
    /**
     * @return ARNs of the target groups for your load balancer.
     * 
     */
    private List targetGroupArns;
    /**
     * @return The termination policies for the group.
     * 
     */
    private List terminationPolicies;
    /**
     * @return Traffic sources.
     * 
     */
    private List trafficSources;
    /**
     * @return VPC ID for the group.
     * 
     */
    private String vpcZoneIdentifier;
    /**
     * @return Current size of the warm pool.
     * 
     */
    private Integer warmPoolSize;
    /**
     * @return List of warm pool configuration objects.
     * 
     */
    private List warmPools;

    private GetGroupResult() {}
    /**
     * @return ARN of the Auto Scaling group.
     * 
     */
    public String arn() {
        return this.arn;
    }
    /**
     * @return One or more Availability Zones for the group.
     * 
     */
    public List availabilityZones() {
        return this.availabilityZones;
    }
    public Integer defaultCooldown() {
        return this.defaultCooldown;
    }
    /**
     * @return Desired size of the group.
     * 
     */
    public Integer desiredCapacity() {
        return this.desiredCapacity;
    }
    /**
     * @return The unit of measurement for the value returned for `desired_capacity`.
     * 
     */
    public String desiredCapacityType() {
        return this.desiredCapacityType;
    }
    /**
     * @return List of metrics enabled for collection.
     * 
     */
    public List enabledMetrics() {
        return this.enabledMetrics;
    }
    /**
     * @return The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before checking the health status of an EC2 instance that has come into service.
     * 
     */
    public Integer healthCheckGracePeriod() {
        return this.healthCheckGracePeriod;
    }
    /**
     * @return Service to use for the health checks. The valid values are EC2 and ELB.
     * 
     */
    public String healthCheckType() {
        return this.healthCheckType;
    }
    /**
     * @return The provider-assigned unique ID for this managed resource.
     * 
     */
    public String id() {
        return this.id;
    }
    /**
     * @return Instance maintenance policy for the group.
     * 
     */
    public List instanceMaintenancePolicies() {
        return this.instanceMaintenancePolicies;
    }
    /**
     * @return The name of the associated launch configuration.
     * 
     */
    public String launchConfiguration() {
        return this.launchConfiguration;
    }
    /**
     * @return List of launch templates along with the overrides.
     * 
     */
    public List launchTemplates() {
        return this.launchTemplates;
    }
    /**
     * @return One or more load balancers associated with the group.
     * 
     */
    public List loadBalancers() {
        return this.loadBalancers;
    }
    /**
     * @return Maximum amount of time, in seconds, that an instance can be in service.
     * 
     */
    public Integer maxInstanceLifetime() {
        return this.maxInstanceLifetime;
    }
    /**
     * @return Maximum size of the group.
     * 
     */
    public Integer maxSize() {
        return this.maxSize;
    }
    /**
     * @return Minimum number of instances to maintain in the warm pool.
     * 
     */
    public Integer minSize() {
        return this.minSize;
    }
    /**
     * @return List of mixed instances policy objects for the group.
     * 
     */
    public List mixedInstancesPolicies() {
        return this.mixedInstancesPolicies;
    }
    /**
     * @return Name of the Auto Scaling Group.
     * 
     */
    public String name() {
        return this.name;
    }
    public Boolean newInstancesProtectedFromScaleIn() {
        return this.newInstancesProtectedFromScaleIn;
    }
    /**
     * @return Name of the placement group into which to launch your instances, if any. For more information, see Placement Groups (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) in the Amazon Elastic Compute Cloud User Guide.
     * 
     */
    public String placementGroup() {
        return this.placementGroup;
    }
    /**
     * @return Predicted capacity of the group.
     * 
     */
    public Integer predictedCapacity() {
        return this.predictedCapacity;
    }
    /**
     * @return ARN of the service-linked role that the Auto Scaling group uses to call other AWS services on your behalf.
     * 
     */
    public String serviceLinkedRoleArn() {
        return this.serviceLinkedRoleArn;
    }
    /**
     * @return Current state of the group when DeleteAutoScalingGroup is in progress.
     * 
     */
    public String status() {
        return this.status;
    }
    /**
     * @return List of processes suspended processes for the Auto Scaling Group.
     * 
     */
    public List suspendedProcesses() {
        return this.suspendedProcesses;
    }
    /**
     * @return List of tags for the group.
     * 
     */
    public List tags() {
        return this.tags;
    }
    /**
     * @return ARNs of the target groups for your load balancer.
     * 
     */
    public List targetGroupArns() {
        return this.targetGroupArns;
    }
    /**
     * @return The termination policies for the group.
     * 
     */
    public List terminationPolicies() {
        return this.terminationPolicies;
    }
    /**
     * @return Traffic sources.
     * 
     */
    public List trafficSources() {
        return this.trafficSources;
    }
    /**
     * @return VPC ID for the group.
     * 
     */
    public String vpcZoneIdentifier() {
        return this.vpcZoneIdentifier;
    }
    /**
     * @return Current size of the warm pool.
     * 
     */
    public Integer warmPoolSize() {
        return this.warmPoolSize;
    }
    /**
     * @return List of warm pool configuration objects.
     * 
     */
    public List warmPools() {
        return this.warmPools;
    }

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

    public static Builder builder(GetGroupResult defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private String arn;
        private List availabilityZones;
        private Integer defaultCooldown;
        private Integer desiredCapacity;
        private String desiredCapacityType;
        private List enabledMetrics;
        private Integer healthCheckGracePeriod;
        private String healthCheckType;
        private String id;
        private List instanceMaintenancePolicies;
        private String launchConfiguration;
        private List launchTemplates;
        private List loadBalancers;
        private Integer maxInstanceLifetime;
        private Integer maxSize;
        private Integer minSize;
        private List mixedInstancesPolicies;
        private String name;
        private Boolean newInstancesProtectedFromScaleIn;
        private String placementGroup;
        private Integer predictedCapacity;
        private String serviceLinkedRoleArn;
        private String status;
        private List suspendedProcesses;
        private List tags;
        private List targetGroupArns;
        private List terminationPolicies;
        private List trafficSources;
        private String vpcZoneIdentifier;
        private Integer warmPoolSize;
        private List warmPools;
        public Builder() {}
        public Builder(GetGroupResult defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.arn = defaults.arn;
    	      this.availabilityZones = defaults.availabilityZones;
    	      this.defaultCooldown = defaults.defaultCooldown;
    	      this.desiredCapacity = defaults.desiredCapacity;
    	      this.desiredCapacityType = defaults.desiredCapacityType;
    	      this.enabledMetrics = defaults.enabledMetrics;
    	      this.healthCheckGracePeriod = defaults.healthCheckGracePeriod;
    	      this.healthCheckType = defaults.healthCheckType;
    	      this.id = defaults.id;
    	      this.instanceMaintenancePolicies = defaults.instanceMaintenancePolicies;
    	      this.launchConfiguration = defaults.launchConfiguration;
    	      this.launchTemplates = defaults.launchTemplates;
    	      this.loadBalancers = defaults.loadBalancers;
    	      this.maxInstanceLifetime = defaults.maxInstanceLifetime;
    	      this.maxSize = defaults.maxSize;
    	      this.minSize = defaults.minSize;
    	      this.mixedInstancesPolicies = defaults.mixedInstancesPolicies;
    	      this.name = defaults.name;
    	      this.newInstancesProtectedFromScaleIn = defaults.newInstancesProtectedFromScaleIn;
    	      this.placementGroup = defaults.placementGroup;
    	      this.predictedCapacity = defaults.predictedCapacity;
    	      this.serviceLinkedRoleArn = defaults.serviceLinkedRoleArn;
    	      this.status = defaults.status;
    	      this.suspendedProcesses = defaults.suspendedProcesses;
    	      this.tags = defaults.tags;
    	      this.targetGroupArns = defaults.targetGroupArns;
    	      this.terminationPolicies = defaults.terminationPolicies;
    	      this.trafficSources = defaults.trafficSources;
    	      this.vpcZoneIdentifier = defaults.vpcZoneIdentifier;
    	      this.warmPoolSize = defaults.warmPoolSize;
    	      this.warmPools = defaults.warmPools;
        }

        @CustomType.Setter
        public Builder arn(String arn) {
            if (arn == null) {
              throw new MissingRequiredPropertyException("GetGroupResult", "arn");
            }
            this.arn = arn;
            return this;
        }
        @CustomType.Setter
        public Builder availabilityZones(List availabilityZones) {
            if (availabilityZones == null) {
              throw new MissingRequiredPropertyException("GetGroupResult", "availabilityZones");
            }
            this.availabilityZones = availabilityZones;
            return this;
        }
        public Builder availabilityZones(String... availabilityZones) {
            return availabilityZones(List.of(availabilityZones));
        }
        @CustomType.Setter
        public Builder defaultCooldown(Integer defaultCooldown) {
            if (defaultCooldown == null) {
              throw new MissingRequiredPropertyException("GetGroupResult", "defaultCooldown");
            }
            this.defaultCooldown = defaultCooldown;
            return this;
        }
        @CustomType.Setter
        public Builder desiredCapacity(Integer desiredCapacity) {
            if (desiredCapacity == null) {
              throw new MissingRequiredPropertyException("GetGroupResult", "desiredCapacity");
            }
            this.desiredCapacity = desiredCapacity;
            return this;
        }
        @CustomType.Setter
        public Builder desiredCapacityType(String desiredCapacityType) {
            if (desiredCapacityType == null) {
              throw new MissingRequiredPropertyException("GetGroupResult", "desiredCapacityType");
            }
            this.desiredCapacityType = desiredCapacityType;
            return this;
        }
        @CustomType.Setter
        public Builder enabledMetrics(List enabledMetrics) {
            if (enabledMetrics == null) {
              throw new MissingRequiredPropertyException("GetGroupResult", "enabledMetrics");
            }
            this.enabledMetrics = enabledMetrics;
            return this;
        }
        public Builder enabledMetrics(String... enabledMetrics) {
            return enabledMetrics(List.of(enabledMetrics));
        }
        @CustomType.Setter
        public Builder healthCheckGracePeriod(Integer healthCheckGracePeriod) {
            if (healthCheckGracePeriod == null) {
              throw new MissingRequiredPropertyException("GetGroupResult", "healthCheckGracePeriod");
            }
            this.healthCheckGracePeriod = healthCheckGracePeriod;
            return this;
        }
        @CustomType.Setter
        public Builder healthCheckType(String healthCheckType) {
            if (healthCheckType == null) {
              throw new MissingRequiredPropertyException("GetGroupResult", "healthCheckType");
            }
            this.healthCheckType = healthCheckType;
            return this;
        }
        @CustomType.Setter
        public Builder id(String id) {
            if (id == null) {
              throw new MissingRequiredPropertyException("GetGroupResult", "id");
            }
            this.id = id;
            return this;
        }
        @CustomType.Setter
        public Builder instanceMaintenancePolicies(List instanceMaintenancePolicies) {
            if (instanceMaintenancePolicies == null) {
              throw new MissingRequiredPropertyException("GetGroupResult", "instanceMaintenancePolicies");
            }
            this.instanceMaintenancePolicies = instanceMaintenancePolicies;
            return this;
        }
        public Builder instanceMaintenancePolicies(GetGroupInstanceMaintenancePolicy... instanceMaintenancePolicies) {
            return instanceMaintenancePolicies(List.of(instanceMaintenancePolicies));
        }
        @CustomType.Setter
        public Builder launchConfiguration(String launchConfiguration) {
            if (launchConfiguration == null) {
              throw new MissingRequiredPropertyException("GetGroupResult", "launchConfiguration");
            }
            this.launchConfiguration = launchConfiguration;
            return this;
        }
        @CustomType.Setter
        public Builder launchTemplates(List launchTemplates) {
            if (launchTemplates == null) {
              throw new MissingRequiredPropertyException("GetGroupResult", "launchTemplates");
            }
            this.launchTemplates = launchTemplates;
            return this;
        }
        public Builder launchTemplates(GetGroupLaunchTemplate... launchTemplates) {
            return launchTemplates(List.of(launchTemplates));
        }
        @CustomType.Setter
        public Builder loadBalancers(List loadBalancers) {
            if (loadBalancers == null) {
              throw new MissingRequiredPropertyException("GetGroupResult", "loadBalancers");
            }
            this.loadBalancers = loadBalancers;
            return this;
        }
        public Builder loadBalancers(String... loadBalancers) {
            return loadBalancers(List.of(loadBalancers));
        }
        @CustomType.Setter
        public Builder maxInstanceLifetime(Integer maxInstanceLifetime) {
            if (maxInstanceLifetime == null) {
              throw new MissingRequiredPropertyException("GetGroupResult", "maxInstanceLifetime");
            }
            this.maxInstanceLifetime = maxInstanceLifetime;
            return this;
        }
        @CustomType.Setter
        public Builder maxSize(Integer maxSize) {
            if (maxSize == null) {
              throw new MissingRequiredPropertyException("GetGroupResult", "maxSize");
            }
            this.maxSize = maxSize;
            return this;
        }
        @CustomType.Setter
        public Builder minSize(Integer minSize) {
            if (minSize == null) {
              throw new MissingRequiredPropertyException("GetGroupResult", "minSize");
            }
            this.minSize = minSize;
            return this;
        }
        @CustomType.Setter
        public Builder mixedInstancesPolicies(List mixedInstancesPolicies) {
            if (mixedInstancesPolicies == null) {
              throw new MissingRequiredPropertyException("GetGroupResult", "mixedInstancesPolicies");
            }
            this.mixedInstancesPolicies = mixedInstancesPolicies;
            return this;
        }
        public Builder mixedInstancesPolicies(GetGroupMixedInstancesPolicy... mixedInstancesPolicies) {
            return mixedInstancesPolicies(List.of(mixedInstancesPolicies));
        }
        @CustomType.Setter
        public Builder name(String name) {
            if (name == null) {
              throw new MissingRequiredPropertyException("GetGroupResult", "name");
            }
            this.name = name;
            return this;
        }
        @CustomType.Setter
        public Builder newInstancesProtectedFromScaleIn(Boolean newInstancesProtectedFromScaleIn) {
            if (newInstancesProtectedFromScaleIn == null) {
              throw new MissingRequiredPropertyException("GetGroupResult", "newInstancesProtectedFromScaleIn");
            }
            this.newInstancesProtectedFromScaleIn = newInstancesProtectedFromScaleIn;
            return this;
        }
        @CustomType.Setter
        public Builder placementGroup(String placementGroup) {
            if (placementGroup == null) {
              throw new MissingRequiredPropertyException("GetGroupResult", "placementGroup");
            }
            this.placementGroup = placementGroup;
            return this;
        }
        @CustomType.Setter
        public Builder predictedCapacity(Integer predictedCapacity) {
            if (predictedCapacity == null) {
              throw new MissingRequiredPropertyException("GetGroupResult", "predictedCapacity");
            }
            this.predictedCapacity = predictedCapacity;
            return this;
        }
        @CustomType.Setter
        public Builder serviceLinkedRoleArn(String serviceLinkedRoleArn) {
            if (serviceLinkedRoleArn == null) {
              throw new MissingRequiredPropertyException("GetGroupResult", "serviceLinkedRoleArn");
            }
            this.serviceLinkedRoleArn = serviceLinkedRoleArn;
            return this;
        }
        @CustomType.Setter
        public Builder status(String status) {
            if (status == null) {
              throw new MissingRequiredPropertyException("GetGroupResult", "status");
            }
            this.status = status;
            return this;
        }
        @CustomType.Setter
        public Builder suspendedProcesses(List suspendedProcesses) {
            if (suspendedProcesses == null) {
              throw new MissingRequiredPropertyException("GetGroupResult", "suspendedProcesses");
            }
            this.suspendedProcesses = suspendedProcesses;
            return this;
        }
        public Builder suspendedProcesses(String... suspendedProcesses) {
            return suspendedProcesses(List.of(suspendedProcesses));
        }
        @CustomType.Setter
        public Builder tags(List tags) {
            if (tags == null) {
              throw new MissingRequiredPropertyException("GetGroupResult", "tags");
            }
            this.tags = tags;
            return this;
        }
        public Builder tags(GetGroupTag... tags) {
            return tags(List.of(tags));
        }
        @CustomType.Setter
        public Builder targetGroupArns(List targetGroupArns) {
            if (targetGroupArns == null) {
              throw new MissingRequiredPropertyException("GetGroupResult", "targetGroupArns");
            }
            this.targetGroupArns = targetGroupArns;
            return this;
        }
        public Builder targetGroupArns(String... targetGroupArns) {
            return targetGroupArns(List.of(targetGroupArns));
        }
        @CustomType.Setter
        public Builder terminationPolicies(List terminationPolicies) {
            if (terminationPolicies == null) {
              throw new MissingRequiredPropertyException("GetGroupResult", "terminationPolicies");
            }
            this.terminationPolicies = terminationPolicies;
            return this;
        }
        public Builder terminationPolicies(String... terminationPolicies) {
            return terminationPolicies(List.of(terminationPolicies));
        }
        @CustomType.Setter
        public Builder trafficSources(List trafficSources) {
            if (trafficSources == null) {
              throw new MissingRequiredPropertyException("GetGroupResult", "trafficSources");
            }
            this.trafficSources = trafficSources;
            return this;
        }
        public Builder trafficSources(GetGroupTrafficSource... trafficSources) {
            return trafficSources(List.of(trafficSources));
        }
        @CustomType.Setter
        public Builder vpcZoneIdentifier(String vpcZoneIdentifier) {
            if (vpcZoneIdentifier == null) {
              throw new MissingRequiredPropertyException("GetGroupResult", "vpcZoneIdentifier");
            }
            this.vpcZoneIdentifier = vpcZoneIdentifier;
            return this;
        }
        @CustomType.Setter
        public Builder warmPoolSize(Integer warmPoolSize) {
            if (warmPoolSize == null) {
              throw new MissingRequiredPropertyException("GetGroupResult", "warmPoolSize");
            }
            this.warmPoolSize = warmPoolSize;
            return this;
        }
        @CustomType.Setter
        public Builder warmPools(List warmPools) {
            if (warmPools == null) {
              throw new MissingRequiredPropertyException("GetGroupResult", "warmPools");
            }
            this.warmPools = warmPools;
            return this;
        }
        public Builder warmPools(GetGroupWarmPool... warmPools) {
            return warmPools(List.of(warmPools));
        }
        public GetGroupResult build() {
            final var _resultValue = new GetGroupResult();
            _resultValue.arn = arn;
            _resultValue.availabilityZones = availabilityZones;
            _resultValue.defaultCooldown = defaultCooldown;
            _resultValue.desiredCapacity = desiredCapacity;
            _resultValue.desiredCapacityType = desiredCapacityType;
            _resultValue.enabledMetrics = enabledMetrics;
            _resultValue.healthCheckGracePeriod = healthCheckGracePeriod;
            _resultValue.healthCheckType = healthCheckType;
            _resultValue.id = id;
            _resultValue.instanceMaintenancePolicies = instanceMaintenancePolicies;
            _resultValue.launchConfiguration = launchConfiguration;
            _resultValue.launchTemplates = launchTemplates;
            _resultValue.loadBalancers = loadBalancers;
            _resultValue.maxInstanceLifetime = maxInstanceLifetime;
            _resultValue.maxSize = maxSize;
            _resultValue.minSize = minSize;
            _resultValue.mixedInstancesPolicies = mixedInstancesPolicies;
            _resultValue.name = name;
            _resultValue.newInstancesProtectedFromScaleIn = newInstancesProtectedFromScaleIn;
            _resultValue.placementGroup = placementGroup;
            _resultValue.predictedCapacity = predictedCapacity;
            _resultValue.serviceLinkedRoleArn = serviceLinkedRoleArn;
            _resultValue.status = status;
            _resultValue.suspendedProcesses = suspendedProcesses;
            _resultValue.tags = tags;
            _resultValue.targetGroupArns = targetGroupArns;
            _resultValue.terminationPolicies = terminationPolicies;
            _resultValue.trafficSources = trafficSources;
            _resultValue.vpcZoneIdentifier = vpcZoneIdentifier;
            _resultValue.warmPoolSize = warmPoolSize;
            _resultValue.warmPools = warmPools;
            return _resultValue;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy