/* Copyright (c) 2019-2023 Digital Energy Cloud Solutions LLC. All Rights Reserved. Authors: Petr Krutov, Stanislav Solovev, Kasim Baybikov, Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ /* Terraform DECORT provider - manage resources provided by DECORT (Digital Energy Cloud Orchestration Technology) with Terraform by Hashicorp. Source code: https://repository.basistech.ru/BASIS/terraform-provider-decort Please see README.md to learn where to place source code so that it builds seamlessly. Documentation: https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki */ package lb import ( "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation" ) func dsLBSchemaMake() map[string]*schema.Schema { sch := map[string]*schema.Schema{ "lb_id": { Type: schema.TypeInt, Required: true, }, "ha_mode": { Type: schema.TypeBool, Computed: true, }, "ckey": { Type: schema.TypeString, Computed: true, }, "meta": { Type: schema.TypeList, Computed: true, Elem: &schema.Schema{ Type: schema.TypeString, }, }, "acl": { Type: schema.TypeString, Computed: true, }, "backend_haip": { Type: schema.TypeString, Computed: true, }, "backends": { Type: schema.TypeList, Computed: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "algorithm": { Type: schema.TypeString, Computed: true, }, "guid": { Type: schema.TypeString, Computed: true, }, "name": { Type: schema.TypeString, Computed: true, }, "server_default_settings": { Type: schema.TypeList, Computed: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "downinter": { Type: schema.TypeInt, Computed: true, }, "fall": { Type: schema.TypeInt, Computed: true, }, "guid": { Type: schema.TypeString, Computed: true, }, "inter": { Type: schema.TypeInt, Computed: true, }, "maxconn": { Type: schema.TypeInt, Computed: true, }, "maxqueue": { Type: schema.TypeInt, Computed: true, }, "rise": { Type: schema.TypeInt, Computed: true, }, "slowstart": { Type: schema.TypeInt, Computed: true, }, "weight": { Type: schema.TypeInt, Computed: true, }, }, }, }, "servers": { Type: schema.TypeList, Computed: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "address": { Type: schema.TypeString, Computed: true, }, "check": { Type: schema.TypeString, Computed: true, }, "guid": { Type: schema.TypeString, Computed: true, }, "name": { Type: schema.TypeString, Computed: true, }, "port": { Type: schema.TypeInt, Computed: true, }, "server_settings": { Type: schema.TypeList, Computed: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "downinter": { Type: schema.TypeInt, Computed: true, }, "fall": { Type: schema.TypeInt, Computed: true, }, "guid": { Type: schema.TypeString, Computed: true, }, "inter": { Type: schema.TypeInt, Computed: true, }, "maxconn": { Type: schema.TypeInt, Computed: true, }, "maxqueue": { Type: schema.TypeInt, Computed: true, }, "rise": { Type: schema.TypeInt, Computed: true, }, "slowstart": { Type: schema.TypeInt, Computed: true, }, "weight": { Type: schema.TypeInt, Computed: true, }, }, }, }, }, }, }, }, }, }, "desc": { Type: schema.TypeString, Computed: true, }, "dp_api_password": { Type: schema.TypeString, Computed: true, }, "dp_api_user": { Type: schema.TypeString, Computed: true, }, "extnet_id": { Type: schema.TypeInt, Computed: true, }, "frontend_haip": { Type: schema.TypeString, Computed: true, }, "frontends": { Type: schema.TypeList, Computed: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "backend": { Type: schema.TypeString, Computed: true, }, "bindings": { Type: schema.TypeList, Computed: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "address": { Type: schema.TypeString, Computed: true, }, "guid": { Type: schema.TypeString, Computed: true, }, "name": { Type: schema.TypeString, Computed: true, }, "port": { Type: schema.TypeInt, Computed: true, }, }, }, }, "guid": { Type: schema.TypeString, Computed: true, }, "name": { Type: schema.TypeString, Computed: true, }, }, }, }, "gid": { Type: schema.TypeInt, Computed: true, }, "guid": { Type: schema.TypeInt, Computed: true, }, "image_id": { Type: schema.TypeInt, Computed: true, }, "milestones": { Type: schema.TypeInt, Computed: true, }, "name": { Type: schema.TypeString, Computed: true, }, "part_k8s": { Type: schema.TypeBool, Computed: true, }, "primary_node": { Type: schema.TypeList, Computed: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "backend_ip": { Type: schema.TypeString, Computed: true, }, "compute_id": { Type: schema.TypeInt, Computed: true, }, "frontend_ip": { Type: schema.TypeString, Computed: true, }, "guid": { Type: schema.TypeString, Computed: true, }, "mgmt_ip": { Type: schema.TypeString, Computed: true, }, "network_id": { Type: schema.TypeInt, Computed: true, }, }, }, }, "rg_id": { Type: schema.TypeInt, Computed: true, }, "secondary_node": { Type: schema.TypeList, Computed: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "backend_ip": { Type: schema.TypeString, Computed: true, }, "compute_id": { Type: schema.TypeInt, Computed: true, }, "frontend_ip": { Type: schema.TypeString, Computed: true, }, "guid": { Type: schema.TypeString, Computed: true, }, "mgmt_ip": { Type: schema.TypeString, Computed: true, }, "network_id": { Type: schema.TypeInt, Computed: true, }, }, }, }, "status": { Type: schema.TypeString, Computed: true, }, "tech_status": { Type: schema.TypeString, Computed: true, }, "vins_id": { Type: schema.TypeInt, Computed: true, }, } return sch } func dsLBListDeletedSchemaMake() map[string]*schema.Schema { return map[string]*schema.Schema{ "by_id": { Type: schema.TypeInt, Optional: true, Description: "Filter by ID", }, "name": { Type: schema.TypeString, Optional: true, Description: "Filter by name", }, "account_id": { Type: schema.TypeInt, Optional: true, Description: "Filter by Account ID", }, "rg_id": { Type: schema.TypeInt, Optional: true, Description: "Filter by RG ID", }, "tech_status": { Type: schema.TypeString, Optional: true, Description: "Filter by TechStatus", }, "front_ip": { Type: schema.TypeString, Optional: true, Description: "Filter by FrontIP", }, "back_ip": { Type: schema.TypeString, Optional: true, Description: "Filter by BackIP", }, "page": { Type: schema.TypeInt, Optional: true, Default: 0, }, "size": { Type: schema.TypeInt, Optional: true, Default: 0, }, "items": { Type: schema.TypeList, Computed: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "ha_mode": { Type: schema.TypeBool, Computed: true, }, "acl": { Type: schema.TypeString, Computed: true, }, "backend_haip": { Type: schema.TypeString, Computed: true, }, "backends": { Type: schema.TypeList, Computed: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "algorithm": { Type: schema.TypeString, Computed: true, }, "guid": { Type: schema.TypeString, Computed: true, }, "name": { Type: schema.TypeString, Computed: true, }, "server_default_settings": { Type: schema.TypeList, Computed: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "downinter": { Type: schema.TypeInt, Computed: true, }, "fall": { Type: schema.TypeInt, Computed: true, }, "guid": { Type: schema.TypeString, Computed: true, }, "inter": { Type: schema.TypeInt, Computed: true, }, "maxconn": { Type: schema.TypeInt, Computed: true, }, "maxqueue": { Type: schema.TypeInt, Computed: true, }, "rise": { Type: schema.TypeInt, Computed: true, }, "slowstart": { Type: schema.TypeInt, Computed: true, }, "weight": { Type: schema.TypeInt, Computed: true, }, }, }, }, "servers": { Type: schema.TypeList, Computed: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "address": { Type: schema.TypeString, Computed: true, }, "check": { Type: schema.TypeString, Computed: true, }, "guid": { Type: schema.TypeString, Computed: true, }, "name": { Type: schema.TypeString, Computed: true, }, "port": { Type: schema.TypeInt, Computed: true, }, "server_settings": { Type: schema.TypeList, Computed: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "downinter": { Type: schema.TypeInt, Computed: true, }, "fall": { Type: schema.TypeInt, Computed: true, }, "guid": { Type: schema.TypeString, Computed: true, }, "inter": { Type: schema.TypeInt, Computed: true, }, "maxconn": { Type: schema.TypeInt, Computed: true, }, "maxqueue": { Type: schema.TypeInt, Computed: true, }, "rise": { Type: schema.TypeInt, Computed: true, }, "slowstart": { Type: schema.TypeInt, Computed: true, }, "weight": { Type: schema.TypeInt, Computed: true, }, }, }, }, }, }, }, }, }, }, "created_by": { Type: schema.TypeString, Computed: true, }, "created_time": { Type: schema.TypeInt, Computed: true, }, "deleted_by": { Type: schema.TypeString, Computed: true, }, "deleted_time": { Type: schema.TypeInt, Computed: true, }, "desc": { Type: schema.TypeString, Computed: true, }, "dp_api_user": { Type: schema.TypeString, Computed: true, }, "dp_api_password": { Type: schema.TypeString, Computed: true, }, "extnet_id": { Type: schema.TypeInt, Computed: true, }, "frontend_haip": { Type: schema.TypeString, Computed: true, }, "frontends": { Type: schema.TypeList, Computed: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "backend": { Type: schema.TypeString, Computed: true, }, "bindings": { Type: schema.TypeList, Computed: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "address": { Type: schema.TypeString, Computed: true, }, "guid": { Type: schema.TypeString, Computed: true, }, "name": { Type: schema.TypeString, Computed: true, }, "port": { Type: schema.TypeInt, Computed: true, }, }, }, }, "guid": { Type: schema.TypeString, Computed: true, }, "name": { Type: schema.TypeString, Computed: true, }, }, }, }, "gid": { Type: schema.TypeInt, Computed: true, }, "guid": { Type: schema.TypeInt, Computed: true, }, "lb_id": { Type: schema.TypeInt, Computed: true, }, "milestones": { Type: schema.TypeInt, Computed: true, }, "name": { Type: schema.TypeString, Computed: true, }, "primary_node": { Type: schema.TypeList, Computed: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "backend_ip": { Type: schema.TypeString, Computed: true, }, "compute_id": { Type: schema.TypeInt, Computed: true, }, "frontend_ip": { Type: schema.TypeString, Computed: true, }, "guid": { Type: schema.TypeString, Computed: true, }, "mgmt_ip": { Type: schema.TypeString, Computed: true, }, "network_id": { Type: schema.TypeInt, Computed: true, }, }, }, }, "rg_id": { Type: schema.TypeInt, Computed: true, }, "rg_name": { Type: schema.TypeString, Computed: true, }, "secondary_node": { Type: schema.TypeList, Computed: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "backend_ip": { Type: schema.TypeString, Computed: true, }, "compute_id": { Type: schema.TypeInt, Computed: true, }, "frontend_ip": { Type: schema.TypeString, Computed: true, }, "guid": { Type: schema.TypeString, Computed: true, }, "mgmt_ip": { Type: schema.TypeString, Computed: true, }, "network_id": { Type: schema.TypeInt, Computed: true, }, }, }, }, "status": { Type: schema.TypeString, Computed: true, }, "tech_status": { Type: schema.TypeString, Computed: true, }, "updated_by": { Type: schema.TypeString, Computed: true, }, "updated_time": { Type: schema.TypeInt, Computed: true, }, "vins_id": { Type: schema.TypeInt, Computed: true, }, }, }, }, "entry_count": { Type: schema.TypeInt, Computed: true, }, } } func dsLBListSchemaMake() map[string]*schema.Schema { return map[string]*schema.Schema{ "by_id": { Type: schema.TypeInt, Optional: true, Description: "Filter by ID", }, "name": { Type: schema.TypeString, Optional: true, Description: "Filter by name", }, "account_id": { Type: schema.TypeInt, Optional: true, Description: "Filter by Account ID", }, "rg_id": { Type: schema.TypeInt, Optional: true, Description: "Filter by RG ID", }, "tech_status": { Type: schema.TypeString, Optional: true, Description: "Filter by TechStatus", }, "status": { Type: schema.TypeString, Optional: true, Description: "Filter by Status", }, "front_ip": { Type: schema.TypeString, Optional: true, Description: "Filter by FrontIP", }, "back_ip": { Type: schema.TypeString, Optional: true, Description: "Filter by BackIP", }, "includedeleted": { Type: schema.TypeBool, Optional: true, Default: false, }, "page": { Type: schema.TypeInt, Optional: true, Default: 0, }, "size": { Type: schema.TypeInt, Optional: true, Default: 0, }, "items": { Type: schema.TypeList, Computed: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "ha_mode": { Type: schema.TypeBool, Computed: true, }, "acl": { Type: schema.TypeString, Computed: true, }, "backend_haip": { Type: schema.TypeString, Computed: true, }, "backends": { Type: schema.TypeList, Computed: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "algorithm": { Type: schema.TypeString, Computed: true, }, "guid": { Type: schema.TypeString, Computed: true, }, "name": { Type: schema.TypeString, Computed: true, }, "server_default_settings": { Type: schema.TypeList, Computed: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "downinter": { Type: schema.TypeInt, Computed: true, }, "fall": { Type: schema.TypeInt, Computed: true, }, "guid": { Type: schema.TypeString, Computed: true, }, "inter": { Type: schema.TypeInt, Computed: true, }, "maxconn": { Type: schema.TypeInt, Computed: true, }, "maxqueue": { Type: schema.TypeInt, Computed: true, }, "rise": { Type: schema.TypeInt, Computed: true, }, "slowstart": { Type: schema.TypeInt, Computed: true, }, "weight": { Type: schema.TypeInt, Computed: true, }, }, }, }, "servers": { Type: schema.TypeList, Computed: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "address": { Type: schema.TypeString, Computed: true, }, "check": { Type: schema.TypeString, Computed: true, }, "guid": { Type: schema.TypeString, Computed: true, }, "name": { Type: schema.TypeString, Computed: true, }, "port": { Type: schema.TypeInt, Computed: true, }, "server_settings": { Type: schema.TypeList, Computed: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "downinter": { Type: schema.TypeInt, Computed: true, }, "fall": { Type: schema.TypeInt, Computed: true, }, "guid": { Type: schema.TypeString, Computed: true, }, "inter": { Type: schema.TypeInt, Computed: true, }, "maxconn": { Type: schema.TypeInt, Computed: true, }, "maxqueue": { Type: schema.TypeInt, Computed: true, }, "rise": { Type: schema.TypeInt, Computed: true, }, "slowstart": { Type: schema.TypeInt, Computed: true, }, "weight": { Type: schema.TypeInt, Computed: true, }, }, }, }, }, }, }, }, }, }, "created_by": { Type: schema.TypeString, Computed: true, }, "created_time": { Type: schema.TypeInt, Computed: true, }, "deleted_by": { Type: schema.TypeString, Computed: true, }, "deleted_time": { Type: schema.TypeInt, Computed: true, }, "desc": { Type: schema.TypeString, Computed: true, }, "dp_api_user": { Type: schema.TypeString, Computed: true, }, "dp_api_password": { Type: schema.TypeString, Computed: true, }, "extnet_id": { Type: schema.TypeInt, Computed: true, }, "frontend_haip": { Type: schema.TypeString, Computed: true, }, "frontends": { Type: schema.TypeList, Computed: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "backend": { Type: schema.TypeString, Computed: true, }, "bindings": { Type: schema.TypeList, Computed: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "address": { Type: schema.TypeString, Computed: true, }, "guid": { Type: schema.TypeString, Computed: true, }, "name": { Type: schema.TypeString, Computed: true, }, "port": { Type: schema.TypeInt, Computed: true, }, }, }, }, "guid": { Type: schema.TypeString, Computed: true, }, "name": { Type: schema.TypeString, Computed: true, }, }, }, }, "gid": { Type: schema.TypeInt, Computed: true, }, "guid": { Type: schema.TypeInt, Computed: true, }, "lb_id": { Type: schema.TypeInt, Computed: true, }, "milestones": { Type: schema.TypeInt, Computed: true, }, "name": { Type: schema.TypeString, Computed: true, }, "primary_node": { Type: schema.TypeList, Computed: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "backend_ip": { Type: schema.TypeString, Computed: true, }, "compute_id": { Type: schema.TypeInt, Computed: true, }, "frontend_ip": { Type: schema.TypeString, Computed: true, }, "guid": { Type: schema.TypeString, Computed: true, }, "mgmt_ip": { Type: schema.TypeString, Computed: true, }, "network_id": { Type: schema.TypeInt, Computed: true, }, }, }, }, "rg_id": { Type: schema.TypeInt, Computed: true, }, "rg_name": { Type: schema.TypeString, Computed: true, }, "secondary_node": { Type: schema.TypeList, Computed: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "backend_ip": { Type: schema.TypeString, Computed: true, }, "compute_id": { Type: schema.TypeInt, Computed: true, }, "frontend_ip": { Type: schema.TypeString, Computed: true, }, "guid": { Type: schema.TypeString, Computed: true, }, "mgmt_ip": { Type: schema.TypeString, Computed: true, }, "network_id": { Type: schema.TypeInt, Computed: true, }, }, }, }, "status": { Type: schema.TypeString, Computed: true, }, "tech_status": { Type: schema.TypeString, Computed: true, }, "updated_by": { Type: schema.TypeString, Computed: true, }, "updated_time": { Type: schema.TypeInt, Computed: true, }, "vins_id": { Type: schema.TypeInt, Computed: true, }, }, }, }, "entry_count": { Type: schema.TypeInt, Computed: true, }, } } func lbResourceSchemaMake() map[string]*schema.Schema { return map[string]*schema.Schema{ "rg_id": { Type: schema.TypeInt, Required: true, }, "name": { Type: schema.TypeString, Required: true, }, "extnet_id": { Type: schema.TypeInt, Optional: true, Computed: true, }, "vins_id": { Type: schema.TypeInt, Optional: true, Computed: true, }, "ha_mode": { Type: schema.TypeBool, Optional: true, }, "start": { Type: schema.TypeBool, Optional: true, }, "desc": { Type: schema.TypeString, Optional: true, Computed: true, }, "enable": { Type: schema.TypeBool, Optional: true, }, "restart": { Type: schema.TypeBool, Optional: true, }, "restore": { Type: schema.TypeBool, Optional: true, }, "config_reset": { Type: schema.TypeBool, Optional: true, }, "permanently": { Type: schema.TypeBool, Optional: true, }, "ckey": { Type: schema.TypeString, Computed: true, }, "meta": { Type: schema.TypeList, Computed: true, Elem: &schema.Schema{ Type: schema.TypeString, }, }, "acl": { Type: schema.TypeString, Computed: true, }, "backend_haip": { Type: schema.TypeString, Computed: true, }, "backends": { Type: schema.TypeList, Computed: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "algorithm": { Type: schema.TypeString, Computed: true, }, "guid": { Type: schema.TypeString, Computed: true, }, "name": { Type: schema.TypeString, Computed: true, }, "server_default_settings": { Type: schema.TypeList, Computed: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "downinter": { Type: schema.TypeInt, Computed: true, }, "fall": { Type: schema.TypeInt, Computed: true, }, "guid": { Type: schema.TypeString, Computed: true, }, "inter": { Type: schema.TypeInt, Computed: true, }, "maxconn": { Type: schema.TypeInt, Computed: true, }, "maxqueue": { Type: schema.TypeInt, Computed: true, }, "rise": { Type: schema.TypeInt, Computed: true, }, "slowstart": { Type: schema.TypeInt, Computed: true, }, "weight": { Type: schema.TypeInt, Computed: true, }, }, }, }, "servers": { Type: schema.TypeList, Computed: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "address": { Type: schema.TypeString, Computed: true, }, "check": { Type: schema.TypeString, Computed: true, }, "guid": { Type: schema.TypeString, Computed: true, }, "name": { Type: schema.TypeString, Computed: true, }, "port": { Type: schema.TypeInt, Computed: true, }, "server_settings": { Type: schema.TypeList, Computed: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "downinter": { Type: schema.TypeInt, Computed: true, }, "fall": { Type: schema.TypeInt, Computed: true, }, "guid": { Type: schema.TypeString, Computed: true, }, "inter": { Type: schema.TypeInt, Computed: true, }, "maxconn": { Type: schema.TypeInt, Computed: true, }, "maxqueue": { Type: schema.TypeInt, Computed: true, }, "rise": { Type: schema.TypeInt, Computed: true, }, "slowstart": { Type: schema.TypeInt, Computed: true, }, "weight": { Type: schema.TypeInt, Computed: true, }, }, }, }, }, }, }, }, }, }, "dp_api_user": { Type: schema.TypeString, Computed: true, }, "dp_api_password": { Type: schema.TypeString, Computed: true, }, "frontend_haip": { Type: schema.TypeString, Computed: true, }, "frontends": { Type: schema.TypeList, Computed: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "backend": { Type: schema.TypeString, Computed: true, }, "bindings": { Type: schema.TypeList, Computed: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "address": { Type: schema.TypeString, Computed: true, }, "guid": { Type: schema.TypeString, Computed: true, }, "name": { Type: schema.TypeString, Computed: true, }, "port": { Type: schema.TypeInt, Computed: true, }, }, }, }, "guid": { Type: schema.TypeString, Computed: true, }, "name": { Type: schema.TypeString, Computed: true, }, }, }, }, "gid": { Type: schema.TypeInt, Computed: true, }, "guid": { Type: schema.TypeInt, Computed: true, }, "lb_id": { Type: schema.TypeInt, Computed: true, }, "image_id": { Type: schema.TypeInt, Computed: true, }, "milestones": { Type: schema.TypeInt, Computed: true, }, "part_k8s": { Type: schema.TypeBool, Computed: true, }, "primary_node": { Type: schema.TypeList, Computed: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "backend_ip": { Type: schema.TypeString, Computed: true, }, "compute_id": { Type: schema.TypeInt, Computed: true, }, "frontend_ip": { Type: schema.TypeString, Computed: true, }, "guid": { Type: schema.TypeString, Computed: true, }, "mgmt_ip": { Type: schema.TypeString, Computed: true, }, "network_id": { Type: schema.TypeInt, Computed: true, }, }, }, }, "secondary_node": { Type: schema.TypeList, Computed: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "backend_ip": { Type: schema.TypeString, Computed: true, }, "compute_id": { Type: schema.TypeInt, Computed: true, }, "frontend_ip": { Type: schema.TypeString, Computed: true, }, "guid": { Type: schema.TypeString, Computed: true, }, "mgmt_ip": { Type: schema.TypeString, Computed: true, }, "network_id": { Type: schema.TypeInt, Computed: true, }, }, }, }, "status": { Type: schema.TypeString, Computed: true, }, "tech_status": { Type: schema.TypeString, Computed: true, }, } } func resourceLbBackendSchemaMake() map[string]*schema.Schema { return map[string]*schema.Schema{ "lb_id": { Type: schema.TypeInt, Required: true, Description: "ID of the LB instance to backendCreate", }, "name": { Type: schema.TypeString, Required: true, Description: "Must be unique among all backends of this LB - name of the new backend to create", }, "algorithm": { Type: schema.TypeString, Optional: true, Computed: true, ValidateFunc: validation.StringInSlice([]string{"roundrobin", "static-rr", "leastconn"}, false), }, "inter": { Type: schema.TypeInt, Optional: true, Computed: true, }, "downinter": { Type: schema.TypeInt, Optional: true, Computed: true, }, "rise": { Type: schema.TypeInt, Optional: true, Computed: true, }, "fall": { Type: schema.TypeInt, Optional: true, Computed: true, }, "slowstart": { Type: schema.TypeInt, Optional: true, Computed: true, }, "maxconn": { Type: schema.TypeInt, Optional: true, Computed: true, }, "maxqueue": { Type: schema.TypeInt, Optional: true, Computed: true, }, "weight": { Type: schema.TypeInt, Optional: true, Computed: true, }, "guid": { Type: schema.TypeString, Computed: true, }, "servers": { Type: schema.TypeList, Optional: true, Computed: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "address": { Type: schema.TypeString, Optional: true, Computed: true, }, "check": { Type: schema.TypeString, Optional: true, Computed: true, }, "guid": { Type: schema.TypeString, Computed: true, }, "name": { Type: schema.TypeString, Optional: true, Computed: true, }, "port": { Type: schema.TypeInt, Optional: true, Computed: true, }, "server_settings": { Type: schema.TypeList, Optional: true, Computed: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "downinter": { Type: schema.TypeInt, Optional: true, Computed: true, }, "fall": { Type: schema.TypeInt, Optional: true, Computed: true, }, "guid": { Type: schema.TypeString, Computed: true, }, "inter": { Type: schema.TypeInt, Optional: true, Computed: true, }, "maxconn": { Type: schema.TypeInt, Optional: true, Computed: true, }, "maxqueue": { Type: schema.TypeInt, Optional: true, Computed: true, }, "rise": { Type: schema.TypeInt, Optional: true, Computed: true, }, "slowstart": { Type: schema.TypeInt, Optional: true, Computed: true, }, "weight": { Type: schema.TypeInt, Optional: true, Computed: true, }, }, }, }, }, }, }, } } func resourceLbBackendServerSchemaMake() map[string]*schema.Schema { return map[string]*schema.Schema{ "lb_id": { Type: schema.TypeInt, Required: true, Description: "ID of the LB instance to backendCreate", }, "backend_name": { Type: schema.TypeString, Required: true, Description: "Must be unique among all backends of this LB - name of the new backend to create", }, "name": { Type: schema.TypeString, Required: true, Description: "Must be unique among all servers defined for this backend - name of the server definition to add.", }, "address": { Type: schema.TypeString, Required: true, Description: "IP address of the server.", }, "port": { Type: schema.TypeInt, Required: true, Description: "Port number on the server", }, "check": { Type: schema.TypeString, Optional: true, Computed: true, ValidateFunc: validation.StringInSlice([]string{"disabled", "enabled"}, false), Description: "set to disabled if this server should be used regardless of its state.", }, "inter": { Type: schema.TypeInt, Optional: true, Computed: true, }, "downinter": { Type: schema.TypeInt, Optional: true, Computed: true, }, "rise": { Type: schema.TypeInt, Optional: true, Computed: true, }, "fall": { Type: schema.TypeInt, Optional: true, Computed: true, }, "slowstart": { Type: schema.TypeInt, Optional: true, Computed: true, }, "maxconn": { Type: schema.TypeInt, Optional: true, Computed: true, }, "maxqueue": { Type: schema.TypeInt, Optional: true, Computed: true, }, "weight": { Type: schema.TypeInt, Optional: true, Computed: true, }, "guid": { Type: schema.TypeString, Computed: true, }, } } func resourceLbFrontendSchemaMake() map[string]*schema.Schema { return map[string]*schema.Schema{ "lb_id": { Type: schema.TypeInt, Required: true, Description: "ID of the LB instance to backendCreate", }, "backend_name": { Type: schema.TypeString, Required: true, }, "name": { Type: schema.TypeString, Required: true, }, "bindings": { Type: schema.TypeList, Computed: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "address": { Type: schema.TypeString, Computed: true, }, "guid": { Type: schema.TypeString, Computed: true, }, "name": { Type: schema.TypeString, Computed: true, }, "port": { Type: schema.TypeInt, Computed: true, }, }, }, }, "guid": { Type: schema.TypeString, Computed: true, }, } } func resourceLbFrontendBindSchemaMake() map[string]*schema.Schema { return map[string]*schema.Schema{ "lb_id": { Type: schema.TypeInt, Required: true, Description: "ID of the LB instance to backendCreate", }, "frontend_name": { Type: schema.TypeString, Required: true, Description: "Must be unique among all backends of this LB - name of the new backend to create", }, "name": { Type: schema.TypeString, Required: true, }, "address": { Type: schema.TypeString, Required: true, }, "port": { Type: schema.TypeInt, Required: true, }, "guid": { Type: schema.TypeString, Computed: true, }, } }