-
Notifications
You must be signed in to change notification settings - Fork 82
/
workspace.go
171 lines (142 loc) · 8.17 KB
/
workspace.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
// Copyright (c) 2016, 2018, 2022, 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.
// Data Integration API
//
// Use the Data Integration API to organize your data integration projects, create data flows, pipelines and tasks, and then publish, schedule, and run tasks that extract, transform, and load data. For more information, see Data Integration (https://docs.oracle.com/iaas/data-integration/home.htm).
//
package dataintegration
import (
"fmt"
"github.com/oracle/oci-go-sdk/v65/common"
"strings"
)
// Workspace A workspace is an organizational construct to keep multiple data integration solutions and their resources (data assets, data flows, tasks, and so on) separate from each other, helping you to stay organized. For example, you could have separate workspaces for development, testing, and production.
type Workspace struct {
// A user-friendly display name for the workspace. Does not have to be unique, and can be modified. Avoid entering confidential information.
DisplayName *string `mandatory:"true" json:"displayName"`
// A system-generated and immutable identifier assigned to the workspace upon creation.
Id *string `mandatory:"true" json:"id"`
// The OCID of the VCN the subnet is in.
VcnId *string `mandatory:"false" json:"vcnId"`
// The OCID of the subnet for customer connected databases.
SubnetId *string `mandatory:"false" json:"subnetId"`
// The IP of the custom DNS.
DnsServerIp *string `mandatory:"false" json:"dnsServerIp"`
// The DNS zone of the custom DNS to use to resolve names.
DnsServerZone *string `mandatory:"false" json:"dnsServerZone"`
// Specifies whether the private network connection is enabled or disabled.
IsPrivateNetworkEnabled *bool `mandatory:"false" json:"isPrivateNetworkEnabled"`
// Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. See Resource Tags (https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
// Example: `{"Department": "Finance"}`
FreeformTags map[string]string `mandatory:"false" json:"freeformTags"`
// Defined tags for this resource. Each key is predefined and scoped to a namespace. See Resource Tags (https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
// Example: `{"Operations": {"CostCenter": "42"}}`
DefinedTags map[string]map[string]interface{} `mandatory:"false" json:"definedTags"`
// A detailed description for the workspace.
Description *string `mandatory:"false" json:"description"`
// The OCID of the compartment containing the workspace.
CompartmentId *string `mandatory:"false" json:"compartmentId"`
// The date and time the workspace was created, in the timestamp format defined by RFC3339.
TimeCreated *common.SDKTime `mandatory:"false" json:"timeCreated"`
// The date and time the workspace was updated, in the timestamp format defined by RFC3339 (https://tools.ietf.org/html/rfc3339).
TimeUpdated *common.SDKTime `mandatory:"false" json:"timeUpdated"`
// Lifecycle states for workspaces in Data Integration Service
// CREATING - The resource is being created and may not be usable until the entire metadata is defined
// UPDATING - The resource is being updated and may not be usable until all changes are commited
// DELETING - The resource is being deleted and might require deep cleanup of children.
// ACTIVE - The resource is valid and available for access
// INACTIVE - The resource might be incomplete in its definition or might have been made unavailable for
// administrative reasons
// DELETED - The resource has been deleted and isn't available
// FAILED - The resource is in a failed state due to validation or other errors
// STARTING - The resource is being started and may not be usable until becomes ACTIVE again
// STOPPING - The resource is in the process of Stopping and may not be usable until it Stops or fails
// STOPPED - The resource is in Stopped state due to stop operation.
LifecycleState WorkspaceLifecycleStateEnum `mandatory:"false" json:"lifecycleState,omitempty"`
// A message describing the current state in more detail. For example, can be used to provide actionable information for a resource in failed state.
StateMessage *string `mandatory:"false" json:"stateMessage"`
}
func (m Workspace) String() string {
return common.PointerString(m)
}
// ValidateEnumValue returns an error when providing an unsupported enum value
// This function is being called during constructing API request process
// Not recommended for calling this function directly
func (m Workspace) ValidateEnumValue() (bool, error) {
errMessage := []string{}
if _, ok := GetMappingWorkspaceLifecycleStateEnum(string(m.LifecycleState)); !ok && m.LifecycleState != "" {
errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for LifecycleState: %s. Supported values are: %s.", m.LifecycleState, strings.Join(GetWorkspaceLifecycleStateEnumStringValues(), ",")))
}
if len(errMessage) > 0 {
return true, fmt.Errorf(strings.Join(errMessage, "\n"))
}
return false, nil
}
// WorkspaceLifecycleStateEnum Enum with underlying type: string
type WorkspaceLifecycleStateEnum string
// Set of constants representing the allowable values for WorkspaceLifecycleStateEnum
const (
WorkspaceLifecycleStateCreating WorkspaceLifecycleStateEnum = "CREATING"
WorkspaceLifecycleStateActive WorkspaceLifecycleStateEnum = "ACTIVE"
WorkspaceLifecycleStateInactive WorkspaceLifecycleStateEnum = "INACTIVE"
WorkspaceLifecycleStateUpdating WorkspaceLifecycleStateEnum = "UPDATING"
WorkspaceLifecycleStateDeleting WorkspaceLifecycleStateEnum = "DELETING"
WorkspaceLifecycleStateDeleted WorkspaceLifecycleStateEnum = "DELETED"
WorkspaceLifecycleStateFailed WorkspaceLifecycleStateEnum = "FAILED"
WorkspaceLifecycleStateStarting WorkspaceLifecycleStateEnum = "STARTING"
WorkspaceLifecycleStateStopping WorkspaceLifecycleStateEnum = "STOPPING"
WorkspaceLifecycleStateStopped WorkspaceLifecycleStateEnum = "STOPPED"
)
var mappingWorkspaceLifecycleStateEnum = map[string]WorkspaceLifecycleStateEnum{
"CREATING": WorkspaceLifecycleStateCreating,
"ACTIVE": WorkspaceLifecycleStateActive,
"INACTIVE": WorkspaceLifecycleStateInactive,
"UPDATING": WorkspaceLifecycleStateUpdating,
"DELETING": WorkspaceLifecycleStateDeleting,
"DELETED": WorkspaceLifecycleStateDeleted,
"FAILED": WorkspaceLifecycleStateFailed,
"STARTING": WorkspaceLifecycleStateStarting,
"STOPPING": WorkspaceLifecycleStateStopping,
"STOPPED": WorkspaceLifecycleStateStopped,
}
var mappingWorkspaceLifecycleStateEnumLowerCase = map[string]WorkspaceLifecycleStateEnum{
"creating": WorkspaceLifecycleStateCreating,
"active": WorkspaceLifecycleStateActive,
"inactive": WorkspaceLifecycleStateInactive,
"updating": WorkspaceLifecycleStateUpdating,
"deleting": WorkspaceLifecycleStateDeleting,
"deleted": WorkspaceLifecycleStateDeleted,
"failed": WorkspaceLifecycleStateFailed,
"starting": WorkspaceLifecycleStateStarting,
"stopping": WorkspaceLifecycleStateStopping,
"stopped": WorkspaceLifecycleStateStopped,
}
// GetWorkspaceLifecycleStateEnumValues Enumerates the set of values for WorkspaceLifecycleStateEnum
func GetWorkspaceLifecycleStateEnumValues() []WorkspaceLifecycleStateEnum {
values := make([]WorkspaceLifecycleStateEnum, 0)
for _, v := range mappingWorkspaceLifecycleStateEnum {
values = append(values, v)
}
return values
}
// GetWorkspaceLifecycleStateEnumStringValues Enumerates the set of values in String for WorkspaceLifecycleStateEnum
func GetWorkspaceLifecycleStateEnumStringValues() []string {
return []string{
"CREATING",
"ACTIVE",
"INACTIVE",
"UPDATING",
"DELETING",
"DELETED",
"FAILED",
"STARTING",
"STOPPING",
"STOPPED",
}
}
// GetMappingWorkspaceLifecycleStateEnum performs case Insensitive comparison on enum value and return the desired enum
func GetMappingWorkspaceLifecycleStateEnum(val string) (WorkspaceLifecycleStateEnum, bool) {
enum, ok := mappingWorkspaceLifecycleStateEnumLowerCase[strings.ToLower(val)]
return enum, ok
}