github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/autoscaling/getGroup.go (about) 1 // Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. 2 // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** 3 4 package autoscaling 5 6 import ( 7 "context" 8 "reflect" 9 10 "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" 11 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 12 ) 13 14 // Use this data source to get information on an existing autoscaling group. 15 // 16 // ## Example Usage 17 // 18 // <!--Start PulumiCodeChooser --> 19 // ```go 20 // package main 21 // 22 // import ( 23 // 24 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling" 25 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 26 // 27 // ) 28 // 29 // func main() { 30 // pulumi.Run(func(ctx *pulumi.Context) error { 31 // _, err := autoscaling.LookupGroup(ctx, &autoscaling.LookupGroupArgs{ 32 // Name: "foo", 33 // }, nil) 34 // if err != nil { 35 // return err 36 // } 37 // return nil 38 // }) 39 // } 40 // 41 // ``` 42 // <!--End PulumiCodeChooser --> 43 func LookupGroup(ctx *pulumi.Context, args *LookupGroupArgs, opts ...pulumi.InvokeOption) (*LookupGroupResult, error) { 44 opts = internal.PkgInvokeDefaultOpts(opts) 45 var rv LookupGroupResult 46 err := ctx.Invoke("aws:autoscaling/getGroup:getGroup", args, &rv, opts...) 47 if err != nil { 48 return nil, err 49 } 50 return &rv, nil 51 } 52 53 // A collection of arguments for invoking getGroup. 54 type LookupGroupArgs struct { 55 // Specify the exact name of the desired autoscaling group. 56 Name string `pulumi:"name"` 57 } 58 59 // A collection of values returned by getGroup. 60 type LookupGroupResult struct { 61 // ARN of the Auto Scaling group. 62 Arn string `pulumi:"arn"` 63 // One or more Availability Zones for the group. 64 AvailabilityZones []string `pulumi:"availabilityZones"` 65 DefaultCooldown int `pulumi:"defaultCooldown"` 66 // Desired size of the group. 67 DesiredCapacity int `pulumi:"desiredCapacity"` 68 // The unit of measurement for the value returned for `desiredCapacity`. 69 DesiredCapacityType string `pulumi:"desiredCapacityType"` 70 // List of metrics enabled for collection. 71 EnabledMetrics []string `pulumi:"enabledMetrics"` 72 // 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. 73 HealthCheckGracePeriod int `pulumi:"healthCheckGracePeriod"` 74 // Service to use for the health checks. The valid values are EC2 and ELB. 75 HealthCheckType string `pulumi:"healthCheckType"` 76 // The provider-assigned unique ID for this managed resource. 77 Id string `pulumi:"id"` 78 // Instance maintenance policy for the group. 79 InstanceMaintenancePolicies []GetGroupInstanceMaintenancePolicy `pulumi:"instanceMaintenancePolicies"` 80 // The name of the associated launch configuration. 81 LaunchConfiguration string `pulumi:"launchConfiguration"` 82 // List of launch templates along with the overrides. 83 LaunchTemplates []GetGroupLaunchTemplate `pulumi:"launchTemplates"` 84 // One or more load balancers associated with the group. 85 LoadBalancers []string `pulumi:"loadBalancers"` 86 // Maximum amount of time, in seconds, that an instance can be in service. 87 MaxInstanceLifetime int `pulumi:"maxInstanceLifetime"` 88 // Maximum size of the group. 89 MaxSize int `pulumi:"maxSize"` 90 // Minimum number of instances to maintain in the warm pool. 91 MinSize int `pulumi:"minSize"` 92 // List of mixed instances policy objects for the group. 93 MixedInstancesPolicies []GetGroupMixedInstancesPolicy `pulumi:"mixedInstancesPolicies"` 94 // Name of the Auto Scaling Group. 95 Name string `pulumi:"name"` 96 NewInstancesProtectedFromScaleIn bool `pulumi:"newInstancesProtectedFromScaleIn"` 97 // 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. 98 PlacementGroup string `pulumi:"placementGroup"` 99 // Predicted capacity of the group. 100 PredictedCapacity int `pulumi:"predictedCapacity"` 101 // ARN of the service-linked role that the Auto Scaling group uses to call other AWS services on your behalf. 102 ServiceLinkedRoleArn string `pulumi:"serviceLinkedRoleArn"` 103 // Current state of the group when DeleteAutoScalingGroup is in progress. 104 Status string `pulumi:"status"` 105 // List of processes suspended processes for the Auto Scaling Group. 106 SuspendedProcesses []string `pulumi:"suspendedProcesses"` 107 // List of tags for the group. 108 Tags []GetGroupTag `pulumi:"tags"` 109 // ARNs of the target groups for your load balancer. 110 TargetGroupArns []string `pulumi:"targetGroupArns"` 111 // The termination policies for the group. 112 TerminationPolicies []string `pulumi:"terminationPolicies"` 113 // Traffic sources. 114 TrafficSources []GetGroupTrafficSource `pulumi:"trafficSources"` 115 // VPC ID for the group. 116 VpcZoneIdentifier string `pulumi:"vpcZoneIdentifier"` 117 // Current size of the warm pool. 118 WarmPoolSize int `pulumi:"warmPoolSize"` 119 // List of warm pool configuration objects. 120 WarmPools []GetGroupWarmPool `pulumi:"warmPools"` 121 } 122 123 func LookupGroupOutput(ctx *pulumi.Context, args LookupGroupOutputArgs, opts ...pulumi.InvokeOption) LookupGroupResultOutput { 124 return pulumi.ToOutputWithContext(context.Background(), args). 125 ApplyT(func(v interface{}) (LookupGroupResult, error) { 126 args := v.(LookupGroupArgs) 127 r, err := LookupGroup(ctx, &args, opts...) 128 var s LookupGroupResult 129 if r != nil { 130 s = *r 131 } 132 return s, err 133 }).(LookupGroupResultOutput) 134 } 135 136 // A collection of arguments for invoking getGroup. 137 type LookupGroupOutputArgs struct { 138 // Specify the exact name of the desired autoscaling group. 139 Name pulumi.StringInput `pulumi:"name"` 140 } 141 142 func (LookupGroupOutputArgs) ElementType() reflect.Type { 143 return reflect.TypeOf((*LookupGroupArgs)(nil)).Elem() 144 } 145 146 // A collection of values returned by getGroup. 147 type LookupGroupResultOutput struct{ *pulumi.OutputState } 148 149 func (LookupGroupResultOutput) ElementType() reflect.Type { 150 return reflect.TypeOf((*LookupGroupResult)(nil)).Elem() 151 } 152 153 func (o LookupGroupResultOutput) ToLookupGroupResultOutput() LookupGroupResultOutput { 154 return o 155 } 156 157 func (o LookupGroupResultOutput) ToLookupGroupResultOutputWithContext(ctx context.Context) LookupGroupResultOutput { 158 return o 159 } 160 161 // ARN of the Auto Scaling group. 162 func (o LookupGroupResultOutput) Arn() pulumi.StringOutput { 163 return o.ApplyT(func(v LookupGroupResult) string { return v.Arn }).(pulumi.StringOutput) 164 } 165 166 // One or more Availability Zones for the group. 167 func (o LookupGroupResultOutput) AvailabilityZones() pulumi.StringArrayOutput { 168 return o.ApplyT(func(v LookupGroupResult) []string { return v.AvailabilityZones }).(pulumi.StringArrayOutput) 169 } 170 171 func (o LookupGroupResultOutput) DefaultCooldown() pulumi.IntOutput { 172 return o.ApplyT(func(v LookupGroupResult) int { return v.DefaultCooldown }).(pulumi.IntOutput) 173 } 174 175 // Desired size of the group. 176 func (o LookupGroupResultOutput) DesiredCapacity() pulumi.IntOutput { 177 return o.ApplyT(func(v LookupGroupResult) int { return v.DesiredCapacity }).(pulumi.IntOutput) 178 } 179 180 // The unit of measurement for the value returned for `desiredCapacity`. 181 func (o LookupGroupResultOutput) DesiredCapacityType() pulumi.StringOutput { 182 return o.ApplyT(func(v LookupGroupResult) string { return v.DesiredCapacityType }).(pulumi.StringOutput) 183 } 184 185 // List of metrics enabled for collection. 186 func (o LookupGroupResultOutput) EnabledMetrics() pulumi.StringArrayOutput { 187 return o.ApplyT(func(v LookupGroupResult) []string { return v.EnabledMetrics }).(pulumi.StringArrayOutput) 188 } 189 190 // 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. 191 func (o LookupGroupResultOutput) HealthCheckGracePeriod() pulumi.IntOutput { 192 return o.ApplyT(func(v LookupGroupResult) int { return v.HealthCheckGracePeriod }).(pulumi.IntOutput) 193 } 194 195 // Service to use for the health checks. The valid values are EC2 and ELB. 196 func (o LookupGroupResultOutput) HealthCheckType() pulumi.StringOutput { 197 return o.ApplyT(func(v LookupGroupResult) string { return v.HealthCheckType }).(pulumi.StringOutput) 198 } 199 200 // The provider-assigned unique ID for this managed resource. 201 func (o LookupGroupResultOutput) Id() pulumi.StringOutput { 202 return o.ApplyT(func(v LookupGroupResult) string { return v.Id }).(pulumi.StringOutput) 203 } 204 205 // Instance maintenance policy for the group. 206 func (o LookupGroupResultOutput) InstanceMaintenancePolicies() GetGroupInstanceMaintenancePolicyArrayOutput { 207 return o.ApplyT(func(v LookupGroupResult) []GetGroupInstanceMaintenancePolicy { return v.InstanceMaintenancePolicies }).(GetGroupInstanceMaintenancePolicyArrayOutput) 208 } 209 210 // The name of the associated launch configuration. 211 func (o LookupGroupResultOutput) LaunchConfiguration() pulumi.StringOutput { 212 return o.ApplyT(func(v LookupGroupResult) string { return v.LaunchConfiguration }).(pulumi.StringOutput) 213 } 214 215 // List of launch templates along with the overrides. 216 func (o LookupGroupResultOutput) LaunchTemplates() GetGroupLaunchTemplateArrayOutput { 217 return o.ApplyT(func(v LookupGroupResult) []GetGroupLaunchTemplate { return v.LaunchTemplates }).(GetGroupLaunchTemplateArrayOutput) 218 } 219 220 // One or more load balancers associated with the group. 221 func (o LookupGroupResultOutput) LoadBalancers() pulumi.StringArrayOutput { 222 return o.ApplyT(func(v LookupGroupResult) []string { return v.LoadBalancers }).(pulumi.StringArrayOutput) 223 } 224 225 // Maximum amount of time, in seconds, that an instance can be in service. 226 func (o LookupGroupResultOutput) MaxInstanceLifetime() pulumi.IntOutput { 227 return o.ApplyT(func(v LookupGroupResult) int { return v.MaxInstanceLifetime }).(pulumi.IntOutput) 228 } 229 230 // Maximum size of the group. 231 func (o LookupGroupResultOutput) MaxSize() pulumi.IntOutput { 232 return o.ApplyT(func(v LookupGroupResult) int { return v.MaxSize }).(pulumi.IntOutput) 233 } 234 235 // Minimum number of instances to maintain in the warm pool. 236 func (o LookupGroupResultOutput) MinSize() pulumi.IntOutput { 237 return o.ApplyT(func(v LookupGroupResult) int { return v.MinSize }).(pulumi.IntOutput) 238 } 239 240 // List of mixed instances policy objects for the group. 241 func (o LookupGroupResultOutput) MixedInstancesPolicies() GetGroupMixedInstancesPolicyArrayOutput { 242 return o.ApplyT(func(v LookupGroupResult) []GetGroupMixedInstancesPolicy { return v.MixedInstancesPolicies }).(GetGroupMixedInstancesPolicyArrayOutput) 243 } 244 245 // Name of the Auto Scaling Group. 246 func (o LookupGroupResultOutput) Name() pulumi.StringOutput { 247 return o.ApplyT(func(v LookupGroupResult) string { return v.Name }).(pulumi.StringOutput) 248 } 249 250 func (o LookupGroupResultOutput) NewInstancesProtectedFromScaleIn() pulumi.BoolOutput { 251 return o.ApplyT(func(v LookupGroupResult) bool { return v.NewInstancesProtectedFromScaleIn }).(pulumi.BoolOutput) 252 } 253 254 // 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. 255 func (o LookupGroupResultOutput) PlacementGroup() pulumi.StringOutput { 256 return o.ApplyT(func(v LookupGroupResult) string { return v.PlacementGroup }).(pulumi.StringOutput) 257 } 258 259 // Predicted capacity of the group. 260 func (o LookupGroupResultOutput) PredictedCapacity() pulumi.IntOutput { 261 return o.ApplyT(func(v LookupGroupResult) int { return v.PredictedCapacity }).(pulumi.IntOutput) 262 } 263 264 // ARN of the service-linked role that the Auto Scaling group uses to call other AWS services on your behalf. 265 func (o LookupGroupResultOutput) ServiceLinkedRoleArn() pulumi.StringOutput { 266 return o.ApplyT(func(v LookupGroupResult) string { return v.ServiceLinkedRoleArn }).(pulumi.StringOutput) 267 } 268 269 // Current state of the group when DeleteAutoScalingGroup is in progress. 270 func (o LookupGroupResultOutput) Status() pulumi.StringOutput { 271 return o.ApplyT(func(v LookupGroupResult) string { return v.Status }).(pulumi.StringOutput) 272 } 273 274 // List of processes suspended processes for the Auto Scaling Group. 275 func (o LookupGroupResultOutput) SuspendedProcesses() pulumi.StringArrayOutput { 276 return o.ApplyT(func(v LookupGroupResult) []string { return v.SuspendedProcesses }).(pulumi.StringArrayOutput) 277 } 278 279 // List of tags for the group. 280 func (o LookupGroupResultOutput) Tags() GetGroupTagArrayOutput { 281 return o.ApplyT(func(v LookupGroupResult) []GetGroupTag { return v.Tags }).(GetGroupTagArrayOutput) 282 } 283 284 // ARNs of the target groups for your load balancer. 285 func (o LookupGroupResultOutput) TargetGroupArns() pulumi.StringArrayOutput { 286 return o.ApplyT(func(v LookupGroupResult) []string { return v.TargetGroupArns }).(pulumi.StringArrayOutput) 287 } 288 289 // The termination policies for the group. 290 func (o LookupGroupResultOutput) TerminationPolicies() pulumi.StringArrayOutput { 291 return o.ApplyT(func(v LookupGroupResult) []string { return v.TerminationPolicies }).(pulumi.StringArrayOutput) 292 } 293 294 // Traffic sources. 295 func (o LookupGroupResultOutput) TrafficSources() GetGroupTrafficSourceArrayOutput { 296 return o.ApplyT(func(v LookupGroupResult) []GetGroupTrafficSource { return v.TrafficSources }).(GetGroupTrafficSourceArrayOutput) 297 } 298 299 // VPC ID for the group. 300 func (o LookupGroupResultOutput) VpcZoneIdentifier() pulumi.StringOutput { 301 return o.ApplyT(func(v LookupGroupResult) string { return v.VpcZoneIdentifier }).(pulumi.StringOutput) 302 } 303 304 // Current size of the warm pool. 305 func (o LookupGroupResultOutput) WarmPoolSize() pulumi.IntOutput { 306 return o.ApplyT(func(v LookupGroupResult) int { return v.WarmPoolSize }).(pulumi.IntOutput) 307 } 308 309 // List of warm pool configuration objects. 310 func (o LookupGroupResultOutput) WarmPools() GetGroupWarmPoolArrayOutput { 311 return o.ApplyT(func(v LookupGroupResult) []GetGroupWarmPool { return v.WarmPools }).(GetGroupWarmPoolArrayOutput) 312 } 313 314 func init() { 315 pulumi.RegisterOutputType(LookupGroupResultOutput{}) 316 }