telefonicaopencloud_as_group_v1
Manages a V1 Autoscaling Group resource within TelefonicaOpenCloud.
Example Usage
Basic Autoscaling Group
resource "telefonicaopencloud_as_group_v1" "my_as_group" { scaling_group_name = "my_as_group" scaling_configuration_id = "37e310f5-db9d-446e-9135-c625f9c2bbfc" desire_instance_number = 2 min_instance_number = 0 max_instance_number = 10 networks = [{id = "ad091b52-742f-469e-8f3c-fd81cadf0743"}] security_groups = [{id = "45e4c6de-6bf0-4843-8953-2babde3d4810"}] vpc_id = "1d8f7e7c-fe04-4cf5-85ac-08b478c290e9" delete_publicip = true delete_instances = "yes" }
Autoscaling Group Only Remove Members When Scaling Down
resource "telefonicaopencloud_as_group_v1" "my_as_group_only_remove_members" { scaling_group_name = "my_as_group_only_remove_members" scaling_configuration_id = "37e310f5-db9d-446e-9135-c625f9c2bbfc" desire_instance_number = 2 min_instance_number = 0 max_instance_number = 10 networks = [{id = "ad091b52-742f-469e-8f3c-fd81cadf0743"}] security_groups = [{id = "45e4c6de-6bf0-4843-8953-2babde3d4810"}] vpc_id = "1d8f7e7c-fe04-4cf5-85ac-08b478c290e9" delete_publicip = true delete_instances = "no" }
Autoscaling Group With ELB Listener
resource "telefonicaopencloud_as_group_v1" "my_as_group_with_elb" { scaling_group_name = "my_as_group_with_elb" scaling_configuration_id = "37e310f5-db9d-446e-9135-c625f9c2bbfc" desire_instance_number = 2 min_instance_number = 0 max_instance_number = 10 networks = [{id = "ad091b52-742f-469e-8f3c-fd81cadf0743"}] security_groups = [{id = "45e4c6de-6bf0-4843-8953-2babde3d4810"}] vpc_id = "1d8f7e7c-fe04-4cf5-85ac-08b478c290e9" lb_listener_id = "${telefonicaopencloud_elb_listener.my_listener.id}" delete_publicip = true delete_instances = "yes" } resource "telefonicaopencloud_elb_listener" "my_listener" { name = "my_listener" description = "my test listener" protocol = "TCP" backend_protocol = "TCP" port = 12345 backend_port = 21345 lb_algorithm = "roundrobin" loadbalancer_id = "cba48790-baf5-4446-adb3-02069a916e97" timeouts { create = "5m" update = "5m" delete = "5m" } }
Argument Reference
The following arguments are supported:
-
region
- (Optional) The region in which to create the AS group. If omitted, theregion
argument of the provider is used. Changing this creates a new AS group. -
scaling_group_name
- (Required) The name of the scaling group. The name can contain letters, digits, underscores(_), and hyphens(-),and cannot exceed 64 characters. -
scaling_configuration_id
- (Optional) The configuration ID which defines configurations of instances in the AS group. -
desire_instance_number
- (Optional) The expected number of instances. The default value is the minimum number of instances. The value ranges from the minimum number of instances to the maximum number of instances. -
min_instance_number
- (Optional) The minimum number of instances. The default value is 0. -
max_instance_number
- (Optional) The maximum number of instances. The default value is 0. -
cool_down_time
- (Optional) The cooling duration (in seconds). The value ranges from 0 to 86400, and is 900 by default. -
lb_listener_id
- (Optional) The ELB listener IDs. The system supports up to three ELB listeners, the IDs of which are separated using a comma (,). -
available_zones
- (Optional) The availability zones in which to create the instances in the autoscaling group. -
networks
- (Required) An array of one or more network IDs. The system supports up to five networks. The networks object structure is documented below. -
security_groups
- (Required) An array of one or more security group IDs to associate with the group. The security_groups object structure is documented below. -
vpc_id
- (Required) The VPC ID. Changing this creates a new group. -
health_periodic_audit_method
- (Optional) The health check method for instances in the AS group. The health check methods includeELB_AUDIT
andNOVA_AUDIT
. If load balancing is configured, the default value of this parameter isELB_AUDIT
. Otherwise, the default value isNOVA_AUDIT
. -
health_periodic_audit_time
- (Optional) The health check period for instances. The period has four options: 5 minutes (default), 15 minutes, 60 minutes, and 180 minutes. -
instance_terminate_policy
- (Optional) The instance removal policy. The policy has four options:OLD_CONFIG_OLD_INSTANCE
(default),OLD_CONFIG_NEW_INSTANCE
,OLD_INSTANCE
, andNEW_INSTANCE
. -
notifications
- (Optional) The notification mode. The system only supportsEMAIL
mode which refers to notification by email. -
delete_publicip
- (Optional) Whether to delete the elastic IP address bound to the instances of AS group when deleting the instances. The options aretrue
andfalse
. -
delete_instances
- (Optional) Whether to delete the instances in the AS group when deleting the AS group. The options areyes
andno
.
The networks
block supports:
-
id
- (Required) The network UUID.
The security_groups
block supports:
-
id
- (Required) The UUID of the security group.
Attributes Reference
The following attributes are exported:
-
region
- See Argument Reference above. -
scaling_group_name
- See Argument Reference above. -
desire_instance_number
- See Argument Reference above. -
min_instance_number
- See Argument Reference above. -
max_instance_number
- See Argument Reference above. -
cool_down_time
- See Argument Reference above. -
lb_listener_id
- See Argument Reference above. -
health_periodic_audit_method
- See Argument Reference above. -
health_periodic_audit_time
- See Argument Reference above. -
instance_terminate_policy
- See Argument Reference above. -
scaling_configuration_id
- See Argument Reference above. -
delete_publicip
- See Argument Reference above. -
notifications
- See Argument Reference above. -
instances
- The instances IDs of the AS group.
© 2018 HashiCorpLicensed under the MPL 2.0 License.
https://www.terraform.io/docs/providers/telefonicaopencloud/r/as_group_v1.html