1/* 2* Copyright 2018 - Present Okta, Inc. 3* 4* Licensed under the Apache License, Version 2.0 (the "License"); 5* you may not use this file except in compliance with the License. 6* You may obtain a copy of the License at 7* 8* http://www.apache.org/licenses/LICENSE-2.0 9* 10* Unless required by applicable law or agreed to in writing, software 11* distributed under the License is distributed on an "AS IS" BASIS, 12* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13* See the License for the specific language governing permissions and 14* limitations under the License. 15 */ 16 17// AUTO-GENERATED! DO NOT EDIT FILE DIRECTLY 18 19package okta 20 21import ( 22 "fmt" 23 "github.com/okta/okta-sdk-golang/okta/query" 24 "time" 25) 26 27type GroupResource resource 28 29type Group struct { 30 Embedded interface{} `json:"_embedded,omitempty"` 31 Links interface{} `json:"_links,omitempty"` 32 Created *time.Time `json:"created,omitempty"` 33 Id string `json:"id,omitempty"` 34 LastMembershipUpdated *time.Time `json:"lastMembershipUpdated,omitempty"` 35 LastUpdated *time.Time `json:"lastUpdated,omitempty"` 36 ObjectClass []string `json:"objectClass,omitempty"` 37 Profile *GroupProfile `json:"profile,omitempty"` 38 Type string `json:"type,omitempty"` 39} 40 41func (m *GroupResource) UpdateGroup(groupId string, body Group) (*Group, *Response, error) { 42 url := fmt.Sprintf("/api/v1/groups/%v", groupId) 43 req, err := m.client.requestExecutor.NewRequest("PUT", url, body) 44 if err != nil { 45 return nil, nil, err 46 } 47 48 var group *Group 49 resp, err := m.client.requestExecutor.Do(req, &group) 50 if err != nil { 51 return nil, resp, err 52 } 53 return group, resp, nil 54} 55func (m *GroupResource) DeleteGroup(groupId string) (*Response, error) { 56 url := fmt.Sprintf("/api/v1/groups/%v", groupId) 57 req, err := m.client.requestExecutor.NewRequest("DELETE", url, nil) 58 if err != nil { 59 return nil, err 60 } 61 62 resp, err := m.client.requestExecutor.Do(req, nil) 63 if err != nil { 64 return resp, err 65 } 66 return resp, nil 67} 68func (m *GroupResource) ListGroups(qp *query.Params) ([]*Group, *Response, error) { 69 url := fmt.Sprintf("/api/v1/groups") 70 if qp != nil { 71 url = url + qp.String() 72 } 73 req, err := m.client.requestExecutor.NewRequest("GET", url, nil) 74 if err != nil { 75 return nil, nil, err 76 } 77 78 var group []*Group 79 resp, err := m.client.requestExecutor.Do(req, &group) 80 if err != nil { 81 return nil, resp, err 82 } 83 return group, resp, nil 84} 85func (m *GroupResource) CreateGroup(body Group) (*Group, *Response, error) { 86 url := fmt.Sprintf("/api/v1/groups") 87 req, err := m.client.requestExecutor.NewRequest("POST", url, body) 88 if err != nil { 89 return nil, nil, err 90 } 91 92 var group *Group 93 resp, err := m.client.requestExecutor.Do(req, &group) 94 if err != nil { 95 return nil, resp, err 96 } 97 return group, resp, nil 98} 99func (m *GroupResource) ListRules(qp *query.Params) ([]*GroupRule, *Response, error) { 100 url := fmt.Sprintf("/api/v1/groups/rules") 101 if qp != nil { 102 url = url + qp.String() 103 } 104 req, err := m.client.requestExecutor.NewRequest("GET", url, nil) 105 if err != nil { 106 return nil, nil, err 107 } 108 109 var groupRule []*GroupRule 110 resp, err := m.client.requestExecutor.Do(req, &groupRule) 111 if err != nil { 112 return nil, resp, err 113 } 114 return groupRule, resp, nil 115} 116func (m *GroupResource) CreateRule(body GroupRule) (*GroupRule, *Response, error) { 117 url := fmt.Sprintf("/api/v1/groups/rules") 118 req, err := m.client.requestExecutor.NewRequest("POST", url, body) 119 if err != nil { 120 return nil, nil, err 121 } 122 123 var groupRule *GroupRule 124 resp, err := m.client.requestExecutor.Do(req, &groupRule) 125 if err != nil { 126 return nil, resp, err 127 } 128 return groupRule, resp, nil 129} 130func (m *GroupResource) DeleteRule(ruleId string, qp *query.Params) (*Response, error) { 131 url := fmt.Sprintf("/api/v1/groups/rules/%v", ruleId) 132 if qp != nil { 133 url = url + qp.String() 134 } 135 req, err := m.client.requestExecutor.NewRequest("DELETE", url, nil) 136 if err != nil { 137 return nil, err 138 } 139 140 resp, err := m.client.requestExecutor.Do(req, nil) 141 if err != nil { 142 return resp, err 143 } 144 return resp, nil 145} 146func (m *GroupResource) GetRule(ruleId string, qp *query.Params) (*GroupRule, *Response, error) { 147 url := fmt.Sprintf("/api/v1/groups/rules/%v", ruleId) 148 if qp != nil { 149 url = url + qp.String() 150 } 151 req, err := m.client.requestExecutor.NewRequest("GET", url, nil) 152 if err != nil { 153 return nil, nil, err 154 } 155 156 var groupRule *GroupRule 157 resp, err := m.client.requestExecutor.Do(req, &groupRule) 158 if err != nil { 159 return nil, resp, err 160 } 161 return groupRule, resp, nil 162} 163func (m *GroupResource) UpdateRule(ruleId string, body GroupRule) (*GroupRule, *Response, error) { 164 url := fmt.Sprintf("/api/v1/groups/rules/%v", ruleId) 165 req, err := m.client.requestExecutor.NewRequest("PUT", url, body) 166 if err != nil { 167 return nil, nil, err 168 } 169 170 var groupRule *GroupRule 171 resp, err := m.client.requestExecutor.Do(req, &groupRule) 172 if err != nil { 173 return nil, resp, err 174 } 175 return groupRule, resp, nil 176} 177func (m *GroupResource) ActivateRule(ruleId string) (*Response, error) { 178 url := fmt.Sprintf("/api/v1/groups/rules/%v/lifecycle/activate", ruleId) 179 req, err := m.client.requestExecutor.NewRequest("POST", url, nil) 180 if err != nil { 181 return nil, err 182 } 183 184 resp, err := m.client.requestExecutor.Do(req, nil) 185 if err != nil { 186 return resp, err 187 } 188 return resp, nil 189} 190func (m *GroupResource) DeactivateRule(ruleId string) (*Response, error) { 191 url := fmt.Sprintf("/api/v1/groups/rules/%v/lifecycle/deactivate", ruleId) 192 req, err := m.client.requestExecutor.NewRequest("POST", url, nil) 193 if err != nil { 194 return nil, err 195 } 196 197 resp, err := m.client.requestExecutor.Do(req, nil) 198 if err != nil { 199 return resp, err 200 } 201 return resp, nil 202} 203func (m *GroupResource) GetGroup(groupId string, qp *query.Params) (*Group, *Response, error) { 204 url := fmt.Sprintf("/api/v1/groups/%v", groupId) 205 if qp != nil { 206 url = url + qp.String() 207 } 208 req, err := m.client.requestExecutor.NewRequest("GET", url, nil) 209 if err != nil { 210 return nil, nil, err 211 } 212 213 var group *Group 214 resp, err := m.client.requestExecutor.Do(req, &group) 215 if err != nil { 216 return nil, resp, err 217 } 218 return group, resp, nil 219} 220func (m *GroupResource) ListGroupUsers(groupId string, qp *query.Params) ([]*User, *Response, error) { 221 url := fmt.Sprintf("/api/v1/groups/%v/users", groupId) 222 if qp != nil { 223 url = url + qp.String() 224 } 225 req, err := m.client.requestExecutor.NewRequest("GET", url, nil) 226 if err != nil { 227 return nil, nil, err 228 } 229 230 var user []*User 231 resp, err := m.client.requestExecutor.Do(req, &user) 232 if err != nil { 233 return nil, resp, err 234 } 235 return user, resp, nil 236} 237func (m *GroupResource) RemoveGroupUser(groupId string, userId string) (*Response, error) { 238 url := fmt.Sprintf("/api/v1/groups/%v/users/%v", groupId, userId) 239 req, err := m.client.requestExecutor.NewRequest("DELETE", url, nil) 240 if err != nil { 241 return nil, err 242 } 243 244 resp, err := m.client.requestExecutor.Do(req, nil) 245 if err != nil { 246 return resp, err 247 } 248 return resp, nil 249} 250func (m *GroupResource) AddUserToGroup(groupId string, userId string) (*Response, error) { 251 url := fmt.Sprintf("/api/v1/groups/%v/users/%v", groupId, userId) 252 req, err := m.client.requestExecutor.NewRequest("PUT", url, nil) 253 if err != nil { 254 return nil, err 255 } 256 257 resp, err := m.client.requestExecutor.Do(req, nil) 258 if err != nil { 259 return resp, err 260 } 261 return resp, nil 262} 263