/
model_user_script.go
116 lines (98 loc) · 5.78 KB
/
model_user_script.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
/*
* Appgate SDP Controller REST API
*
* # About This specification documents the REST API calls for the Appgate SDP Controller. Please refer to the Integration chapter in the manual or contact Appgate support with any questions about this functionality. # Getting Started Requirements for API scripting: - Access to the Admin Interface (default port 8443) of a Controller appliance. (https://sdphelp.appgate.com/adminguide/appliances-admin-interface-configure.html) - An API user with relevant permissions. (https://sdphelp.appgate.com/adminguide/administrative-roles-configure.html) - In order to use the simple login API, Admin MFA must be disabled or the API user must be excluded. (https://sdphelp.appgate.com/adminguide/mfa-for-admins.html) # Base path HTTPS requests must be sent to the Admin Interface hostname and port, with **_/admin** path. For example: **https://appgate.company.com:8443/admin** All requests must have the **Accept** header as: **application/vnd.appgate.peer-v14+json** # API Conventions API conventions are important to understand and follow strictly. - While updating objects (via PUT), entire object must be sent with all fields. - For example, if in order to add a remedy method to the condition below: ``` { \"id\": \"12699e27-b584-464a-81ee-5b4784b6d425\", \"name\": \"Test\", \"notes\": \"Making a point\", \"tags\": [\"test\", \"tag\"], \"expression\": \"return true;\", \"remedyMethods\": [] } ``` - send the entire object with updated and non-updated fields: ``` { \"id\": \"12699e27-b584-464a-81ee-5b4784b6d425\", \"name\": \"Test\", \"notes\": \"Making a point\", \"tags\": [\"test\", \"tag\"], \"expression\": \"return true;\", \"remedyMethods\": [{\"type\": \"DisplayMessage\", \"message\": \"test message\"}] } ``` - In case Controller returns an error (non-2xx HTTP status code), response body is JSON. The \"message\" field contains information about the error. HTTP 422 \"Unprocessable Entity\" has extra `errors` field to list all the issues with specific fields. - Empty string (\"\") is considered a different value than \"null\" or field being omitted from JSON. Omitting the field is recommend if no value is intended. Empty string (\"\") will be almost always rejected as invalid value. - There are common pattern between many objects: - **Configuration Objects**: There are many objects with common fields, namely \"id\", \"name\", \"notes\", \"created\" and \"updated\". These entities are listed, queried, created, updated and deleted in a similar fashion. - **Distinguished Name**: Users and Devices are identified with what is called Distinguished Names, as used in LDAP. The distinguished format that identifies a device and a user combination is \"CN=\\<Device ID\\>,CN=\\<username\\>,OU=\\<Identity Provider Name\\>\". Some objects have the \"userDistinguishedName\" field, which does not include the CN for Device ID. This identifies a user on every device.
*
* API version: API version 14
* Contact: appgatesdp.support@appgate.com
* Generated by: OpenAPI Generator (https://openapi-generator.tech)
*/
package openapi
import (
"encoding/json"
)
// UserScript struct for UserScript
type UserScript struct {
BaseEntity
// A JavaScript expression that returns an object.
Expression string `json:"expression"`
}
// NewUserScript instantiates a new UserScript object
// This constructor will assign default values to properties that have it defined,
// and makes sure properties required by API are set, but the set of arguments
// will change when the set of required properties is changed
func NewUserScript(expression string) *UserScript {
this := UserScript{}
this.Expression = expression
return &this
}
// NewUserScriptWithDefaults instantiates a new UserScript object
// This constructor will only assign default values to properties that have it defined,
// but it doesn't guarantee that properties required by API are set
func NewUserScriptWithDefaults() *UserScript {
this := UserScript{}
return &this
}
// GetExpression returns the Expression field value
func (o *UserScript) GetExpression() string {
if o == nil {
var ret string
return ret
}
return o.Expression
}
// GetExpressionOk returns a tuple with the Expression field value
// and a boolean to check if the value has been set.
func (o *UserScript) GetExpressionOk() (*string, bool) {
if o == nil {
return nil, false
}
return &o.Expression, true
}
// SetExpression sets field value
func (o *UserScript) SetExpression(v string) {
o.Expression = v
}
func (o UserScript) MarshalJSON() ([]byte, error) {
toSerialize := map[string]interface{}{}
serializedBaseEntity, errBaseEntity := json.Marshal(o.BaseEntity)
if errBaseEntity != nil {
return []byte{}, errBaseEntity
}
errBaseEntity = json.Unmarshal([]byte(serializedBaseEntity), &toSerialize)
if errBaseEntity != nil {
return []byte{}, errBaseEntity
}
if true {
toSerialize["expression"] = o.Expression
}
return json.Marshal(toSerialize)
}
type NullableUserScript struct {
value *UserScript
isSet bool
}
func (v NullableUserScript) Get() *UserScript {
return v.value
}
func (v *NullableUserScript) Set(val *UserScript) {
v.value = val
v.isSet = true
}
func (v NullableUserScript) IsSet() bool {
return v.isSet
}
func (v *NullableUserScript) Unset() {
v.value = nil
v.isSet = false
}
func NewNullableUserScript(val *UserScript) *NullableUserScript {
return &NullableUserScript{value: val, isSet: true}
}
func (v NullableUserScript) MarshalJSON() ([]byte, error) {
return json.Marshal(v.value)
}
func (v *NullableUserScript) UnmarshalJSON(src []byte) error {
v.isSet = true
return json.Unmarshal(src, &v.value)
}