terraform-provider-ibm
terraform-provider-ibm copied to clipboard
Please improve ibm_is_instance_group_manager to contain example with both autoscalling and scheduled manager on single LB
Community Note
- Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
- Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for issue followers and do not help prioritize the request
- If you are interested in working on this issue or have submitted a pull request, please leave a comment
New or Affected Resource(s) or Datasource(s)
- ibm_is_instance_group_manager
- ibm_is_instance_group_manager_action
Description
Please update documentation to provide current, working example of Instance group along with Manager for autoscalling and manager for scheduled actions - together
Currently ibm_is_instance_group_manager_action is ommiting completely "target_manager" which is mandatory field.
The following working for me example so far:
resource "ibm_is_instance_group" "private-alb-ig" {
resource_group = var.resource_group_id
name = "${local.prefix}-group-for-priv-alb"
instance_template = ibm_is_instance_template.webserver.id
instance_count = 3
subnets = local.subnet_ids
application_port = 80
load_balancer = ibm_is_lb.private-alb.id
load_balancer_pool = element(split("/", ibm_is_lb_pool.private-alb-backend-pool.id), 1)
lifecycle {
ignore_changes = [
instance_count,
]
}
}
resource "ibm_is_instance_group_manager" "private-alb-igm" {
name = "${local.prefix}-igm-for-priv-alb"
aggregation_window = 120
instance_group = ibm_is_instance_group.private-alb-ig.id
cooldown = 120
manager_type = "autoscale"
enable_manager = true
max_membership_count = 6
min_membership_count = 1
}
resource "ibm_is_instance_group_manager_policy" "private-alb-target-cpu" {
name = "${local.prefix}-igm-policy-for-priv-alb"
instance_group = ibm_is_instance_group.private-alb-ig.id
instance_group_manager = ibm_is_instance_group_manager.private-alb-igm.manager_id
metric_type = "cpu"
metric_value = 70
policy_type = "target"
}
resource "ibm_is_instance_group_manager" "priv-alb-scheduler" {
name = "${local.prefix}-scheduler-for-priv-alb"
instance_group = ibm_is_instance_group.private-alb-ig.id
manager_type = "scheduled"
enable_manager = true
}
resource "ibm_is_instance_group_manager_action" "priv-alb-scheduler-action-down" {
name = "${local.prefix}-priv-alb-scheduler-down"
instance_group = ibm_is_instance_group.private-alb-ig.id
instance_group_manager = ibm_is_instance_group_manager.priv-alb-scheduler.manager_id
target_manager = ibm_is_instance_group_manager.private-alb-igm.manager_id
cron_spec = "05 17 * * *"
min_membership_count = 1
max_membership_count = 6
}
resource "ibm_is_instance_group_manager_action" "priv-alb-scheduler-action-up" {
name = "${local.prefix}-priv-alb-scheduler-down"
instance_group = ibm_is_instance_group.private-alb-ig.id
instance_group_manager = ibm_is_instance_group_manager.priv-alb-scheduler.manager_id
target_manager = ibm_is_instance_group_manager.private-alb-igm.manager_id
cron_spec = "05 08 * * *"
min_membership_count = 3
max_membership_count = 6
}
- #0000
looking at it