in src/prod/src/query/QuerySpecification.cpp [13:998]
vector<QuerySpecificationSPtr> QuerySpecification::CreateSpecifications()
{
vector<QuerySpecificationSPtr> resultSPtr;
resultSPtr.reserve(QueryNames::LAST_QUERY_PLUS_ONE);
//
// QueryName enum is a sequentially increasing enum.
//
for (auto queryName = (QueryNames::Enum)(QueryNames::FIRST_QUERY_MINUS_ONE + 1);
queryName < QueryNames::LAST_QUERY_PLUS_ONE;
queryName = (QueryNames::Enum)(queryName+1))
{
switch (queryName)
{
case QueryNames::GetQueries:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
queryName,
Query::QueryAddresses::GetGateway()));
break;
}
case QueryNames::GetApplicationList:
{
resultSPtr.push_back(make_shared<GetApplicationListQuerySpecification>());
break;
}
case QueryNames::GetApplicationTypeList:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
queryName,
Query::QueryAddresses::GetCM(),
QueryArgument(Query::QueryResourceProperties::ApplicationType::ApplicationTypeName, false)));
break;
}
case QueryNames::GetApplicationTypePagedList:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
queryName,
Query::QueryAddresses::GetCM(),
QueryArgument(Query::QueryResourceProperties::ApplicationType::ApplicationTypeName, false),
QueryArgument(Query::QueryResourceProperties::ApplicationType::ApplicationTypeVersion, false),
QueryArgument(Query::QueryResourceProperties::Deployment::ApplicationTypeDefinitionKindFilter, false),
QueryArgument(Query::QueryResourceProperties::QueryMetadata::ExcludeApplicationParameters, false),
QueryArgument(Query::QueryResourceProperties::QueryMetadata::ContinuationToken, false),
QueryArgument(Query::QueryResourceProperties::QueryMetadata::MaxResults, false)));
break;
}
case QueryNames::GetNodeList:
{
auto tempResults = GetNodeListQuerySpecification::CreateSpecifications();
for (auto it = tempResults.begin(); it != tempResults.end(); ++it)
{
resultSPtr.push_back(move(*it));
}
break;
}
case QueryNames::GetApplicationServiceList:
{
auto tempResults = move(GetApplicationServiceListQuerySpecification::CreateSpecifications());
for (auto it = tempResults.begin(); it != tempResults.end(); ++it)
{
resultSPtr.push_back(move(*it));
}
break;
}
case QueryNames::GetApplicationServiceGroupMemberList:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
queryName,
Query::QueryAddresses::GetFM(),
QueryArgument(QueryResourceProperties::Application::ApplicationName, false),
QueryArgument(Query::QueryResourceProperties::Service::ServiceName, false)));
break;
}
case QueryNames::GetServiceTypeList:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
queryName,
Query::QueryAddresses::GetCM(),
QueryArgument(Query::QueryResourceProperties::ApplicationType::ApplicationTypeName, true),
QueryArgument(Query::QueryResourceProperties::ApplicationType::ApplicationTypeVersion, true),
QueryArgument(Query::QueryResourceProperties::ServiceType::ServiceTypeName, false)));
break;
}
case QueryNames::GetServiceGroupMemberTypeList:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
queryName,
Query::QueryAddresses::GetCM(),
QueryArgument(Query::QueryResourceProperties::ApplicationType::ApplicationTypeName, true),
QueryArgument(Query::QueryResourceProperties::ApplicationType::ApplicationTypeVersion, true),
QueryArgument(Query::QueryResourceProperties::ServiceType::ServiceGroupTypeName, false)));
break;
}
case QueryNames::GetSystemServicesList:
{
resultSPtr.push_back(make_shared<GetSystemServiceListQuerySpecification>());
break;
}
case QueryNames::GetServicePartitionList:
{
auto tempResults = move(GetServicePartitionListQuerySpecification::CreateSpecifications());
for (auto it = tempResults.begin(); it != tempResults.end(); ++it)
{
resultSPtr.push_back(move(*it));
}
break;
}
case QueryNames::GetServicePartitionReplicaList:
{
auto tempResults = move(GetServicePartitionReplicaListQuerySpecification::CreateSpecifications());
for (auto it = tempResults.begin(); it != tempResults.end(); ++it)
{
resultSPtr.push_back(move(*it));
}
break;
}
case QueryNames::GetNodeHealth:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
queryName,
Query::QueryAddresses::GetHM(),
QueryArgument(Query::QueryResourceProperties::Node::Id, true, L"id"),
QueryArgument(Query::QueryResourceProperties::Node::Name, true, L"name"),
QueryArgument(Query::QueryResourceProperties::Health::ClusterHealthPolicy, false),
QueryArgument(Query::QueryResourceProperties::Health::EventsFilter, false)));
break;
}
case QueryNames::GetServicePartitionHealth:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
queryName,
Query::QueryAddresses::GetHM(),
QueryArgument(Query::QueryResourceProperties::Partition::PartitionId),
QueryArgument(Query::QueryResourceProperties::Health::ApplicationHealthPolicy, false),
QueryArgument(Query::QueryResourceProperties::Health::EventsFilter, false),
QueryArgument(Query::QueryResourceProperties::Health::HealthStatsFilter, false),
QueryArgument(Query::QueryResourceProperties::Health::ReplicasFilter, false)));
break;
}
case QueryNames::GetServicePartitionReplicaHealth:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
queryName,
Query::QueryAddresses::GetHM(),
QueryArgument(Query::QueryResourceProperties::Partition::PartitionId),
QueryArgument(Query::QueryResourceProperties::Replica::ReplicaId),
QueryArgument(Query::QueryResourceProperties::Health::ApplicationHealthPolicy, false),
QueryArgument(Query::QueryResourceProperties::Health::EventsFilter, false)));
break;
}
case QueryNames::GetPartitionLoadInformation:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
queryName,
Query::QueryAddresses::GetFM(),
QueryArgument(Query::QueryResourceProperties::Partition::PartitionId)));
break;
}
case QueryNames::GetServiceHealth:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
queryName,
Query::QueryAddresses::GetHM(),
QueryArgument(Query::QueryResourceProperties::Service::ServiceName),
QueryArgument(Query::QueryResourceProperties::Health::ApplicationHealthPolicy, false),
QueryArgument(Query::QueryResourceProperties::Health::EventsFilter, false),
QueryArgument(Query::QueryResourceProperties::Health::HealthStatsFilter, false),
QueryArgument(Query::QueryResourceProperties::Health::PartitionsFilter, false)));
break;
}
case QueryNames::GetApplicationHealth:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
queryName,
Query::QueryAddresses::GetHM(),
QueryArgument(Query::QueryResourceProperties::Application::ApplicationName),
QueryArgument(Query::QueryResourceProperties::Health::ApplicationHealthPolicy, false),
QueryArgument(Query::QueryResourceProperties::Health::EventsFilter, false),
QueryArgument(Query::QueryResourceProperties::Health::ServicesFilter, false),
QueryArgument(Query::QueryResourceProperties::Health::HealthStatsFilter, false),
QueryArgument(Query::QueryResourceProperties::Health::DeployedApplicationsFilter, false)));
break;
}
case QueryNames::GetClusterHealth:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
queryName,
Query::QueryAddresses::GetHM(),
QueryArgument(Query::QueryResourceProperties::Health::ClusterHealthPolicy, false),
QueryArgument(Query::QueryResourceProperties::Health::ApplicationHealthPolicyMap, false),
QueryArgument(Query::QueryResourceProperties::Health::EventsFilter, false),
QueryArgument(Query::QueryResourceProperties::Health::NodesFilter, false),
QueryArgument(Query::QueryResourceProperties::Health::HealthStatsFilter, false),
QueryArgument(Query::QueryResourceProperties::Health::ApplicationsFilter, false)));
break;
}
case QueryNames::GetDeployedApplicationHealth:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
queryName,
Query::QueryAddresses::GetHM(),
QueryArgument(Query::QueryResourceProperties::Application::ApplicationName),
QueryArgument(Query::QueryResourceProperties::Node::Id, true, L"id"),
QueryArgument(Query::QueryResourceProperties::Node::Name, true, L"name"),
QueryArgument(Query::QueryResourceProperties::Health::ApplicationHealthPolicy, false),
QueryArgument(Query::QueryResourceProperties::Health::EventsFilter, false),
QueryArgument(Query::QueryResourceProperties::Health::HealthStatsFilter, false),
QueryArgument(Query::QueryResourceProperties::Health::DeployedServicePackagesFilter, false)));
break;
}
case QueryNames::GetDeployedServicePackageHealth:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
queryName,
Query::QueryAddresses::GetHM(),
QueryArgument(Query::QueryResourceProperties::Application::ApplicationName),
QueryArgument(Query::QueryResourceProperties::ServicePackage::ServiceManifestName),
QueryArgument(Query::QueryResourceProperties::Node::Id, true, L"id"),
QueryArgument(Query::QueryResourceProperties::Node::Name, true, L"name"),
QueryArgument(Query::QueryResourceProperties::Health::ApplicationHealthPolicy, false),
QueryArgument(Query::QueryResourceProperties::Health::EventsFilter, false),
QueryArgument(Query::QueryResourceProperties::ServicePackage::ServicePackageActivationId, false)));
break;
}
case QueryNames::GetAggregatedNodeHealthList:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
queryName,
Query::QueryAddresses::GetHM(),
QueryArgument(Query::QueryResourceProperties::Node::Name, false),
QueryArgument(Query::QueryResourceProperties::Health::ClusterHealthPolicy, false),
QueryArgument(Query::QueryResourceProperties::QueryMetadata::ContinuationToken, false)));
break;
}
case QueryNames::GetAggregatedDeployedApplicationHealthList:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
queryName,
Query::QueryAddresses::GetHM(),
QueryArgument(Query::QueryResourceProperties::Application::ApplicationName, true),
QueryArgument(Query::QueryResourceProperties::Health::ApplicationHealthPolicy, false)));
break;
}
case QueryNames::GetAggregatedDeployedApplicationsOnNodeHealthPagedList:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
queryName,
Query::QueryAddresses::GetHM(),
QueryArgument(Query::QueryResourceProperties::Node::Name, true),
QueryArgument(Query::QueryResourceProperties::Application::ApplicationName, false),
QueryArgument(Query::QueryResourceProperties::QueryMetadata::MaxResults, false),
QueryArgument(Query::QueryResourceProperties::QueryMetadata::ContinuationToken, false)));
break;
}
case QueryNames::GetAggregatedDeployedServicePackageHealthList:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
queryName,
Query::QueryAddresses::GetHM(),
QueryArgument(Query::QueryResourceProperties::Node::Id, false),
QueryArgument(Query::QueryResourceProperties::Node::Name, false),
QueryArgument(Query::QueryResourceProperties::Application::ApplicationName, true),
QueryArgument(Query::QueryResourceProperties::Health::ApplicationHealthPolicy, false)));
break;
}
case QueryNames::GetAggregatedServicePartitionReplicaHealthList:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
queryName,
Query::QueryAddresses::GetHM(),
QueryArgument(Query::QueryResourceProperties::Partition::PartitionId, true),
QueryArgument(Query::QueryResourceProperties::Replica::ReplicaId, false),
QueryArgument(Query::QueryResourceProperties::Replica::InstanceId, false),
QueryArgument(Query::QueryResourceProperties::Health::ApplicationHealthPolicy, false),
QueryArgument(Query::QueryResourceProperties::QueryMetadata::ContinuationToken, false)));
break;
}
case QueryNames::GetAggregatedServicePartitionHealthList:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
queryName,
Query::QueryAddresses::GetHM(),
QueryArgument(Query::QueryResourceProperties::Service::ServiceName, false),
QueryArgument(Query::QueryResourceProperties::Partition::PartitionId, false),
QueryArgument(Query::QueryResourceProperties::Health::ApplicationHealthPolicy, false),
QueryArgument(Query::QueryResourceProperties::QueryMetadata::ContinuationToken, false)));
break;
}
case QueryNames::GetAggregatedServiceHealthList:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
queryName,
Query::QueryAddresses::GetHM(),
QueryArgument(Query::QueryResourceProperties::Application::ApplicationName, true),
QueryArgument(Query::QueryResourceProperties::Service::ServiceName, false),
QueryArgument(Query::QueryResourceProperties::ServiceType::ServiceTypeName, false),
QueryArgument(Query::QueryResourceProperties::Health::ApplicationHealthPolicy, false),
QueryArgument(Query::QueryResourceProperties::QueryMetadata::ContinuationToken, false)));
break;
}
case QueryNames::GetClusterHealthChunk:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
queryName,
Query::QueryAddresses::GetHM(),
QueryArgument(Query::QueryResourceProperties::Health::ClusterHealthPolicy, false),
QueryArgument(Query::QueryResourceProperties::Health::ApplicationHealthPolicyMap, false),
QueryArgument(Query::QueryResourceProperties::Health::NodeFilters, false),
QueryArgument(Query::QueryResourceProperties::Health::ApplicationFilters, false)));
break;
}
case QueryNames::GetAggregatedApplicationHealthList:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
queryName,
Query::QueryAddresses::GetHM(),
QueryArgument(Query::QueryResourceProperties::Application::ApplicationName, false),
QueryArgument(Query::QueryResourceProperties::ApplicationType::ApplicationTypeName, false),
QueryArgument(Query::QueryResourceProperties::Deployment::ApplicationDefinitionKindFilter, false),
QueryArgument(Query::QueryResourceProperties::QueryMetadata::ContinuationToken, false)));
break;
}
case QueryNames::GetApplicationManifest:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
queryName,
Query::QueryAddresses::GetCM(),
QueryArgument(Query::QueryResourceProperties::ApplicationType::ApplicationTypeName, true),
QueryArgument(Query::QueryResourceProperties::ApplicationType::ApplicationTypeVersion, true)));
break;
}
case QueryNames::GetClusterManifest:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
queryName,
Query::QueryAddresses::GetCM(),
QueryArgument(Query::QueryResourceProperties::Cluster::ConfigVersionFilter, false)));
break;
}
case QueryNames::GetClusterVersion:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
queryName,
Query::QueryAddresses::GetCM()));
break;
}
case QueryNames::GetApplicationListDeployedOnNode:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
queryName,
Query::QueryAddresses::GetHosting(),
QueryArgument(Query::QueryResourceProperties::Node::Name, true),
QueryArgument(Query::QueryResourceProperties::Application::ApplicationName, false)));
break;
}
case QueryNames::GetApplicationPagedListDeployedOnNode:
{
auto tempResults = move(GetApplicationPagedListDeployedOnNodeQuerySpecification::CreateSpecifications());
for (auto it = tempResults.begin(); it != tempResults.end(); ++it)
{
resultSPtr.push_back(move(*it));
}
break;
}
case QueryNames::GetServiceManifest:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
queryName,
Query::QueryAddresses::GetCM(),
QueryArgument(Query::QueryResourceProperties::ApplicationType::ApplicationTypeName, true),
QueryArgument(Query::QueryResourceProperties::ApplicationType::ApplicationTypeVersion, true),
QueryArgument(Query::QueryResourceProperties::ServiceManifest::ServiceManifestName, true)));
break;
}
case QueryNames::GetServiceManifestListDeployedOnNode:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
queryName,
Query::QueryAddresses::GetHosting(),
QueryArgument(Query::QueryResourceProperties::Node::Name, true),
QueryArgument(Query::QueryResourceProperties::Application::ApplicationName, true),
QueryArgument(Query::QueryResourceProperties::ServiceType::ServiceManifestName, false)));
break;
}
case QueryNames::GetServiceTypeListDeployedOnNode:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
queryName,
Query::QueryAddresses::GetHosting(),
QueryArgument(Query::QueryResourceProperties::Node::Name, true),
QueryArgument(Query::QueryResourceProperties::Application::ApplicationName, true),
QueryArgument(Query::QueryResourceProperties::ServiceType::ServiceManifestName, false),
QueryArgument(Query::QueryResourceProperties::ServiceType::ServiceTypeName, false)));
break;
}
case QueryNames::GetCodePackageListDeployedOnNode:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
queryName,
Query::QueryAddresses::GetHosting(),
QueryArgument(Query::QueryResourceProperties::Node::Name, true),
QueryArgument(Query::QueryResourceProperties::Application::ApplicationName, true),
QueryArgument(Query::QueryResourceProperties::ServiceType::ServiceManifestName, false),
QueryArgument(Query::QueryResourceProperties::CodePackage::CodePackageName, false)));
break;
}
case QueryNames::GetServiceReplicaListDeployedOnNode:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
queryName,
Query::QueryAddresses::GetRA(),
QueryArgument(Query::QueryResourceProperties::Node::Name, true),
QueryArgument(Query::QueryResourceProperties::Application::ApplicationName, true),
QueryArgument(Query::QueryResourceProperties::ServiceType::ServiceManifestName, false),
QueryArgument(Query::QueryResourceProperties::Partition::PartitionId, false)));
break;
}
case QueryNames::AddUnreliableTransportBehavior:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
queryName,
Query::QueryAddresses::GetHosting(),
QueryArgument(Query::QueryResourceProperties::Node::Name, true),
QueryArgument(Query::QueryResourceProperties::UnreliableTransportBehavior::Name, true),
QueryArgument(Query::QueryResourceProperties::UnreliableTransportBehavior::Behavior, true)));
break;
}
case QueryNames::RemoveUnreliableTransportBehavior:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
queryName,
Query::QueryAddresses::GetHosting(),
QueryArgument(Query::QueryResourceProperties::Node::Name, true),
QueryArgument(Query::QueryResourceProperties::UnreliableTransportBehavior::Name, true)));
break;
}
case QueryNames::AddUnreliableLeaseBehavior:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
queryName,
Query::QueryAddresses::GetTestability(),
QueryArgument(Query::QueryResourceProperties::Node::Name, true),
QueryArgument(Query::QueryResourceProperties::UnreliableLeaseBehavior::Alias, true),
QueryArgument(Query::QueryResourceProperties::UnreliableLeaseBehavior::Behavior, true)));
break;
}
case QueryNames::RemoveUnreliableLeaseBehavior:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
queryName,
Query::QueryAddresses::GetTestability(),
QueryArgument(Query::QueryResourceProperties::Node::Name, true),
QueryArgument(Query::QueryResourceProperties::UnreliableLeaseBehavior::Alias, true)));
break;
}
case QueryNames::GetTransportBehaviors:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
queryName,
Query::QueryAddresses::GetTestability(),
QueryArgument(Query::QueryResourceProperties::Node::Name, true)));
break;
}
case QueryNames::StopNode:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
queryName,
Query::QueryAddresses::GetHosting(),
QueryArgument(Query::QueryResourceProperties::Node::Name, true),
QueryArgument(Query::QueryResourceProperties::Node::InstanceId, true),
QueryArgument(Query::QueryResourceProperties::Node::Restart, true),
QueryArgument(Query::QueryResourceProperties::Node::CreateFabricDump, false),
QueryArgument(Query::QueryResourceProperties::Node::StopDurationInSeconds, false)));
break;
}
case QueryNames::RestartDeployedCodePackage:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
queryName,
Query::QueryAddresses::GetHosting(),
QueryArgument(Query::QueryResourceProperties::Node::Name, true),
QueryArgument(Query::QueryResourceProperties::Application::ApplicationName, true),
QueryArgument(Query::QueryResourceProperties::ServiceManifest::ServiceManifestName, true),
QueryArgument(Query::QueryResourceProperties::CodePackage::CodePackageName, true),
QueryArgument(Query::QueryResourceProperties::CodePackage::InstanceId, true),
QueryArgument(Query::QueryResourceProperties::ServicePackage::ServicePackageActivationId, false)));
break;
}
case QueryNames::GetContainerInfoDeployedOnNode:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
queryName,
Query::QueryAddresses::GetHosting(),
QueryArgument(Query::QueryResourceProperties::Node::Name, true),
QueryArgument(Query::QueryResourceProperties::Application::ApplicationName, true),
QueryArgument(Query::QueryResourceProperties::ServiceManifest::ServiceManifestName, true),
QueryArgument(Query::QueryResourceProperties::CodePackage::CodePackageName, true),
QueryArgument(Query::QueryResourceProperties::ContainerInfo::InfoTypeFilter, true),
QueryArgument(Query::QueryResourceProperties::ContainerInfo::InfoArgsFilter, false)));
break;
}
case QueryNames::InvokeContainerApiOnNode:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
queryName,
Query::QueryAddresses::GetHosting(),
QueryArgument(Query::QueryResourceProperties::Node::Name, true),
QueryArgument(Query::QueryResourceProperties::Application::ApplicationName, true),
QueryArgument(Query::QueryResourceProperties::ServiceManifest::ServiceManifestName, true),
QueryArgument(Query::QueryResourceProperties::CodePackage::CodePackageName, true),
QueryArgument(Query::QueryResourceProperties::CodePackage::InstanceId, true),
QueryArgument(Query::QueryResourceProperties::ContainerInfo::InfoArgsFilter, true)));
break;
}
case QueryNames::GetInfrastructureTask:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
queryName,
Query::QueryAddresses::GetCM()));
break;
}
case QueryNames::GetDeployedServiceReplicaDetail:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
queryName,
Query::QueryAddresses::GetRA(),
QueryArgument(Query::QueryResourceProperties::Node::Name, true),
QueryArgument(Query::QueryResourceProperties::Partition::PartitionId, true),
QueryArgument(Query::QueryResourceProperties::Replica::ReplicaId, true)));
break;
}
case QueryNames::GetRepairList:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
queryName,
Query::QueryAddresses::GetRM(),
QueryArgument(Query::QueryResourceProperties::Repair::Scope, true),
QueryArgument(Query::QueryResourceProperties::Repair::TaskIdPrefix, true),
QueryArgument(Query::QueryResourceProperties::Repair::StateMask, true),
QueryArgument(Query::QueryResourceProperties::Repair::ExecutorName, true)));
break;
}
case QueryNames::GetClusterLoadInformation:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
QueryNames::GetClusterLoadInformation,
Query::QueryAddresses::GetFM()));
break;
}
case QueryNames::GetProvisionedFabricCodeVersionList:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
queryName,
Query::QueryAddresses::GetCM(),
QueryArgument(Query::QueryResourceProperties::Cluster::CodeVersionFilter, false)));
break;
}
case QueryNames::GetProvisionedFabricConfigVersionList:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
queryName,
Query::QueryAddresses::GetCM(),
QueryArgument(Query::QueryResourceProperties::Cluster::ConfigVersionFilter, false)));
break;
}
case QueryNames::GetDeletedApplicationsList:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
queryName,
Query::QueryAddresses::GetCM(),
QueryArgument(Query::QueryResourceProperties::Application::ApplicationIds, true)));
break;
}
case QueryNames::DeployServicePackageToNode:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
queryName,
Query::QueryAddresses::GetHosting(),
QueryArgument(Query::QueryResourceProperties::Node::Name, true),
QueryArgument(Query::QueryResourceProperties::ApplicationType::ApplicationTypeName, true),
QueryArgument(Query::QueryResourceProperties::ApplicationType::ApplicationTypeVersion, true),
QueryArgument(Query::QueryResourceProperties::ServiceManifest::ServiceManifestName, true),
QueryArgument(Query::QueryResourceProperties::ServiceType::ServicePackageSharingScope, false),
QueryArgument(Query::QueryResourceProperties::ServiceType::SharedPackages, false)));
break;
}
case QueryNames::GetProvisionedApplicationTypePackages:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
queryName,
Query::QueryAddresses::GetCM(),
QueryArgument(Query::QueryResourceProperties::ApplicationType::ApplicationTypeName, true)));
break;
}
case QueryNames::GetFMNodeList:
{
auto specification = make_shared<QuerySpecification>(
QueryNames::GetNodeList,
Query::QueryAddresses::GetFM(),
QueryArgument(Query::QueryResourceProperties::Node::Name, false));
specification->querySpecificationId_ = QueryNames::ToString(queryName);
resultSPtr.push_back(move(specification));
break;
}
case QueryNames::GetNodeLoadInformation:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
QueryNames::GetNodeLoadInformation,
Query::QueryAddresses::GetFM(),
QueryArgument(Query::QueryResourceProperties::Node::Name)));
break;
}
case QueryNames::GetReplicaLoadInformation:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
queryName,
Query::QueryAddresses::GetFM(),
QueryArgument(Query::QueryResourceProperties::Partition::PartitionId),
QueryArgument(Query::QueryResourceProperties::Replica::ReplicaId)));
break;
}
case QueryNames::GetUnplacedReplicaInformation:
{
auto specification = make_shared<QuerySpecification>(
queryName,
Query::QueryAddresses::GetFM(),
QueryArgument(QueryResourceProperties::Service::ServiceName, true),
QueryArgument(Query::QueryResourceProperties::Partition::PartitionId, false),
QueryArgument(QueryResourceProperties::QueryMetadata::OnlyQueryPrimaries, false));
specification->querySpecificationId_ = MAKE_QUERY_SPEC_ID(QueryNames::ToString(QueryNames::GetUnplacedReplicaInformation), L"/FM");
resultSPtr.push_back(move(specification));
specification = make_shared<QuerySpecification>(
queryName,
Query::QueryAddresses::GetFMM(),
QueryArgument(QueryResourceProperties::Service::ServiceName, true),
QueryArgument(Query::QueryResourceProperties::Partition::PartitionId, false),
QueryArgument(QueryResourceProperties::QueryMetadata::OnlyQueryPrimaries, false));
specification->querySpecificationId_ = MAKE_QUERY_SPEC_ID(QueryNames::ToString(QueryNames::GetUnplacedReplicaInformation), L"/FMM");
resultSPtr.push_back(move(specification));
break;
}
case QueryNames::MovePrimary:
{
auto specification = make_shared<QuerySpecification>(
QueryNames::MovePrimary,
Query::QueryAddresses::GetFM(),
QueryArgument(Query::QueryResourceProperties::Node::Name, false),
QueryArgument(Query::QueryResourceProperties::Partition::PartitionId, true),
QueryArgument(QueryResourceProperties::QueryMetadata::ForceMove, false));
specification->querySpecificationId_ = MAKE_QUERY_SPEC_ID(QueryNames::ToString(QueryNames::MovePrimary), L"/FM");
resultSPtr.push_back(move(specification));
specification = make_shared<QuerySpecification>(
QueryNames::MovePrimary,
Query::QueryAddresses::GetFMM(),
QueryArgument(Query::QueryResourceProperties::Node::Name, false),
QueryArgument(Query::QueryResourceProperties::Partition::PartitionId, true),
QueryArgument(QueryResourceProperties::QueryMetadata::ForceMove, false));
specification->querySpecificationId_ = MAKE_QUERY_SPEC_ID(QueryNames::ToString(QueryNames::MovePrimary), L"/FMM");
resultSPtr.push_back(move(specification));
break;
}
case QueryNames::MoveSecondary:
{
auto specification = make_shared<QuerySpecification>(
QueryNames::MoveSecondary,
Query::QueryAddresses::GetFM(),
QueryArgument(Query::QueryResourceProperties::Node::CurrentNodeName, true),
QueryArgument(Query::QueryResourceProperties::Node::NewNodeName, false),
QueryArgument(Query::QueryResourceProperties::Partition::PartitionId, true),
QueryArgument(QueryResourceProperties::QueryMetadata::ForceMove, false));
specification->querySpecificationId_ = MAKE_QUERY_SPEC_ID(QueryNames::ToString(QueryNames::MoveSecondary), L"/FM");
resultSPtr.push_back(move(specification));
specification = make_shared<QuerySpecification>(
QueryNames::MoveSecondary,
Query::QueryAddresses::GetFMM(),
QueryArgument(Query::QueryResourceProperties::Node::CurrentNodeName, true),
QueryArgument(Query::QueryResourceProperties::Node::NewNodeName, false),
QueryArgument(Query::QueryResourceProperties::Partition::PartitionId, true),
QueryArgument(QueryResourceProperties::QueryMetadata::ForceMove, false));
specification->querySpecificationId_ = MAKE_QUERY_SPEC_ID(QueryNames::ToString(QueryNames::MoveSecondary), L"/FMM");
resultSPtr.push_back(move(specification));
break;
}
case QueryNames::GetApplicationLoadInformation:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
QueryNames::GetApplicationLoadInformation,
Query::QueryAddresses::GetFM(),
QueryArgument(Query::QueryResourceProperties::Application::ApplicationName)));
break;
}
case QueryNames::GetTestCommandList:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
QueryNames::GetTestCommandList,
Query::QueryAddresses::GetTS(),
QueryArgument(Query::QueryResourceProperties::Action::StateFilter),
QueryArgument(Query::QueryResourceProperties::Action::TypeFilter)));
break;
}
case QueryNames::GetClusterConfiguration:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
queryName,
Query::QueryAddresses::GetUOS()));
break;
}
case QueryNames::GetServiceName:
{
auto specification = make_shared<QuerySpecification>(
QueryNames::GetServiceName,
Query::QueryAddresses::GetFM(),
QueryArgument(Query::QueryResourceProperties::Partition::PartitionId));
specification->querySpecificationId_ = MAKE_QUERY_SPEC_ID(QueryNames::ToString(QueryNames::GetServiceName), L"/FM");
resultSPtr.push_back(move(specification));
specification = make_shared<QuerySpecification>(
QueryNames::GetServiceName,
Query::QueryAddresses::GetFMM(),
QueryArgument(Query::QueryResourceProperties::Partition::PartitionId));
specification->querySpecificationId_ = MAKE_QUERY_SPEC_ID(QueryNames::ToString(QueryNames::GetServiceName), L"/FMM");
resultSPtr.push_back(move(specification));
break;
}
case QueryNames::GetApplicationName:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
QueryNames::GetApplicationName,
Query::QueryAddresses::GetGateway(),
QueryArgument(Query::QueryResourceProperties::Service::ServiceName)));
break;
}
case QueryNames::GetComposeDeploymentStatusList:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
QueryNames::GetComposeDeploymentStatusList,
Query::QueryAddresses::GetCM(),
QueryArgument(Query::QueryResourceProperties::Deployment::DeploymentName, false),
QueryArgument(Query::QueryResourceProperties::Application::ApplicationName, false),
QueryArgument(Query::QueryResourceProperties::QueryMetadata::ContinuationToken, false),
QueryArgument(Query::QueryResourceProperties::QueryMetadata::MaxResults, false)));
break;
}
case QueryNames::GetComposeDeploymentUpgradeProgress:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
QueryNames::GetComposeDeploymentUpgradeProgress,
Query::QueryAddresses::GetCM(),
QueryArgument(Query::QueryResourceProperties::Deployment::DeploymentName)));
break;
}
case QueryNames::GetDeployedCodePackageListByApplication:
{
// No-op: GetDeployedCodePackageParallelQuerySpecification's QuerySpecification list is dynamic, need not save in the store as a singleton copy.
break;
}
case QueryNames::GetReplicaListByServiceNames:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
QueryNames::GetReplicaListByServiceNames,
Query::QueryAddresses::GetFM(),
QueryArgument(Query::QueryResourceProperties::Service::ServiceNames, true)));
break;
}
case QueryNames::GetApplicationResourceList:
{
resultSPtr.push_back(make_shared<GetApplicationResourceListQuerySpecification>());
break;
}
case QueryNames::GetServiceResourceList:
{
resultSPtr.push_back(make_shared<GetServiceResourceListQuerySpecification>());
break;
}
case QueryNames::GetContainerCodePackageLogs:
{
resultSPtr.push_back(make_shared<GetContainerCodePackageLogsQuerySpecification>());
break;
}
case QueryNames::GetReplicaResourceList:
{
resultSPtr.push_back(make_shared<GetReplicaResourceListQuerySpecification>());
break;
}
case QueryNames::GetApplicationUnhealthyEvaluation:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
queryName,
Query::QueryAddresses::GetHMViaCM(),
QueryArgument(Query::QueryResourceProperties::Application::ApplicationName, false),
QueryArgument(Query::QueryResourceProperties::QueryMetadata::ContinuationToken, false),
QueryArgument(Query::QueryResourceProperties::QueryMetadata::MaxResults, false)));
break;
}
case QueryNames::GetVolumeResourceList:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
queryName,
QueryAddresses::GetCM(),
QueryArgument(Query::QueryResourceProperties::VolumeResource::VolumeName, false),
QueryArgument(Query::QueryResourceProperties::QueryMetadata::ContinuationToken, false),
QueryArgument(Query::QueryResourceProperties::QueryMetadata::MaxResults, false)));
break;
}
case QueryNames::GetGatewayResourceList:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
queryName,
QueryAddresses::GetGRM(),
QueryArgument(Query::QueryResourceProperties::GatewayResource::GatewayName, false),
QueryArgument(Query::QueryResourceProperties::QueryMetadata::ContinuationToken, false),
QueryArgument(Query::QueryResourceProperties::QueryMetadata::MaxResults, false)));
break;
}
case QueryNames::GetNetworkList:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
QueryNames::GetNetworkList,
Query::QueryAddresses::GetFM(),
QueryArgument(Query::QueryResourceProperties::Network::NetworkName, false),
QueryArgument(Query::QueryResourceProperties::Network::NetworkStatusFilter, false),
QueryArgument(Query::QueryResourceProperties::QueryMetadata::ContinuationToken, false),
QueryArgument(Query::QueryResourceProperties::QueryMetadata::MaxResults, false)));
break;
}
case QueryNames::GetNetworkApplicationList:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
QueryNames::GetNetworkApplicationList,
Query::QueryAddresses::GetFM(),
QueryArgument(Query::QueryResourceProperties::Network::NetworkName, true),
QueryArgument(Query::QueryResourceProperties::Application::ApplicationName, false),
QueryArgument(Query::QueryResourceProperties::QueryMetadata::ContinuationToken, false),
QueryArgument(Query::QueryResourceProperties::QueryMetadata::MaxResults, false)));
break;
}
case QueryNames::GetNetworkNodeList:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
QueryNames::GetNetworkNodeList,
Query::QueryAddresses::GetFM(),
QueryArgument(Query::QueryResourceProperties::Network::NetworkName, true),
QueryArgument(Query::QueryResourceProperties::Node::Name, false),
QueryArgument(Query::QueryResourceProperties::QueryMetadata::ContinuationToken, false),
QueryArgument(Query::QueryResourceProperties::QueryMetadata::MaxResults, false)));
break;
}
case QueryNames::GetApplicationNetworkList:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
QueryNames::GetApplicationNetworkList,
Query::QueryAddresses::GetFM(),
QueryArgument(Query::QueryResourceProperties::Application::ApplicationName, true),
QueryArgument(Query::QueryResourceProperties::QueryMetadata::ContinuationToken, false),
QueryArgument(Query::QueryResourceProperties::QueryMetadata::MaxResults, false)));
break;
}
case QueryNames::GetDeployedNetworkList:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
QueryNames::GetDeployedNetworkList,
Query::QueryAddresses::GetHosting(),
QueryArgument(Query::QueryResourceProperties::Node::Name, true),
QueryArgument(Query::QueryResourceProperties::QueryMetadata::ContinuationToken, false),
QueryArgument(Query::QueryResourceProperties::QueryMetadata::MaxResults, false)));
break;
}
case QueryNames::GetDeployedNetworkCodePackageList:
{
resultSPtr.push_back(make_shared<QuerySpecification>(
QueryNames::GetDeployedNetworkCodePackageList,
Query::QueryAddresses::GetHosting(),
QueryArgument(Query::QueryResourceProperties::Node::Name, true),
QueryArgument(Query::QueryResourceProperties::Network::NetworkName, true),
QueryArgument(Query::QueryResourceProperties::Application::ApplicationName, false),
QueryArgument(Query::QueryResourceProperties::ServiceType::ServiceManifestName, false),
QueryArgument(Query::QueryResourceProperties::CodePackage::CodePackageName, false),
QueryArgument(Query::QueryResourceProperties::QueryMetadata::ContinuationToken, false),
QueryArgument(Query::QueryResourceProperties::QueryMetadata::MaxResults, false)));
break;
}
default:
Assert::CodingError("Query specification unknown for query : {0}", queryName);
}
}
return move(resultSPtr);
}