Security Group
Security Groups are groups of firewall rules that regulate network traffic to and from your Compute instances.
create-security-group
Create a Security Group
POST /security-groupRequest body
application/jsonname(required) (string): Security Group namedescription(string): Security Group description
Responses
200: 200application/jsonid(string): Operation IDreason(string): Operation failure reasonreference(object): Related resource reference - schema detailsmessage(string): Operation messagestate(string): Operation status
SDK reference for create-security-group: golang | Python | Java
CLI: exo api create-security-group
get-security-group
Retrieve Security Group details
GET /security-group/{id}Path parameters
idinpath(required)
Responses
200: 200application/jsonid(string): Security Group IDname(string): Security Group namedescription(string): Security Group descriptionexternal-sources(array[string]): Security Group external sourcesrules(array[object]): Security Group rules - schema details
SDK reference for get-security-group: golang | Python | Java
CLI: exo api get-security-group
delete-security-group
Delete a Security Group
DELETE /security-group/{id}Path parameters
idinpath(required)
Responses
200: 200application/jsonid(string): Operation IDreason(string): Operation failure reasonreference(object): Related resource reference - schema detailsmessage(string): Operation messagestate(string): Operation status
SDK reference for delete-security-group: golang | Python | Java
CLI: exo api delete-security-group
Other Operations
remove-external-source-from-security-group
Remove an external source from a Security Group
PUT /security-group/{id}:remove-sourcePath parameters
idinpath(required)
Request body
application/jsoncidr(required) (string): CIDR-formatted network to remove
Responses
200: 200application/jsonid(string): Operation IDreason(string): Operation failure reasonreference(object): Related resource reference - schema detailsmessage(string): Operation messagestate(string): Operation status
SDK reference for remove-external-source-from-security-group: golang | Python | Java
CLI: exo api remove-external-source-from-security-group
add-external-source-to-security-group
Add an external source as a member of a Security Group
PUT /security-group/{id}:add-sourcePath parameters
idinpath(required)
Request body
application/jsoncidr(required) (string): CIDR-formatted network to add
Responses
200: 200application/jsonid(string): Operation IDreason(string): Operation failure reasonreference(object): Related resource reference - schema detailsmessage(string): Operation messagestate(string): Operation status
SDK reference for add-external-source-to-security-group: golang | Python | Java
CLI: exo api add-external-source-to-security-group
detach-instance-from-security-group
Detach a Compute instance from a Security Group
PUT /security-group/{id}:detachPath parameters
idinpath(required)
Request body
application/jsoninstance(required) (object): Instance - schema details
Responses
200: 200application/jsonid(string): Operation IDreason(string): Operation failure reasonreference(object): Related resource reference - schema detailsmessage(string): Operation messagestate(string): Operation status
SDK reference for detach-instance-from-security-group: golang | Python | Java
CLI: exo api detach-instance-from-security-group
attach-instance-to-security-group
Attach a Compute instance to a Security Group
PUT /security-group/{id}:attachPath parameters
idinpath(required)
Request body
application/jsoninstance(required) (object): Instance - schema details
Responses
200: 200application/jsonid(string): Operation IDreason(string): Operation failure reasonreference(object): Related resource reference - schema detailsmessage(string): Operation messagestate(string): Operation status
SDK reference for attach-instance-to-security-group: golang | Python | Java
CLI: exo api attach-instance-to-security-group
delete-rule-from-security-group
Delete a Security Group rule
DELETE /security-group/{id}/rules/{rule-id}Path parameters
idinpath(required)rule-idinpath(required)
Responses
200: 200application/jsonid(string): Operation IDreason(string): Operation failure reasonreference(object): Related resource reference - schema detailsmessage(string): Operation messagestate(string): Operation status
SDK reference for delete-rule-from-security-group: golang | Python | Java
CLI: exo api delete-rule-from-security-group
add-rule-to-security-group
Create a Security Group rule
POST /security-group/{id}/rulesPath parameters
idinpath(required)
Request body
application/jsonflow-direction(required) (string): Network flow direction to matchdescription(string): Security Group rule descriptionnetwork(string): CIDR-formatted network allowedsecurity-group(object): Security Group - schema detailsprotocol(required) (string): Network protocolicmp(object): ICMP details (default: -1 (ANY)) - schema detailsstart-port(integer): Start port of the rangeend-port(integer): End port of the range
Responses
200: 200application/jsonid(string): Operation IDreason(string): Operation failure reasonreference(object): Related resource reference - schema detailsmessage(string): Operation messagestate(string): Operation status
SDK reference for add-rule-to-security-group: golang | Python | Java
CLI: exo api add-rule-to-security-group
list-security-groups
List Security Groups.
GET /security-groupLists security groups. When visibility is set to public, lists public security groups. Public security groups are objects maintained by Exoscale which contain source addresses for relevant services hosted by Exoscale. They can be used a source in ingress rules and as a destination in egress rules.
Query parameters
visibilityinquery(optional)
Responses
200: 200application/jsonsecurity-groups(array[object]) - schema details
SDK reference for list-security-groups: golang | Python | Java
CLI: exo api list-security-groups