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  }