17 #ifndef __MESOS_AUTHORIZER_AUTHORIZER_HPP__
18 #define __MESOS_AUTHORIZER_AUTHORIZER_HPP__
23 #include <mesos/authorizer/authorizer.pb.h>
74 Object(
const ContainerID& _container_id)
100 Object(
const FrameworkInfo& _framework_info)
113 Object(
const ExecutorInfo& _executor_info,
114 const FrameworkInfo& _framework_info)
127 Object(
const TaskInfo& _task_info,
const FrameworkInfo& _framework_info)
140 Object(
const Task& _task,
const FrameworkInfo& _framework_info)
154 const ExecutorInfo& _executor_info,
155 const FrameworkInfo& _framework_info,
156 const CommandInfo& _command_info,
157 const ContainerID& _container_id)
171 const ExecutorInfo& _executor_info,
172 const FrameworkInfo& _framework_info,
173 const ContainerID& _container_id)
186 Object(
const authorization::Object&
object)
187 :
value(object.has_value() ? &object.
value() : nullptr),
189 object.has_framework_info() ? &object.
framework_info() : nullptr),
190 task(object.has_task() ? &object.
task() : nullptr),
193 object.has_executor_info() ? &object.
executor_info() : nullptr),
198 object.has_command_info() ? &object.
command_info() : nullptr),
200 object.has_container_id() ? &object.
container_id() : nullptr),
287 const authorization::Request&
request) = 0;
303 const authorization::Action& action) = 0;
311 #endif // __MESOS_AUTHORIZER_AUTHORIZER_HPP__
Object(const authorization::Object &object)
Definition: authorizer.hpp:186
const std::string * value
Definition: authorizer.hpp:203
const MachineID * machine_id
Definition: authorizer.hpp:213
Definition: option.hpp:28
Future< Response > request(const Request &request, bool streamedResponse=false)
Asynchronously sends an HTTP request to the process and returns the HTTP response once the entire res...
Definition: authorizer.hpp:46
Object(const ExecutorInfo &_executor_info, const FrameworkInfo &_framework_info, const CommandInfo &_command_info, const ContainerID &_container_id)
Definition: authorizer.hpp:153
virtual Try< bool > approved(const Option< Object > &object) const noexcept=0
NOTE: As this function can be used synchronously by actors it is essential that it does not block! ...
Object(const ExecutorInfo &_executor_info, const FrameworkInfo &_framework_info, const ContainerID &_container_id)
Definition: authorizer.hpp:170
static Try< Authorizer * > create(const std::string &name)
Factory method used to create instances of authorizer which are loaded from the ModuleManager.
Object(const FrameworkInfo &_framework_info)
Definition: authorizer.hpp:100
const Resource * resource
Definition: authorizer.hpp:210
const CommandInfo * command_info
Definition: authorizer.hpp:211
virtual ~ObjectApprover()=default
Object(const MachineID &_machine_id)
Definition: authorizer.hpp:87
virtual process::Future< process::Owned< ObjectApprover > > getObjectApprover(const Option< authorization::Subject > &subject, const authorization::Action &action)=0
Creates an ObjectApprover which can synchronously check authorization on an object.
Object(const std::string &_value)
Definition: authorizer.hpp:61
This interface is used to enable an identity service or any other back end to check authorization pol...
Definition: authorizer.hpp:243
const FrameworkInfo * framework_info
Definition: authorizer.hpp:204
Object(const ExecutorInfo &_executor_info, const FrameworkInfo &_framework_info)
Definition: authorizer.hpp:113
Object(const Task &_task, const FrameworkInfo &_framework_info)
Definition: authorizer.hpp:140
Object(const ContainerID &_container_id)
Definition: authorizer.hpp:74
virtual process::Future< bool > authorized(const authorization::Request &request)=0
Checks with the identity server back end whether request is allowed by the policies of the identity s...
const quota::QuotaInfo * quota_info
Definition: authorizer.hpp:208
Object()
Definition: authorizer.hpp:48
virtual ~Authorizer()
Definition: authorizer.hpp:269
const Task * task
Definition: authorizer.hpp:205
const TaskInfo * task_info
Definition: authorizer.hpp:206
This interface represents a function object returned by the authorizer which can be used locally (and...
Definition: authorizer.hpp:40
Object(const TaskInfo &_task_info, const FrameworkInfo &_framework_info)
Definition: authorizer.hpp:127
const ContainerID * container_id
Definition: authorizer.hpp:212
const WeightInfo * weight_info
Definition: authorizer.hpp:209
constexpr const char * name
Definition: shell.hpp:41
Authorizer()
Definition: authorizer.hpp:306
const ExecutorInfo * executor_info
Definition: authorizer.hpp:207