Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
grpc_core::Rbac::Permission Struct Reference

#include <rbac_policy.h>

Public Types

enum  RuleType {
  RuleType::kAnd, RuleType::kOr, RuleType::kNot, RuleType::kAny,
  RuleType::kHeader, RuleType::kPath, RuleType::kDestIp, RuleType::kDestPort,
  RuleType::kMetadata, RuleType::kReqServerName
}
 

Public Member Functions

Permissionoperator= (Permission &&other) noexcept
 
 Permission ()=default
 
 Permission (Permission &&other) noexcept
 
std::string ToString () const
 

Static Public Member Functions

static Permission MakeAndPermission (std::vector< std::unique_ptr< Permission >> permissions)
 
static Permission MakeAnyPermission ()
 
static Permission MakeDestIpPermission (CidrRange ip)
 
static Permission MakeDestPortPermission (int port)
 
static Permission MakeHeaderPermission (HeaderMatcher header_matcher)
 
static Permission MakeMetadataPermission (bool invert)
 
static Permission MakeNotPermission (Permission permission)
 
static Permission MakeOrPermission (std::vector< std::unique_ptr< Permission >> permissions)
 
static Permission MakePathPermission (StringMatcher string_matcher)
 
static Permission MakeReqServerNamePermission (StringMatcher string_matcher)
 

Public Attributes

HeaderMatcher header_matcher
 
bool invert = false
 
CidrRange ip
 
std::vector< std::unique_ptr< Permission > > permissions
 
int port
 
StringMatcher string_matcher
 
RuleType type = RuleType::kAnd
 

Detailed Description

Definition at line 55 of file rbac_policy.h.

Member Enumeration Documentation

◆ RuleType

Enumerator
kAnd 
kOr 
kNot 
kAny 
kHeader 
kPath 
kDestIp 
kDestPort 
kMetadata 
kReqServerName 

Definition at line 56 of file rbac_policy.h.

Constructor & Destructor Documentation

◆ Permission() [1/2]

grpc_core::Rbac::Permission::Permission ( )
default

◆ Permission() [2/2]

grpc_core::Rbac::Permission::Permission ( Rbac::Permission &&  other)
noexcept

Definition at line 158 of file rbac_policy.cc.

Member Function Documentation

◆ MakeAndPermission()

Rbac::Permission grpc_core::Rbac::Permission::MakeAndPermission ( std::vector< std::unique_ptr< Permission >>  permissions)
static

Definition at line 83 of file rbac_policy.cc.

◆ MakeAnyPermission()

Rbac::Permission grpc_core::Rbac::Permission::MakeAnyPermission ( )
static

Definition at line 107 of file rbac_policy.cc.

◆ MakeDestIpPermission()

Rbac::Permission grpc_core::Rbac::Permission::MakeDestIpPermission ( CidrRange  ip)
static

Definition at line 129 of file rbac_policy.cc.

◆ MakeDestPortPermission()

Rbac::Permission grpc_core::Rbac::Permission::MakeDestPortPermission ( int  port)
static

Definition at line 136 of file rbac_policy.cc.

◆ MakeHeaderPermission()

Rbac::Permission grpc_core::Rbac::Permission::MakeHeaderPermission ( HeaderMatcher  header_matcher)
static

Definition at line 113 of file rbac_policy.cc.

◆ MakeMetadataPermission()

Rbac::Permission grpc_core::Rbac::Permission::MakeMetadataPermission ( bool  invert)
static

Definition at line 143 of file rbac_policy.cc.

◆ MakeNotPermission()

Rbac::Permission grpc_core::Rbac::Permission::MakeNotPermission ( Permission  permission)
static

Definition at line 99 of file rbac_policy.cc.

◆ MakeOrPermission()

Rbac::Permission grpc_core::Rbac::Permission::MakeOrPermission ( std::vector< std::unique_ptr< Permission >>  permissions)
static

Definition at line 91 of file rbac_policy.cc.

◆ MakePathPermission()

Rbac::Permission grpc_core::Rbac::Permission::MakePathPermission ( StringMatcher  string_matcher)
static

Definition at line 121 of file rbac_policy.cc.

◆ MakeReqServerNamePermission()

Rbac::Permission grpc_core::Rbac::Permission::MakeReqServerNamePermission ( StringMatcher  string_matcher)
static

Definition at line 150 of file rbac_policy.cc.

◆ operator=()

Rbac::Permission & grpc_core::Rbac::Permission::operator= ( Rbac::Permission &&  other)
noexcept

Definition at line 183 of file rbac_policy.cc.

◆ ToString()

std::string grpc_core::Rbac::Permission::ToString ( ) const

Definition at line 211 of file rbac_policy.cc.

Member Data Documentation

◆ header_matcher

HeaderMatcher grpc_core::Rbac::Permission::header_matcher

Definition at line 91 of file rbac_policy.h.

◆ invert

bool grpc_core::Rbac::Permission::invert = false

Definition at line 99 of file rbac_policy.h.

◆ ip

CidrRange grpc_core::Rbac::Permission::ip

Definition at line 93 of file rbac_policy.h.

◆ permissions

std::vector<std::unique_ptr<Permission> > grpc_core::Rbac::Permission::permissions

Definition at line 97 of file rbac_policy.h.

◆ port

int grpc_core::Rbac::Permission::port

Definition at line 94 of file rbac_policy.h.

◆ string_matcher

StringMatcher grpc_core::Rbac::Permission::string_matcher

Definition at line 92 of file rbac_policy.h.

◆ type

RuleType grpc_core::Rbac::Permission::type = RuleType::kAnd

Definition at line 90 of file rbac_policy.h.


The documentation for this struct was generated from the following files:


grpc
Author(s):
autogenerated on Fri May 16 2025 03:03:37