package extnet import "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" func dataSourceExtnetDefaultSchemaMake() map[string]*schema.Schema { return map[string]*schema.Schema{ "extnet_id": { Type: schema.TypeInt, Computed: true, }, } } func dataSourceExtnetListSchemaMake() map[string]*schema.Schema { return map[string]*schema.Schema{ "account_id": { Type: schema.TypeInt, Optional: true, Description: "Find by account ID", }, "by_id": { Type: schema.TypeInt, Optional: true, Description: "Find by ID", }, "name": { Type: schema.TypeString, Optional: true, Description: "Find by name", }, "network": { Type: schema.TypeString, Optional: true, }, "vlan_id": { Type: schema.TypeInt, Optional: true, Description: "Find by VLAN ID", }, "vnfdev_id": { Type: schema.TypeInt, Optional: true, Description: "Find by VnfDEV ID", }, "status": { Type: schema.TypeString, Optional: true, Description: "Find by status", }, "page": { Type: schema.TypeInt, Optional: true, Description: "Page number", }, "size": { Type: schema.TypeInt, Optional: true, Description: "Page size", }, "items": { Type: schema.TypeList, Computed: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "ckey": { Type: schema.TypeString, Computed: true, }, "meta": { Type: schema.TypeList, Computed: true, Elem: &schema.Schema{ Type: schema.TypeString, }, Description: "meta", }, "default": { Type: schema.TypeBool, Computed: true, }, "default_qos": { Type: schema.TypeList, Computed: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "e_rate": { Type: schema.TypeInt, Computed: true, }, "guid": { Type: schema.TypeString, Computed: true, }, "in_burst": { Type: schema.TypeInt, Computed: true, }, "in_rate": { Type: schema.TypeInt, Computed: true, }, }, }, }, "desc": { Type: schema.TypeString, Computed: true, }, "free_ips": { Type: schema.TypeInt, Computed: true, }, "gid": { Type: schema.TypeInt, Computed: true, }, "guid": { Type: schema.TypeInt, Computed: true, }, "extnet_id": { Type: schema.TypeInt, Computed: true, }, "ipcidr": { Type: schema.TypeString, Computed: true, }, "milestones": { Type: schema.TypeInt, Computed: true, }, "name": { Type: schema.TypeString, Computed: true, }, "network_id": { Type: schema.TypeInt, Computed: true, }, "ovs_bridge": { Type: schema.TypeString, Computed: true, }, "pre_reservations_num": { Type: schema.TypeInt, Computed: true, }, "pri_vnfdev_id": { Type: schema.TypeInt, Computed: true, }, "shared_with": { Type: schema.TypeList, Computed: true, Elem: &schema.Schema{ Type: schema.TypeInt, }, }, "status": { Type: schema.TypeString, Computed: true, }, "vlan_id": { Type: schema.TypeInt, Computed: true, }, "vnfs": { Type: schema.TypeList, Computed: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "dhcp": { Type: schema.TypeInt, Computed: true, }, }, }, }, "check_ips": { Type: schema.TypeList, Computed: true, Elem: &schema.Schema{ Type: schema.TypeString, }, }, }, }, }, "entry_count": { Type: schema.TypeInt, Computed: true, }, } } func dataSourceStaticRouteListSchemaMake() map[string]*schema.Schema { return map[string]*schema.Schema{ "extnet_id": { Type: schema.TypeInt, Required: true, Description: "ID of ExtNet", }, "items": { Type: schema.TypeList, Computed: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "compute_ids": { Type: schema.TypeList, Computed: true, Elem: &schema.Schema{ Type: schema.TypeInt, }, }, "destination": { Type: schema.TypeString, Computed: true, }, "gateway": { Type: schema.TypeString, Computed: true, }, "guid": { Type: schema.TypeString, Computed: true, }, "netmask": { Type: schema.TypeString, Computed: true, }, "route_id": { Type: schema.TypeInt, Computed: true, }, }, }, }, "entry_count": { Type: schema.TypeInt, Computed: true, }, } } func dataSourceStaticRouteSchemaMake() map[string]*schema.Schema { return map[string]*schema.Schema{ "extnet_id": { Type: schema.TypeInt, Required: true, Description: "Unique ID of the ExtNet", }, "route_id": { Type: schema.TypeInt, Required: true, Description: "Unique ID of the static route", }, "compute_ids": { Type: schema.TypeList, Computed: true, Elem: &schema.Schema{ Type: schema.TypeInt, }, }, "destination": { Type: schema.TypeString, Computed: true, }, "gateway": { Type: schema.TypeString, Computed: true, }, "guid": { Type: schema.TypeString, Computed: true, }, "netmask": { Type: schema.TypeString, Computed: true, }, } } func dataSourceExtnetSchemaMake() map[string]*schema.Schema { return map[string]*schema.Schema{ "extnet_id": { Type: schema.TypeInt, Required: true, }, "ckey": { Type: schema.TypeString, Computed: true, }, "meta": { Type: schema.TypeList, Computed: true, Elem: &schema.Schema{ Type: schema.TypeString, }, Description: "meta", }, "default": { Type: schema.TypeBool, Computed: true, }, "default_qos": { Type: schema.TypeList, Computed: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "e_rate": { Type: schema.TypeInt, Computed: true, }, "guid": { Type: schema.TypeString, Computed: true, }, "in_burst": { Type: schema.TypeInt, Computed: true, }, "in_rate": { Type: schema.TypeInt, Computed: true, }, }, }, }, "desc": { Type: schema.TypeString, Computed: true, }, "free_ips": { Type: schema.TypeInt, Computed: true, }, "gid": { Type: schema.TypeInt, Computed: true, }, "guid": { Type: schema.TypeInt, Computed: true, }, "ipcidr": { Type: schema.TypeString, Computed: true, }, "milestones": { Type: schema.TypeInt, Computed: true, }, "name": { Type: schema.TypeString, Computed: true, }, "network_id": { Type: schema.TypeInt, Computed: true, }, "ovs_bridge": { Type: schema.TypeString, Computed: true, }, "pre_reservations_num": { Type: schema.TypeInt, Computed: true, }, "pri_vnfdev_id": { Type: schema.TypeInt, Computed: true, }, "shared_with": { Type: schema.TypeList, Computed: true, Elem: &schema.Schema{ Type: schema.TypeInt, }, }, "status": { Type: schema.TypeString, Computed: true, }, "vlan_id": { Type: schema.TypeInt, Computed: true, }, "vnfs": { Type: schema.TypeList, Computed: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "dhcp": { Type: schema.TypeInt, Computed: true, }, }, }, }, "check_ips": { Type: schema.TypeList, Computed: true, Elem: &schema.Schema{ Type: schema.TypeString, }, }, "dns": { Type: schema.TypeList, Computed: true, Elem: &schema.Schema{ Type: schema.TypeString, }, }, "excluded": { Type: schema.TypeList, Computed: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "client_type": { Type: schema.TypeString, Computed: true, }, "desc": { Type: schema.TypeString, Computed: true, }, "domain_name": { Type: schema.TypeString, Computed: true, }, "hostname": { Type: schema.TypeString, Computed: true, }, "ip": { Type: schema.TypeString, Computed: true, }, "mac": { Type: schema.TypeString, Computed: true, }, "type": { Type: schema.TypeString, Computed: true, }, "vm_id": { Type: schema.TypeInt, Computed: true, }, }, }, }, "gateway": { Type: schema.TypeString, Computed: true, }, "network": { Type: schema.TypeString, Computed: true, }, "prefix": { Type: schema.TypeInt, Computed: true, }, "reservations": { Type: schema.TypeList, Computed: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "client_type": { Type: schema.TypeString, Computed: true, }, "domain_name": { Type: schema.TypeString, Computed: true, }, "hostname": { Type: schema.TypeString, Computed: true, }, "desc": { Type: schema.TypeString, Computed: true, }, "ip": { Type: schema.TypeString, Computed: true, }, "mac": { Type: schema.TypeString, Computed: true, }, "type": { Type: schema.TypeString, Computed: true, }, "vm_id": { Type: schema.TypeInt, Computed: true, }, }, }, }, } } func resourceStaticRouteSchemaMake() map[string]*schema.Schema { return map[string]*schema.Schema{ "extnet_id": { Type: schema.TypeInt, Required: true, Description: "Unique ID of the ExtNet", }, "route_id": { Type: schema.TypeInt, Computed: true, Description: "Unique ID of the static route", }, "compute_ids": { Type: schema.TypeSet, Optional: true, Computed: true, Elem: &schema.Schema{ Type: schema.TypeInt, }, }, "destination": { Type: schema.TypeString, Required: true, }, "gateway": { Type: schema.TypeString, Required: true, }, "guid": { Type: schema.TypeString, Computed: true, }, "netmask": { Type: schema.TypeString, Required: true, }, } } func resourceExtnetSchemaMake() map[string]*schema.Schema { return map[string]*schema.Schema{ "name": { Type: schema.TypeString, Required: true, Description: "External network name", }, "gid": { Type: schema.TypeInt, Required: true, Description: "Grid (platform) ID", }, "ipcidr": { Type: schema.TypeString, Required: true, // ForceNew: true, Description: "IP network CIDR", }, "vlan_id": { Type: schema.TypeInt, Required: true, // ForceNew: true, Description: "VLAN ID", }, "gateway": { Type: schema.TypeString, Optional: true, Computed: true, Description: "External network gateway IP address", }, "dns": { Type: schema.TypeList, Optional: true, Computed: true, Elem: &schema.Schema{ Type: schema.TypeString, }, Description: "List of DNS addresses", }, "ntp": { Type: schema.TypeList, Optional: true, Elem: &schema.Schema{ Type: schema.TypeString, }, Description: "List of NTP addresses", }, "check_ips": { Type: schema.TypeList, Optional: true, Computed: true, Elem: &schema.Schema{ Type: schema.TypeString, }, Description: "IPs to check network availability", }, "virtual": { Type: schema.TypeBool, Optional: true, Description: "If true - platform DHCP server will not be created", }, "desc": { Type: schema.TypeString, Optional: true, Computed: true, Description: "Optional description", }, "start_ip": { Type: schema.TypeString, Optional: true, Description: "Start of IP range to be explicitly included", }, "end_ip": { Type: schema.TypeString, Optional: true, Description: "End of IP range to be explicitly included", }, "vnfdev_ip": { Type: schema.TypeString, Optional: true, Description: "IP to create VNFDev with", }, "pre_reservations_num": { Type: schema.TypeInt, Optional: true, Computed: true, Description: "Number of pre created reservations", }, "ovs_bridge": { Type: schema.TypeString, Optional: true, Computed: true, Description: "OpenvSwith bridge name for ExtNet connection", }, "enable": { Type: schema.TypeBool, Optional: true, Default: true, Description: "Disable/Enable extnet", }, "set_default": { Type: schema.TypeBool, Optional: true, Default: false, Description: "Set current extnet as default (can not be undone)", }, "excluded_ips": { Type: schema.TypeSet, Optional: true, Elem: &schema.Schema{ Type: schema.TypeString, }, Description: "IPs to exclude in current extnet pool", }, "excluded_ips_range": { Type: schema.TypeSet, Optional: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "ip_start": { Type: schema.TypeString, Required: true, }, "ip_end": { Type: schema.TypeString, Required: true, }, }, }, Description: "Range of IPs to exclude in current extnet pool", }, "default_qos": { Type: schema.TypeList, MaxItems: 1, Optional: true, Computed: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "e_rate": { Type: schema.TypeInt, Optional: true, Computed: true, }, "guid": { Type: schema.TypeString, Computed: true, }, "in_burst": { Type: schema.TypeInt, Optional: true, Computed: true, }, "in_rate": { Type: schema.TypeInt, Optional: true, Computed: true, }, }, }, }, "restart": { Type: schema.TypeBool, Optional: true, Description: "restart extnet vnf device", }, "migrate": { Type: schema.TypeInt, Optional: true, }, "shared_with": { Type: schema.TypeSet, Computed: true, Optional: true, Elem: &schema.Schema{ Type: schema.TypeInt, }, }, "ckey": { Type: schema.TypeString, Computed: true, }, "meta": { Type: schema.TypeList, Computed: true, Elem: &schema.Schema{ Type: schema.TypeString, }, Description: "meta", }, "default": { Type: schema.TypeBool, Computed: true, }, "free_ips": { Type: schema.TypeInt, Computed: true, }, "guid": { Type: schema.TypeInt, Computed: true, }, "extnet_id": { Type: schema.TypeInt, Computed: true, }, "milestones": { Type: schema.TypeInt, Computed: true, }, "network_id": { Type: schema.TypeInt, Computed: true, }, "pri_vnfdev_id": { Type: schema.TypeInt, Computed: true, }, "status": { Type: schema.TypeString, Computed: true, }, "vnfs": { Type: schema.TypeList, Computed: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "dhcp": { Type: schema.TypeInt, Computed: true, }, }, }, }, "excluded": { Type: schema.TypeList, Computed: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "client_type": { Type: schema.TypeString, Computed: true, }, "domain_name": { Type: schema.TypeString, Computed: true, }, "hostname": { Type: schema.TypeString, Computed: true, }, "ip": { Type: schema.TypeString, Computed: true, }, "mac": { Type: schema.TypeString, Computed: true, }, "type": { Type: schema.TypeString, Computed: true, }, "vm_id": { Type: schema.TypeInt, Computed: true, }, }, }, }, "network": { Type: schema.TypeString, Computed: true, }, "prefix": { Type: schema.TypeInt, Computed: true, }, "routes": { Type: schema.TypeList, Computed: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "compute_ids": { Type: schema.TypeList, Computed: true, Elem: &schema.Schema{ Type: schema.TypeInt, }, }, "destination": { Type: schema.TypeString, Computed: true, }, "gateway": { Type: schema.TypeString, Computed: true, }, "guid": { Type: schema.TypeString, Computed: true, }, "netmask": { Type: schema.TypeString, Computed: true, }, "route_id": { Type: schema.TypeInt, Computed: true, }, }, }, }, "reservations": { Type: schema.TypeList, Computed: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "client_type": { Type: schema.TypeString, Computed: true, }, "domain_name": { Type: schema.TypeString, Computed: true, }, "hostname": { Type: schema.TypeString, Computed: true, }, "desc": { Type: schema.TypeString, Computed: true, }, "ip": { Type: schema.TypeString, Computed: true, }, "mac": { Type: schema.TypeString, Computed: true, }, "type": { Type: schema.TypeString, Computed: true, }, "vm_id": { Type: schema.TypeInt, Computed: true, }, }, }, }, } }