| 2444 | |
| 2445 | |
| 2446 | Future<Response> Http::getResourceProviders( |
| 2447 | const mesos::agent::Call& call, |
| 2448 | ContentType acceptType, |
| 2449 | const Option<Principal>& principal) const |
| 2450 | { |
| 2451 | CHECK_EQ(mesos::agent::Call::GET_RESOURCE_PROVIDERS, call.type()); |
| 2452 | |
| 2453 | LOG(INFO) << "Processing GET_RESOURCE_PROVIDERS call"; |
| 2454 | |
| 2455 | return ObjectApprovers::create( |
| 2456 | slave->authorizer, principal, {VIEW_RESOURCE_PROVIDER}) |
| 2457 | .then(defer( |
| 2458 | slave->self(), |
| 2459 | [this, acceptType]( |
| 2460 | const Owned<ObjectApprovers>& approvers) -> Response { |
| 2461 | agent::Response response; |
| 2462 | response.set_type(mesos::agent::Response::GET_RESOURCE_PROVIDERS); |
| 2463 | |
| 2464 | agent::Response::GetResourceProviders* resourceProviders = |
| 2465 | response.mutable_get_resource_providers(); |
| 2466 | |
| 2467 | foreachvalue ( |
| 2468 | ResourceProvider* resourceProvider, slave->resourceProviders) { |
| 2469 | if (!approvers->approved<VIEW_RESOURCE_PROVIDER>()) { |
| 2470 | continue; |
| 2471 | } |
| 2472 | agent::Response::GetResourceProviders::ResourceProvider* provider = |
| 2473 | resourceProviders->add_resource_providers(); |
| 2474 | |
| 2475 | provider->mutable_resource_provider_info()->CopyFrom( |
| 2476 | resourceProvider->info); |
| 2477 | |
| 2478 | provider->mutable_total_resources()->CopyFrom( |
| 2479 | resourceProvider->totalResources); |
| 2480 | } |
| 2481 | |
| 2482 | return OK( |
| 2483 | serialize(acceptType, evolve(response)), stringify(acceptType)); |
| 2484 | })); |
| 2485 | } |
| 2486 | |
| 2487 | |
| 2488 | Future<Response> Http::getState( |
nothing calls this directly
no test coverage detected