| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- // Copyright 2019 Yunion
- //
- // 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.
- package compute
- import (
- "yunion.io/x/cloudmux/pkg/apis/compute"
- "yunion.io/x/onecloud/pkg/apis"
- )
- const (
- VPC_STATUS_PENDING = compute.VPC_STATUS_PENDING
- VPC_STATUS_AVAILABLE = compute.VPC_STATUS_AVAILABLE
- VPC_STATUS_UNAVAILABLE = compute.VPC_STATUS_UNAVAILABLE
- VPC_STATUS_FAILED = compute.VPC_STATUS_FAILED
- VPC_STATUS_START_DELETE = "start_delete"
- VPC_STATUS_DELETING = compute.VPC_STATUS_DELETING
- VPC_STATUS_DELETE_FAILED = "delete_failed"
- VPC_STATUS_DELETED = "deleted"
- VPC_STATUS_UNKNOWN = compute.VPC_STATUS_UNKNOWN
- MAX_VPC_PER_REGION = 3
- DEFAULT_VPC_ID = compute.DEFAULT_VPC_ID
- NORMAL_VPC_ID = compute.NORMAL_VPC_ID // 没有关联VPC的安全组,统一使用normal
- CLASSIC_VPC_NAME = "-"
- )
- type UsableResourceListInput struct {
- // filter by network usability of the resource
- Usable *bool `json:"usable"`
- }
- type UsableVpcResourceListInput struct {
- // filter by Vpc usability of the resource
- UsableVpc *bool `json:"usable_vpc"`
- }
- type VpcListInput struct {
- apis.EnabledStatusInfrasResourceBaseListInput
- apis.ExternalizedResourceBaseListInput
- ManagedResourceListInput
- RegionalFilterListInput
- GlobalVpcResourceListInput
- DnsZoneFilterListBase
- InterVpcNetworkFilterListBase
- // 过滤可以加入指定vpc互联的vpc
- UsableForInterVpcNetworkId string `json:"usable_for_inter_vpc_network_id"`
- UsableResourceListInput
- UsableVpcResourceListInput
- // 过滤vpc底下有指定zone的ip子网
- ZoneId string `json:"zone_id"`
- // filter by globalvpc
- Globalvpc string `json:"globalvpc"`
- // 是否是默认VPC
- // example: true
- IsDefault *bool `json:"is_default"`
- // CIDR地址段
- // example: 192.168.222.0/24
- CidrBlock []string `json:"cidr_block"`
- // IPv6地址段
- CidrBlock6 []string `json:"cidr_block6"`
- // enmu: eip, none
- ExternalAccessMode string `json:"external_access_mode"`
- // 按子网数量排序
- // pattern:asc|desc
- OrderByNetworkCount string `json:"order_by_network_count"`
- // 按二层网络数量排序
- // pattern:asc|desc
- OrderByWireCount string `json:""order_by_wire_count`
- }
- const (
- VPC_PROVIDER_OVN = "ovn"
- )
|