1// Copyright (c) 2016, 2018, 2020, Oracle and/or its affiliates.  All rights reserved.
2// 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.
3// Code generated. DO NOT EDIT.
4
5// Data Integration API
6//
7// Use the Data Integration Service APIs to perform common extract, load, and transform (ETL) tasks.
8//
9
10package dataintegration
11
12import (
13	"encoding/json"
14	"github.com/oracle/oci-go-sdk/common"
15)
16
17// ConnectionFromObjectStorageDetails The Object Storage connection details.
18type ConnectionFromObjectStorageDetails struct {
19
20	// Generated key that can be used in API calls to identify connection. On scenarios where reference to the connection is needed, a value can be passed in create.
21	Key *string `mandatory:"false" json:"key"`
22
23	// The model version of an object.
24	ModelVersion *string `mandatory:"false" json:"modelVersion"`
25
26	ParentRef *ParentReference `mandatory:"false" json:"parentRef"`
27
28	// Free form text without any restriction on permitted characters. Name can have letters, numbers, and special characters. The value can be edited by the user and it is restricted to 1000 characters
29	Name *string `mandatory:"false" json:"name"`
30
31	// Detailed description for the object.
32	Description *string `mandatory:"false" json:"description"`
33
34	// The version of the object that is used to track changes in the object instance.
35	ObjectVersion *int `mandatory:"false" json:"objectVersion"`
36
37	// The status of an object that can be set to value 1 for shallow references across objects, other values reserved.
38	ObjectStatus *int `mandatory:"false" json:"objectStatus"`
39
40	// Value can only contain upper case letters, underscore and numbers. It should begin with upper case letter or underscore. The value can be edited by the user.
41	Identifier *string `mandatory:"false" json:"identifier"`
42
43	PrimarySchema *Schema `mandatory:"false" json:"primarySchema"`
44
45	// The properties for the connection.
46	ConnectionProperties []ConnectionProperty `mandatory:"false" json:"connectionProperties"`
47
48	// The default property for the connection.
49	IsDefault *bool `mandatory:"false" json:"isDefault"`
50
51	Metadata *ObjectMetadata `mandatory:"false" json:"metadata"`
52
53	// The credential file content from a wallet for the data asset.
54	CredentialFileContent *string `mandatory:"false" json:"credentialFileContent"`
55
56	// The OCI user OCID for the user to connect to.
57	UserId *string `mandatory:"false" json:"userId"`
58
59	// The fingeprint for the user.
60	FingerPrint *string `mandatory:"false" json:"fingerPrint"`
61
62	// The pass phrase for the connection.
63	PassPhrase *string `mandatory:"false" json:"passPhrase"`
64}
65
66//GetKey returns Key
67func (m ConnectionFromObjectStorageDetails) GetKey() *string {
68	return m.Key
69}
70
71//GetModelVersion returns ModelVersion
72func (m ConnectionFromObjectStorageDetails) GetModelVersion() *string {
73	return m.ModelVersion
74}
75
76//GetParentRef returns ParentRef
77func (m ConnectionFromObjectStorageDetails) GetParentRef() *ParentReference {
78	return m.ParentRef
79}
80
81//GetName returns Name
82func (m ConnectionFromObjectStorageDetails) GetName() *string {
83	return m.Name
84}
85
86//GetDescription returns Description
87func (m ConnectionFromObjectStorageDetails) GetDescription() *string {
88	return m.Description
89}
90
91//GetObjectVersion returns ObjectVersion
92func (m ConnectionFromObjectStorageDetails) GetObjectVersion() *int {
93	return m.ObjectVersion
94}
95
96//GetObjectStatus returns ObjectStatus
97func (m ConnectionFromObjectStorageDetails) GetObjectStatus() *int {
98	return m.ObjectStatus
99}
100
101//GetIdentifier returns Identifier
102func (m ConnectionFromObjectStorageDetails) GetIdentifier() *string {
103	return m.Identifier
104}
105
106//GetPrimarySchema returns PrimarySchema
107func (m ConnectionFromObjectStorageDetails) GetPrimarySchema() *Schema {
108	return m.PrimarySchema
109}
110
111//GetConnectionProperties returns ConnectionProperties
112func (m ConnectionFromObjectStorageDetails) GetConnectionProperties() []ConnectionProperty {
113	return m.ConnectionProperties
114}
115
116//GetIsDefault returns IsDefault
117func (m ConnectionFromObjectStorageDetails) GetIsDefault() *bool {
118	return m.IsDefault
119}
120
121//GetMetadata returns Metadata
122func (m ConnectionFromObjectStorageDetails) GetMetadata() *ObjectMetadata {
123	return m.Metadata
124}
125
126func (m ConnectionFromObjectStorageDetails) String() string {
127	return common.PointerString(m)
128}
129
130// MarshalJSON marshals to json representation
131func (m ConnectionFromObjectStorageDetails) MarshalJSON() (buff []byte, e error) {
132	type MarshalTypeConnectionFromObjectStorageDetails ConnectionFromObjectStorageDetails
133	s := struct {
134		DiscriminatorParam string `json:"modelType"`
135		MarshalTypeConnectionFromObjectStorageDetails
136	}{
137		"ORACLE_OBJECT_STORAGE_CONNECTION",
138		(MarshalTypeConnectionFromObjectStorageDetails)(m),
139	}
140
141	return json.Marshal(&s)
142}
143