mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-24 16:03:43 +08:00
cloudproxy: initial version
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
// 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 cloudproxy
|
||||
|
||||
import (
|
||||
"yunion.io/x/onecloud/pkg/util/choices"
|
||||
)
|
||||
|
||||
const (
|
||||
PM_SCOPE_VPC = "vpc"
|
||||
PM_SCOPE_NETWORK = "network"
|
||||
)
|
||||
|
||||
var PM_SCOPES = choices.NewChoices(
|
||||
PM_SCOPE_VPC,
|
||||
PM_SCOPE_NETWORK,
|
||||
)
|
||||
|
||||
const (
|
||||
FORWARD_TYPE_LOCAL = "local"
|
||||
FORWARD_TYPE_REMOTE = "remote"
|
||||
)
|
||||
|
||||
var FORWARD_TYPES = choices.NewChoices(
|
||||
FORWARD_TYPE_LOCAL,
|
||||
FORWARD_TYPE_REMOTE,
|
||||
)
|
||||
|
||||
const (
|
||||
BindPortMin = 20000
|
||||
BindPortMax = 60000
|
||||
)
|
||||
@@ -0,0 +1,15 @@
|
||||
// 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 cloudproxy // import "yunion.io/x/onecloud/pkg/apis/cloudproxy"
|
||||
@@ -0,0 +1,55 @@
|
||||
// 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 cloudproxy
|
||||
|
||||
import (
|
||||
"yunion.io/x/onecloud/pkg/apis"
|
||||
)
|
||||
|
||||
type ForwardCreateInput struct {
|
||||
apis.VirtualResourceCreateInput
|
||||
|
||||
ProxyEndpointId string
|
||||
ProxyAgentId string
|
||||
Type string
|
||||
BindPortReq int `json:",omitzero"`
|
||||
RemoteAddr string
|
||||
RemotePort string
|
||||
|
||||
LastSeenTimeout int `json:",omitzero"`
|
||||
|
||||
Opaque string
|
||||
}
|
||||
|
||||
type ForwardCreateFromServerInput struct {
|
||||
ServerId string
|
||||
|
||||
Type string
|
||||
BindPortReq int `json:",omitzero"`
|
||||
RemotePort string
|
||||
|
||||
LastSeenTimeout int `json:",omitzero"`
|
||||
}
|
||||
|
||||
type ForwardHeartbeatInput struct{}
|
||||
|
||||
type ForwardListInput struct {
|
||||
ProxyAgentId string
|
||||
ProxyEndpointId string
|
||||
|
||||
Type string
|
||||
|
||||
Opaque string
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
// 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 cloudproxy
|
||||
|
||||
import (
|
||||
"yunion.io/x/onecloud/pkg/apis"
|
||||
)
|
||||
|
||||
type ProxyAgentUpdateInput struct {
|
||||
apis.StandaloneResourceBaseUpdateInput
|
||||
|
||||
BindAddr string `json:"bind_addr"`
|
||||
AdvertiseAddr string `json:"advertise_addr"`
|
||||
}
|
||||
|
||||
type ProxyAgentDetails struct {
|
||||
apis.StandaloneResourceDetails
|
||||
|
||||
Id string `json:"id"`
|
||||
|
||||
BindAddr string `json:"bind_addr"`
|
||||
AdvertiseAddr string `json:"advertise_addr"`
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
// 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 cloudproxy
|
||||
|
||||
import (
|
||||
"yunion.io/x/onecloud/pkg/apis"
|
||||
)
|
||||
|
||||
type ProxyEndpointCreateInput struct {
|
||||
apis.VirtualResourceCreateInput
|
||||
|
||||
User string
|
||||
Host string
|
||||
Port int `json:",omitzero"`
|
||||
PrivateKey string
|
||||
|
||||
IntranetIpAddr string
|
||||
}
|
||||
|
||||
type ProxyEndpointCreateFromServerInput struct {
|
||||
ServerId string
|
||||
}
|
||||
|
||||
type ProxyEndpointUpdateInput struct {
|
||||
apis.VirtualResourceBaseUpdateInput
|
||||
|
||||
User string `json:"user"`
|
||||
Host string `json:"host"`
|
||||
Port *int `json:"port"`
|
||||
PrivateKey string `json:"private_key"`
|
||||
}
|
||||
|
||||
type ProxyEndpointListInput struct {
|
||||
apis.VirtualResourceBaseUpdateInput
|
||||
|
||||
VpcId string
|
||||
NetworkId string
|
||||
}
|
||||
Reference in New Issue
Block a user