Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add security group and rules filterable list method #981

Merged
merged 1 commit into from
Mar 22, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package org.openstack4j.api.networking;

import java.util.List;
import java.util.Map;

import org.openstack4j.common.RestService;
import org.openstack4j.model.network.SecurityGroupRule;
Expand Down Expand Up @@ -42,5 +43,13 @@ public interface SecurityGroupRuleService extends RestService {
* @return the security group rule
*/
SecurityGroupRule create(SecurityGroupRule rule);

/**
* List security group rules accessible by current Tenant.
* @param filteringParams map (name, value) of filtering parameters
*
* @return the list<? extends security group rules>
*/
List<? extends SecurityGroupRule> list(Map<String, String> filteringParams);

}
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package org.openstack4j.api.networking;

import java.util.List;
import java.util.Map;

import org.openstack4j.api.Builders;
import org.openstack4j.common.RestService;
Expand Down Expand Up @@ -54,4 +55,12 @@ public interface SecurityGroupService extends RestService {
* @return the updated security group
*/
SecurityGroup update(String securityGroupId, SecurityGroupUpdate securityGroupUpdate);

/**
* Get list of security groups accessible by the current tenant
* @param filteringParams map (name, value) of filtering parameters
*
* @return the list<? extends security group>
*/
List<? extends SecurityGroup> list(Map<String, String> filteringParams);
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import static com.google.common.base.Preconditions.checkNotNull;

import java.util.List;
import java.util.Map;

import org.openstack4j.api.networking.SecurityGroupRuleService;
import org.openstack4j.model.network.SecurityGroupRule;
Expand All @@ -15,39 +16,53 @@
* @author Nathan Anderson
*/
public class SecurityGroupRuleServiceImpl extends BaseNetworkingServices implements SecurityGroupRuleService {

/**
* {@inheritDoc}
*/
@Override
public SecurityGroupRule get(String id) {
checkNotNull(id);
return get(NeutronSecurityGroupRule.class, uri("/security-group-rules/%s", id)).execute();
}

/**
* {@inheritDoc}
*/
@Override
public void delete(String ruleId) {
checkNotNull(ruleId);
delete(Void.class, uri("/security-group-rules/%s", ruleId)).execute();
}

/**
* {@inheritDoc}
*/
@Override
public SecurityGroupRule create(SecurityGroupRule rule) {
checkNotNull(rule);
return post(NeutronSecurityGroupRule.class, uri("/security-group-rules")).entity(rule).execute();
}

/**
* {@inheritDoc}
*/
@Override
public List<? extends SecurityGroupRule> list() {
return get(SecurityGroupRules.class, uri("/security-group-rules")).execute().getList();
}

/**
* {@inheritDoc}
*/
@Override
public SecurityGroupRule get(String id) {
checkNotNull(id);
return get(NeutronSecurityGroupRule.class, uri("/security-group-rules/%s", id)).execute();
}

/**
* {@inheritDoc}
*/
@Override
public void delete(String ruleId) {
checkNotNull(ruleId);
delete(Void.class, uri("/security-group-rules/%s", ruleId)).execute();
}

/**
* {@inheritDoc}
*/
@Override
public SecurityGroupRule create(SecurityGroupRule rule) {
checkNotNull(rule);
return post(NeutronSecurityGroupRule.class, uri("/security-group-rules")).entity(rule).execute();
}

/**
* {@inheritDoc}
*/
@Override
public List<? extends SecurityGroupRule> list(Map<String, String> filteringParams) {
Invocation<SecurityGroupRules> securityGroupRulesInvocation = get(SecurityGroupRules.class, "/security-group-rules");
if (filteringParams != null) {
for (Map.Entry<String, String> entry : filteringParams.entrySet()) {
securityGroupRulesInvocation = securityGroupRulesInvocation.param(entry.getKey(), entry.getValue());
}
}
return securityGroupRulesInvocation.execute().getList();
}

/**
* {@inheritDoc}
*/
@Override
public List<? extends SecurityGroupRule> list() {
return get(SecurityGroupRules.class, uri("/security-group-rules")).execute().getList();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import static com.google.common.base.Preconditions.checkNotNull;

import java.util.List;
import java.util.Map;

import org.openstack4j.api.networking.SecurityGroupService;
import org.openstack4j.model.common.ActionResponse;
Expand Down Expand Up @@ -62,4 +63,19 @@ public SecurityGroup update(String securityGroupId, SecurityGroupUpdate security
public List<? extends SecurityGroup> list() {
return get(SecurityGroups.class, uri("/security-groups")).execute().getList();
}


/**
* {@inheritDoc}
*/
@Override
public List<? extends SecurityGroup> list(Map<String, String> filteringParams) {
Invocation<SecurityGroups> securityGroupInvocation = get(SecurityGroups.class, "/security-groups");
if (filteringParams != null) {
for (Map.Entry<String, String> entry : filteringParams.entrySet()) {
securityGroupInvocation = securityGroupInvocation.param(entry.getKey(), entry.getValue());
}
}
return securityGroupInvocation.execute().getList();
}
}