-
Notifications
You must be signed in to change notification settings - Fork 79
/
ip_sec_connection_tunnel.go
172 lines (138 loc) · 7.76 KB
/
ip_sec_connection_tunnel.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
// Copyright (c) 2016, 2018, 2021, Oracle and/or its affiliates. All rights reserved.
// This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
// Code generated. DO NOT EDIT.
// Core Services API
//
// API covering the Networking (https://docs.cloud.oracle.com/iaas/Content/Network/Concepts/overview.htm),
// Compute (https://docs.cloud.oracle.com/iaas/Content/Compute/Concepts/computeoverview.htm), and
// Block Volume (https://docs.cloud.oracle.com/iaas/Content/Block/Concepts/overview.htm) services. Use this API
// to manage resources such as virtual cloud networks (VCNs), compute instances, and
// block storage volumes.
//
package core
import (
"github.com/oracle/oci-go-sdk/v47/common"
)
// IpSecConnectionTunnel Information about a single tunnel in an IPSec connection. This object does not include the tunnel's
// shared secret (pre-shared key). That is in the
// IPSecConnectionTunnelSharedSecret object.
type IpSecConnectionTunnel struct {
// The OCID (https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment containing the tunnel.
CompartmentId *string `mandatory:"true" json:"compartmentId"`
// The OCID (https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the tunnel.
Id *string `mandatory:"true" json:"id"`
// The tunnel's lifecycle state.
LifecycleState IpSecConnectionTunnelLifecycleStateEnum `mandatory:"true" json:"lifecycleState"`
// The IP address of Oracle's VPN headend.
// Example: `203.0.113.21`
VpnIp *string `mandatory:"false" json:"vpnIp"`
// The IP address of the CPE's VPN headend.
// Example: `203.0.113.22`
CpeIp *string `mandatory:"false" json:"cpeIp"`
// The status of the tunnel based on IPSec protocol characteristics.
Status IpSecConnectionTunnelStatusEnum `mandatory:"false" json:"status,omitempty"`
// Internet Key Exchange protocol version.
IkeVersion IpSecConnectionTunnelIkeVersionEnum `mandatory:"false" json:"ikeVersion,omitempty"`
// A user-friendly name. Does not have to be unique, and it's changeable. Avoid
// entering confidential information.
DisplayName *string `mandatory:"false" json:"displayName"`
BgpSessionInfo *BgpSessionInfo `mandatory:"false" json:"bgpSessionInfo"`
EncryptionDomainConfig *EncryptionDomainConfig `mandatory:"false" json:"encryptionDomainConfig"`
// The type of routing used for this tunnel (either BGP dynamic routing or static routing).
Routing IpSecConnectionTunnelRoutingEnum `mandatory:"false" json:"routing,omitempty"`
// The date and time the IPSec connection tunnel was created, in the format defined by RFC3339 (https://tools.ietf.org/html/rfc3339).
// Example: `2016-08-25T21:10:29.600Z`
TimeCreated *common.SDKTime `mandatory:"false" json:"timeCreated"`
// When the status of the tunnel last changed, in the format defined by RFC3339 (https://tools.ietf.org/html/rfc3339).
// Example: `2016-08-25T21:10:29.600Z`
TimeStatusUpdated *common.SDKTime `mandatory:"false" json:"timeStatusUpdated"`
}
func (m IpSecConnectionTunnel) String() string {
return common.PointerString(m)
}
// IpSecConnectionTunnelStatusEnum Enum with underlying type: string
type IpSecConnectionTunnelStatusEnum string
// Set of constants representing the allowable values for IpSecConnectionTunnelStatusEnum
const (
IpSecConnectionTunnelStatusUp IpSecConnectionTunnelStatusEnum = "UP"
IpSecConnectionTunnelStatusDown IpSecConnectionTunnelStatusEnum = "DOWN"
IpSecConnectionTunnelStatusDownForMaintenance IpSecConnectionTunnelStatusEnum = "DOWN_FOR_MAINTENANCE"
IpSecConnectionTunnelStatusPartialUp IpSecConnectionTunnelStatusEnum = "PARTIAL_UP"
)
var mappingIpSecConnectionTunnelStatus = map[string]IpSecConnectionTunnelStatusEnum{
"UP": IpSecConnectionTunnelStatusUp,
"DOWN": IpSecConnectionTunnelStatusDown,
"DOWN_FOR_MAINTENANCE": IpSecConnectionTunnelStatusDownForMaintenance,
"PARTIAL_UP": IpSecConnectionTunnelStatusPartialUp,
}
// GetIpSecConnectionTunnelStatusEnumValues Enumerates the set of values for IpSecConnectionTunnelStatusEnum
func GetIpSecConnectionTunnelStatusEnumValues() []IpSecConnectionTunnelStatusEnum {
values := make([]IpSecConnectionTunnelStatusEnum, 0)
for _, v := range mappingIpSecConnectionTunnelStatus {
values = append(values, v)
}
return values
}
// IpSecConnectionTunnelIkeVersionEnum Enum with underlying type: string
type IpSecConnectionTunnelIkeVersionEnum string
// Set of constants representing the allowable values for IpSecConnectionTunnelIkeVersionEnum
const (
IpSecConnectionTunnelIkeVersionV1 IpSecConnectionTunnelIkeVersionEnum = "V1"
IpSecConnectionTunnelIkeVersionV2 IpSecConnectionTunnelIkeVersionEnum = "V2"
)
var mappingIpSecConnectionTunnelIkeVersion = map[string]IpSecConnectionTunnelIkeVersionEnum{
"V1": IpSecConnectionTunnelIkeVersionV1,
"V2": IpSecConnectionTunnelIkeVersionV2,
}
// GetIpSecConnectionTunnelIkeVersionEnumValues Enumerates the set of values for IpSecConnectionTunnelIkeVersionEnum
func GetIpSecConnectionTunnelIkeVersionEnumValues() []IpSecConnectionTunnelIkeVersionEnum {
values := make([]IpSecConnectionTunnelIkeVersionEnum, 0)
for _, v := range mappingIpSecConnectionTunnelIkeVersion {
values = append(values, v)
}
return values
}
// IpSecConnectionTunnelLifecycleStateEnum Enum with underlying type: string
type IpSecConnectionTunnelLifecycleStateEnum string
// Set of constants representing the allowable values for IpSecConnectionTunnelLifecycleStateEnum
const (
IpSecConnectionTunnelLifecycleStateProvisioning IpSecConnectionTunnelLifecycleStateEnum = "PROVISIONING"
IpSecConnectionTunnelLifecycleStateAvailable IpSecConnectionTunnelLifecycleStateEnum = "AVAILABLE"
IpSecConnectionTunnelLifecycleStateTerminating IpSecConnectionTunnelLifecycleStateEnum = "TERMINATING"
IpSecConnectionTunnelLifecycleStateTerminated IpSecConnectionTunnelLifecycleStateEnum = "TERMINATED"
)
var mappingIpSecConnectionTunnelLifecycleState = map[string]IpSecConnectionTunnelLifecycleStateEnum{
"PROVISIONING": IpSecConnectionTunnelLifecycleStateProvisioning,
"AVAILABLE": IpSecConnectionTunnelLifecycleStateAvailable,
"TERMINATING": IpSecConnectionTunnelLifecycleStateTerminating,
"TERMINATED": IpSecConnectionTunnelLifecycleStateTerminated,
}
// GetIpSecConnectionTunnelLifecycleStateEnumValues Enumerates the set of values for IpSecConnectionTunnelLifecycleStateEnum
func GetIpSecConnectionTunnelLifecycleStateEnumValues() []IpSecConnectionTunnelLifecycleStateEnum {
values := make([]IpSecConnectionTunnelLifecycleStateEnum, 0)
for _, v := range mappingIpSecConnectionTunnelLifecycleState {
values = append(values, v)
}
return values
}
// IpSecConnectionTunnelRoutingEnum Enum with underlying type: string
type IpSecConnectionTunnelRoutingEnum string
// Set of constants representing the allowable values for IpSecConnectionTunnelRoutingEnum
const (
IpSecConnectionTunnelRoutingBgp IpSecConnectionTunnelRoutingEnum = "BGP"
IpSecConnectionTunnelRoutingStatic IpSecConnectionTunnelRoutingEnum = "STATIC"
IpSecConnectionTunnelRoutingPolicy IpSecConnectionTunnelRoutingEnum = "POLICY"
)
var mappingIpSecConnectionTunnelRouting = map[string]IpSecConnectionTunnelRoutingEnum{
"BGP": IpSecConnectionTunnelRoutingBgp,
"STATIC": IpSecConnectionTunnelRoutingStatic,
"POLICY": IpSecConnectionTunnelRoutingPolicy,
}
// GetIpSecConnectionTunnelRoutingEnumValues Enumerates the set of values for IpSecConnectionTunnelRoutingEnum
func GetIpSecConnectionTunnelRoutingEnumValues() []IpSecConnectionTunnelRoutingEnum {
values := make([]IpSecConnectionTunnelRoutingEnum, 0)
for _, v := range mappingIpSecConnectionTunnelRouting {
values = append(values, v)
}
return values
}