| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- // 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 qcloud
- import (
- "fmt"
- api "yunion.io/x/cloudmux/pkg/apis/compute"
- "yunion.io/x/cloudmux/pkg/cloudprovider"
- "yunion.io/x/cloudmux/pkg/multicloud"
- )
- type SDTable struct {
- multicloud.SResourceBase
- QcloudTags
- nat *SNatGateway
- CreatedTime string `json:"CreatedTime"`
- Description string `json:"Description"`
- IpProtocol string `json:"IpProtocol"`
- PrivateIpAddress string `json:"PrivateIpAddress"`
- PrivatePort int `json:"PrivatePort"`
- PublicIpAddress string `json:"PublicIpAddress"`
- PublicPort int `json:"PublicPort"`
- }
- func (table *SDTable) GetName() string {
- if len(table.Description) > 0 {
- return table.Description
- }
- return fmt.Sprintf("%s/%s/%d", table.PublicIpAddress, table.IpProtocol, table.PublicPort)
- }
- func (table *SDTable) GetId() string {
- return fmt.Sprintf("%s/%s/%d", table.nat.GetId(), table.PublicIpAddress, table.PublicPort)
- }
- func (table *SDTable) GetGlobalId() string {
- return table.GetId()
- }
- func (table *SDTable) GetStatus() string {
- return api.NAT_STAUTS_AVAILABLE
- }
- func (table *SDTable) GetExternalIp() string {
- return table.PublicIpAddress
- }
- func (table *SDTable) GetExternalPort() int {
- return table.PublicPort
- }
- func (table *SDTable) GetInternalIp() string {
- return table.PrivateIpAddress
- }
- func (table *SDTable) GetInternalPort() int {
- return table.PrivatePort
- }
- func (table *SDTable) GetIpProtocol() string {
- return table.IpProtocol
- }
- func (table *SDTable) Delete() error {
- return cloudprovider.ErrNotImplemented
- }
|