| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- // 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 (
- EIP_MODE_INSTANCE_PUBLICIP = compute.EIP_MODE_INSTANCE_PUBLICIP
- EIP_MODE_STANDALONE_EIP = compute.EIP_MODE_STANDALONE_EIP
- EIP_ASSOCIATE_TYPE_SERVER = compute.EIP_ASSOCIATE_TYPE_SERVER
- EIP_ASSOCIATE_TYPE_NAT_GATEWAY = compute.EIP_ASSOCIATE_TYPE_NAT_GATEWAY
- EIP_ASSOCIATE_TYPE_LOADBALANCER = compute.EIP_ASSOCIATE_TYPE_LOADBALANCER
- EIP_ASSOCIATE_TYPE_UNKNOWN = compute.EIP_ASSOCIATE_TYPE_UNKNOWN
- EIP_ASSOCIATE_TYPE_INSTANCE_GROUP = compute.EIP_ASSOCIATE_TYPE_INSTANCE_GROUP
- EIP_STATUS_READY = compute.EIP_STATUS_READY
- EIP_STATUS_UNKNOWN = compute.EIP_STATUS_UNKNOWN
- EIP_STATUS_ALLOCATE = compute.EIP_STATUS_ALLOCATE
- EIP_STATUS_ALLOCATE_FAIL = compute.EIP_STATUS_ALLOCATE_FAIL
- EIP_STATUS_DEALLOCATE = compute.EIP_STATUS_DEALLOCATE
- EIP_STATUS_DEALLOCATE_FAIL = "deallocate_fail"
- EIP_STATUS_ASSOCIATE = compute.EIP_STATUS_ASSOCIATE
- EIP_STATUS_ASSOCIATE_FAIL = "associate_fail"
- EIP_STATUS_DISSOCIATE = compute.EIP_STATUS_DISSOCIATE
- EIP_STATUS_DISSOCIATE_FAIL = "dissociate_fail"
- EIP_STATUS_CHANGE_BANDWIDTH = "change_bandwidth"
- INSTANCE_ASSOCIATE_EIP = "associate_eip"
- INSTANCE_ASSOCIATE_EIP_FAILED = "associate_eip_failed"
- INSTANCE_DISSOCIATE_EIP = "dissociate_eip"
- INSTANCE_DISSOCIATE_EIP_FAILED = "dissociate_eip_failed"
- )
- var (
- EIP_ASSOCIATE_VALID_TYPES = []string{
- EIP_ASSOCIATE_TYPE_SERVER,
- EIP_ASSOCIATE_TYPE_NAT_GATEWAY,
- EIP_ASSOCIATE_TYPE_INSTANCE_GROUP,
- EIP_ASSOCIATE_TYPE_LOADBALANCER,
- }
- )
- type ElasticipListInput struct {
- apis.VirtualResourceListInput
- apis.ExternalizedResourceBaseListInput
- ManagedResourceListInput
- RegionalFilterListInput
- UsableResourceListInput
- // filter usable eip for given associate type
- // enmu: server, natgateway
- UsableEipForAssociateType string `json:"usable_eip_for_associate_type"`
- // filter usable eip for given associate id
- UsableEipForAssociateId string `json:"usable_eip_for_associate_id"`
- NetworkFilterListBase
- // 标识弹性或非弹性
- // | Mode | 说明 |
- // |------------|------------|
- // | public_ip | 公网IP |
- // | elastic_ip | 弹性公公网网IP |
- //
- // example: elastic_ip
- Mode string `json:"mode"`
- // 是否已关联资源
- IsAssociated *bool `json:"is_associated"`
- // IP地址
- IpAddr []string `json:"ip_addr"`
- // 绑定资源类型
- AssociateType []string `json:"associate_type"`
- // 绑定资源名称,模糊查询
- AssociateName []string `json:"associate_name"`
- // 绑定资源Id
- AssociateId []string `json:"associate_id"`
- // 计费类型: 流量、带宽
- // example: bandwidth
- ChargeType []string `json:"charge_type"`
- // 目前只有华为云此字段是必需填写的
- BgpType []string `json:"bgp_type"`
- // 是否跟随主机删除而自动释放
- AutoDellocate *bool `json:"auto_dellocate"`
- // 按ip地址排序
- // pattern:asc|desc
- OrderByIp string `json:"order_by_ip"`
- }
|