Closed idrabenia closed 9 years ago
Proposed structure:
policySearchCriteria:
{
name: "My Policy",
nameContains: "anti",
where: function(policy) {
return ["My Policy", "Custom Policy"].indexOf(policy.name) > -1;
},
dataCenter: dataCenterCriteria,
dataCenterId: 'de1',
dataCenterName: 'DE1 - Germany (Frankfurt)',
dataCenterNameContains: 'Frankfurt',
//dataCenterWhere: function(dataCenter) {
// return dataCenter.id === 'de1';
//}
}
createPolicyConfig:
{
name: "New Policy",
dataCenter: dataCenterSearchCriteria
}
modifyPolicyConfig:
{
name: "New Policy"
}
policies().create(createPolicyConfig);
policies().delete(policySearchCriteria);
policies().find(policySearchCriteria);
policies().modify(policySearchCriteria, modifyPolicyConfig);
About policies it would be great to think - because we will have multiple types of policies:
Then I propose to use next methods naming:
policies().createAntiAffinity(createPolicyConfig);
policies().deleteAntiAffinity(policySearchCriteria);
policies().findAntiAffinity(policySearchCriteria);
policies().modifyAntiAffinity(policySearchCriteria, modifyPolicyConfig);
@idrabenia Looks great! Thanks!
In this case we cannot implement SearchSupport functionality properly. I think, we should implement separate services for each policy (alert-policies, anti-affinity-policies etc).
ok, you may try to use next approach:
policies().antiAffinity().create(createPolicyConfig);
policies().antiAffinity().delete(policySearchCriteria);
policies().antiAffinity().find(policySearchCriteria);
policies().antiAffinity().modify(policySearchCriteria, modifyPolicyConfig);
It would be great to design set of API calls and structures that will allow to provide possibilities to manage Anti-Affinity Policies.
Proposed set of required to implementation APIs: