github.com/TrueCloudLab/frostfs-api-go/v2@v2.0.0-20230228134343-196241c4e79a/acl/types.go (about) 1 package acl 2 3 import "github.com/TrueCloudLab/frostfs-api-go/v2/refs" 4 5 // HeaderFilter is a unified structure of FilterInfo 6 // message from proto definition. 7 type HeaderFilter struct { 8 hdrType HeaderType 9 10 matchType MatchType 11 12 key, value string 13 } 14 15 // Target is a unified structure of Target 16 // message from proto definition. 17 type Target struct { 18 role Role 19 20 keys [][]byte 21 } 22 23 // Record is a unified structure of EACLRecord 24 // message from proto definition. 25 type Record struct { 26 op Operation 27 28 action Action 29 30 filters []HeaderFilter 31 32 targets []Target 33 } 34 35 // Table is a unified structure of EACLTable 36 // message from proto definition. 37 type Table struct { 38 version *refs.Version 39 40 cid *refs.ContainerID 41 42 records []Record 43 } 44 45 type TokenLifetime struct { 46 exp, nbf, iat uint64 47 } 48 49 type BearerTokenBody struct { 50 eacl *Table 51 52 ownerID *refs.OwnerID 53 54 lifetime *TokenLifetime 55 } 56 57 type BearerToken struct { 58 body *BearerTokenBody 59 60 sig *refs.Signature 61 } 62 63 // Target is a unified enum of MatchType enum from proto definition. 64 type MatchType uint32 65 66 // HeaderType is a unified enum of HeaderType enum from proto definition. 67 type HeaderType uint32 68 69 // Action is a unified enum of Action enum from proto definition. 70 type Action uint32 71 72 // Operation is a unified enum of Operation enum from proto definition. 73 type Operation uint32 74 75 // Role is a unified enum of Role enum from proto definition. 76 type Role uint32 77 78 const ( 79 MatchTypeUnknown MatchType = iota 80 MatchTypeStringEqual 81 MatchTypeStringNotEqual 82 ) 83 84 const ( 85 HeaderTypeUnknown HeaderType = iota 86 HeaderTypeRequest 87 HeaderTypeObject 88 HeaderTypeService 89 ) 90 91 const ( 92 ActionUnknown Action = iota 93 ActionAllow 94 ActionDeny 95 ) 96 97 const ( 98 OperationUnknown Operation = iota 99 OperationGet 100 OperationHead 101 OperationPut 102 OperationDelete 103 OperationSearch 104 OperationRange 105 OperationRangeHash 106 ) 107 108 const ( 109 RoleUnknown Role = iota 110 RoleUser 111 RoleSystem 112 RoleOthers 113 ) 114 115 func (f *HeaderFilter) GetHeaderType() HeaderType { 116 if f != nil { 117 return f.hdrType 118 } 119 120 return HeaderTypeUnknown 121 } 122 123 func (f *HeaderFilter) SetHeaderType(v HeaderType) { 124 f.hdrType = v 125 } 126 127 func (f *HeaderFilter) GetMatchType() MatchType { 128 if f != nil { 129 return f.matchType 130 } 131 132 return MatchTypeUnknown 133 } 134 135 func (f *HeaderFilter) SetMatchType(v MatchType) { 136 f.matchType = v 137 } 138 139 func (f *HeaderFilter) GetKey() string { 140 if f != nil { 141 return f.key 142 } 143 144 return "" 145 } 146 147 func (f *HeaderFilter) SetKey(v string) { 148 f.key = v 149 } 150 151 func (f *HeaderFilter) GetValue() string { 152 if f != nil { 153 return f.value 154 } 155 156 return "" 157 } 158 159 func (f *HeaderFilter) SetValue(v string) { 160 f.value = v 161 } 162 163 func (t *Target) GetRole() Role { 164 if t != nil { 165 return t.role 166 } 167 168 return RoleUnknown 169 } 170 171 func (t *Target) SetRole(v Role) { 172 t.role = v 173 } 174 175 func (t *Target) GetKeys() [][]byte { 176 if t != nil { 177 return t.keys 178 } 179 180 return nil 181 } 182 183 func (t *Target) SetKeys(v [][]byte) { 184 t.keys = v 185 } 186 187 func (r *Record) GetOperation() Operation { 188 if r != nil { 189 return r.op 190 } 191 192 return OperationUnknown 193 } 194 195 func (r *Record) SetOperation(v Operation) { 196 r.op = v 197 } 198 199 func (r *Record) GetAction() Action { 200 if r != nil { 201 return r.action 202 } 203 204 return ActionUnknown 205 } 206 207 func (r *Record) SetAction(v Action) { 208 r.action = v 209 } 210 211 func (r *Record) GetFilters() []HeaderFilter { 212 if r != nil { 213 return r.filters 214 } 215 216 return nil 217 } 218 219 func (r *Record) SetFilters(v []HeaderFilter) { 220 r.filters = v 221 } 222 223 func (r *Record) GetTargets() []Target { 224 if r != nil { 225 return r.targets 226 } 227 228 return nil 229 } 230 231 func (r *Record) SetTargets(v []Target) { 232 r.targets = v 233 } 234 235 func (t *Table) GetVersion() *refs.Version { 236 if t != nil { 237 return t.version 238 } 239 240 return nil 241 } 242 243 func (t *Table) SetVersion(v *refs.Version) { 244 t.version = v 245 } 246 247 func (t *Table) GetContainerID() *refs.ContainerID { 248 if t != nil { 249 return t.cid 250 } 251 252 return nil 253 } 254 255 func (t *Table) SetContainerID(v *refs.ContainerID) { 256 t.cid = v 257 } 258 259 func (t *Table) GetRecords() []Record { 260 if t != nil { 261 return t.records 262 } 263 264 return nil 265 } 266 267 func (t *Table) SetRecords(v []Record) { 268 t.records = v 269 } 270 271 func (l *TokenLifetime) GetExp() uint64 { 272 if l != nil { 273 return l.exp 274 } 275 276 return 0 277 } 278 279 func (l *TokenLifetime) SetExp(v uint64) { 280 l.exp = v 281 } 282 283 func (l *TokenLifetime) GetNbf() uint64 { 284 if l != nil { 285 return l.nbf 286 } 287 288 return 0 289 } 290 291 func (l *TokenLifetime) SetNbf(v uint64) { 292 l.nbf = v 293 } 294 295 func (l *TokenLifetime) GetIat() uint64 { 296 if l != nil { 297 return l.iat 298 } 299 300 return 0 301 } 302 303 func (l *TokenLifetime) SetIat(v uint64) { 304 l.iat = v 305 } 306 307 func (bt *BearerTokenBody) GetEACL() *Table { 308 if bt != nil { 309 return bt.eacl 310 } 311 312 return nil 313 } 314 315 func (bt *BearerTokenBody) SetEACL(v *Table) { 316 bt.eacl = v 317 } 318 319 func (bt *BearerTokenBody) GetOwnerID() *refs.OwnerID { 320 if bt != nil { 321 return bt.ownerID 322 } 323 324 return nil 325 } 326 327 func (bt *BearerTokenBody) SetOwnerID(v *refs.OwnerID) { 328 bt.ownerID = v 329 } 330 331 func (bt *BearerTokenBody) GetLifetime() *TokenLifetime { 332 if bt != nil { 333 return bt.lifetime 334 } 335 336 return nil 337 } 338 339 func (bt *BearerTokenBody) SetLifetime(v *TokenLifetime) { 340 bt.lifetime = v 341 } 342 343 func (bt *BearerToken) GetBody() *BearerTokenBody { 344 if bt != nil { 345 return bt.body 346 } 347 348 return nil 349 } 350 351 func (bt *BearerToken) SetBody(v *BearerTokenBody) { 352 bt.body = v 353 } 354 355 func (bt *BearerToken) GetSignature() *refs.Signature { 356 if bt != nil { 357 return bt.sig 358 } 359 360 return nil 361 } 362 363 func (bt *BearerToken) SetSignature(v *refs.Signature) { 364 bt.sig = v 365 }