Apache Mesos
local.hpp
Go to the documentation of this file.
1 // Licensed to the Apache Software Foundation (ASF) under one
2 // or more contributor license agreements. See the NOTICE file
3 // distributed with this work for additional information
4 // regarding copyright ownership. The ASF licenses this file
5 // to you under the Apache License, Version 2.0 (the
6 // "License"); you may not use this file except in compliance
7 // with the License. You may obtain a copy of the License at
8 //
9 // http://www.apache.org/licenses/LICENSE-2.0
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16 
17 #ifndef __RESOURCE_PROVIDER_LOCAL_HPP__
18 #define __RESOURCE_PROVIDER_LOCAL_HPP__
19 
20 #include <mesos/mesos.hpp>
21 
23 #include <process/http.hpp>
24 #include <process/owned.hpp>
25 
26 #include <stout/error.hpp>
27 #include <stout/option.hpp>
28 #include <stout/try.hpp>
29 
30 namespace mesos {
31 namespace internal {
32 
34 {
35 public:
37  const process::http::URL& url,
38  const std::string& workDir,
39  const ResourceProviderInfo& info,
40  const SlaveID& slaveId,
41  const Option<std::string>& authToken,
42  bool strict);
43 
44  static Option<Error> validate(const ResourceProviderInfo& info);
45 
46  // Returns a principal that contains a 'cid_prefix' claim based on the type
47  // and name of the resource provider. The resource provider can only launch
48  // standalone containers whose ID is prefixed by the value of 'cid_prefix'.
49  // TODO(chhsiao): We should move this to a utility function.
51  const ResourceProviderInfo& info);
52 
53  virtual ~LocalResourceProvider() = default;
54 };
55 
56 } // namespace internal {
57 } // namespace mesos {
58 
59 #endif // __RESOURCE_PROVIDER_LOCAL_HPP__
Definition: check.hpp:33
static process::http::authentication::Principal principal(const ResourceProviderInfo &info)
static Option< Error > validate(const ResourceProviderInfo &info)
Definition: http.hpp:130
Definition: agent.hpp:25
Definition: attributes.hpp:24
Contains information associated with an authenticated principal.
Definition: authenticator.hpp:41
static Try< process::Owned< LocalResourceProvider > > create(const process::http::URL &url, const std::string &workDir, const ResourceProviderInfo &info, const SlaveID &slaveId, const Option< std::string > &authToken, bool strict)