Package org.jclouds.cloudstack.features
Interface SecurityGroupApi
public interface SecurityGroupApi
Provides synchronous access to cloudstack via their REST API.
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionauthorizeIngressICMPToCIDRs
(String securityGroupId, int ICMPCode, int ICMPType, Iterable<String> cidrList, AccountInDomainOptions... options) Authorizes a particular ICMP ingress rule for this security groupauthorizeIngressICMPToSecurityGroups
(String securityGroupId, int ICMPCode, int ICMPType, com.google.common.collect.Multimap<String, String> accountToGroup, AccountInDomainOptions... options) Authorizes a particular ICMP ingress rule for this security groupauthorizeIngressPortsToCIDRs
(String securityGroupId, String protocol, int startPort, int endPort, Iterable<String> cidrList, AccountInDomainOptions... options) Authorizes a particular TCP or UDP ingress rule for this security groupauthorizeIngressPortsToSecurityGroups
(String securityGroupId, String protocol, int startPort, int endPort, com.google.common.collect.Multimap<String, String> accountToGroup, AccountInDomainOptions... options) Authorizes a particular TCP or UDP ingress rule for this security groupcreateSecurityGroup
(String name) Creates a security groupvoid
delete a specific security group by idget a specific security group by idgetSecurityGroupByName
(String securityGroupName) get a specific security group by namelistSecurityGroups
(ListSecurityGroupsOptions... options) Lists security groupsrevokeIngressRule
(String id, AccountInDomainOptions... options) Deletes a particular ingress rule from this security group
-
Method Details
-
listSecurityGroups
@Named("listSecurityGroups") @GET @Consumes("application/json") Set<SecurityGroup> listSecurityGroups(ListSecurityGroupsOptions... options) Lists security groups- Parameters:
options
- if present, how to constrain the list.- Returns:
- security groups matching query, or empty set, if no security groups are found
-
getSecurityGroup
@Named("listSecurityGroups") @GET @Consumes("application/json") SecurityGroup getSecurityGroup(@QueryParam("id") String id) get a specific security group by id- Parameters:
id
- group to get- Returns:
- security group or null if not found
-
getSecurityGroupByName
@Named("listSecurityGroups") @GET @Consumes("application/json") SecurityGroup getSecurityGroupByName(@QueryParam("securitygroupname") String securityGroupName) get a specific security group by name- Parameters:
securityGroupName
- group to get- Returns:
- security group or null if not found
-
createSecurityGroup
@Named("createSecurityGroup") @GET @Consumes("application/json") SecurityGroup createSecurityGroup(@QueryParam("name") String name) Creates a security group- Parameters:
name
- name of the security group- Returns:
- security group
-
authorizeIngressPortsToCIDRs
@Named("authorizeSecurityGroupIngress") @GET @Consumes("application/json") String authorizeIngressPortsToCIDRs(@QueryParam("securitygroupid") String securityGroupId, @QueryParam("protocol") String protocol, @QueryParam("startport") int startPort, @QueryParam("endport") int endPort, Iterable<String> cidrList, AccountInDomainOptions... options) Authorizes a particular TCP or UDP ingress rule for this security group- Parameters:
securityGroupId
- The ID of the security groupprotocol
- tcp or udpstartPort
- start port for this ingress ruleendPort
- end port for this ingress rulecidrList
- the cidr list associated- Returns:
- response relating to the creation of this ingress rule
-
authorizeIngressPortsToSecurityGroups
@Named("authorizeSecurityGroupIngress") @GET @Consumes("application/json") String authorizeIngressPortsToSecurityGroups(@QueryParam("securitygroupid") String securityGroupId, @QueryParam("protocol") String protocol, @QueryParam("startport") int startPort, @QueryParam("endport") int endPort, com.google.common.collect.Multimap<String, String> accountToGroup, AccountInDomainOptions... options) Authorizes a particular TCP or UDP ingress rule for this security group- Parameters:
securityGroupId
- The ID of the security groupprotocol
- tcp or udpstartPort
- start port for this ingress ruleendPort
- end port for this ingress ruleaccountToGroup
- mapping of account names to security groups you wish to authorize- Returns:
- response relating to the creation of this ingress rule
-
authorizeIngressICMPToCIDRs
@Named("authorizeSecurityGroupIngress") @GET @Consumes("application/json") String authorizeIngressICMPToCIDRs(@QueryParam("securitygroupid") String securityGroupId, @QueryParam("icmpcode") int ICMPCode, @QueryParam("icmptype") int ICMPType, Iterable<String> cidrList, AccountInDomainOptions... options) Authorizes a particular ICMP ingress rule for this security group- Parameters:
securityGroupId
- The ID of the security groupICMPCode
- type of the icmp message being sentICMPType
- error code for this icmp messagecidrList
- the cidr list associated- Returns:
- response relating to the creation of this ingress rule
-
authorizeIngressICMPToSecurityGroups
@Named("authorizeSecurityGroupIngress") @GET @Consumes("application/json") String authorizeIngressICMPToSecurityGroups(@QueryParam("securitygroupid") String securityGroupId, @QueryParam("icmpcode") int ICMPCode, @QueryParam("icmptype") int ICMPType, com.google.common.collect.Multimap<String, String> accountToGroup, AccountInDomainOptions... options) Authorizes a particular ICMP ingress rule for this security group- Parameters:
securityGroupId
- The ID of the security groupICMPCode
- type of the icmp message being sentICMPType
- error code for this icmp messageaccountToGroup
- mapping of account names to security groups you wish to authorize- Returns:
- response relating to the creation of this ingress rule
-
revokeIngressRule
@Named("revokeSecurityGroupIngress") @GET @Consumes("application/json") String revokeIngressRule(@QueryParam("id") String id, AccountInDomainOptions... options) Deletes a particular ingress rule from this security group- Parameters:
id
- The ID of the ingress ruleoptions
- scope of the rule.
-
deleteSecurityGroup
@Named("deleteSecurityGroup") @GET @Consumes("application/json") void deleteSecurityGroup(@QueryParam("id") String id) delete a specific security group by id- Parameters:
id
- group to delete
-