> For the complete documentation index, see [llms.txt](https://ai-docs.fptcloud.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ai-docs.fptcloud.com/api-reference/ai-infrastructure/metal-cloud/default-module.md).

# Default module

## List all rules of a group (Network ACL)

> Returns all of rules belong to a firewall policy (group of rules)\
> There are 2 types of rule groups:\
> \* Inbound (ingress) rules: An inbound rule permits servers to receive traffic from the specified IPv4 address ranges, the IP address ranges that are specified by a prefix list, or the servers that are associated with a destination Network ACL.\
> \* Outbound (egress) rules: An outbound rule permits servers to send traffic to the specified IPv4 address ranges, the IP address ranges specified by a prefix list, or the servers that are associated with a source Network ACL.\
> \* A default rule is automatically created with a NACL that allows all outbound traffic, and you can delete it.

```json
{"openapi":"3.0.1","info":{"title":"Default module","version":"1.0.0"},"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer"}}},"paths":{"/api/v2/vmware/vpc/{vpc_id}/hpc/network-acls/{network_acl_id}/firewall-policies/{firewall_policy_id}/firewall-rules":{"get":{"summary":"List all rules of a group (Network ACL)","deprecated":false,"description":"Returns all of rules belong to a firewall policy (group of rules)\nThere are 2 types of rule groups:\n* Inbound (ingress) rules: An inbound rule permits servers to receive traffic from the specified IPv4 address ranges, the IP address ranges that are specified by a prefix list, or the servers that are associated with a destination Network ACL.\n* Outbound (egress) rules: An outbound rule permits servers to send traffic to the specified IPv4 address ranges, the IP address ranges specified by a prefix list, or the servers that are associated with a source Network ACL.\n* A default rule is automatically created with a NACL that allows all outbound traffic, and you can delete it.","tags":[],"parameters":[{"name":"vpc_id","in":"path","description":"The unique identifier of the VPC where the Network ACL belongs.","required":true,"schema":{"type":"string"}},{"name":"network_acl_id","in":"path","description":"The unique identifier of the network ACL comes from the \"List all network ACLs\" API.","required":true,"schema":{"type":"string"}},{"name":"firewall_policy_id","in":"path","description":"The unique ID of the policy (Obtain this ID by \"List all rule groups of a Network ACL\" API).","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"","required":true,"schema":{"type":"string"}},{"name":"OrgId","in":"header","description":"","required":true,"schema":{"type":"string"}},{"name":"UserId","in":"header","description":"","required":true,"schema":{"type":"string"}},{"name":"UserEmail","in":"header","description":"","required":true,"schema":{"type":"string"}},{"name":"sentry-trace","in":"header","description":"","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The unique ID of the rule"},"firewall_policy_id":{"type":"string","description":"The unique ID of the policy (Obtain this ID by \"List all rule groups of a Network ACL\" API)."},"firewall_group_id":{"type":"string","description":"The unique ID of the rule group (inbound or outbound)."},"osp_firewall_rule_id":{"type":"string","description":"The unique ID of the rule group (inbound or outbound) in the infrastructure platform managed by FPT."},"rule_number":{"type":"integer","description":"Rules are processed in ascending order by priority number. Once a rule matches the traffic, it is applied, even if higher-numbered priority of rules conflict with it. The system automatically increments the priority number, but the user can change it as long as it does not duplicate an existing number."},"type":{"type":"string","description":"Specifies the type of traffic, such as HTTP, HTTPS, or ALL."},"protocol":{"type":"string","description":"NACL supports TCP, UDP, ICMP, or any protocols."},"port":{"type":"string","description":"The specific port of the traffic is targeted from 1 to 65535."},"source_cidr":{"type":"string","description":"For inbound rules, this specifies the origin of the traffic (CIDR range)."},"destination_cidr":{"type":"null","description":"For outbound rules, this specifies the target of the traffic (CIDR range)."},"traffic_action":{"type":"string","description":"The specified traffic is permitted with Allow or Deny."},"is_default":{"type":"boolean","description":"The default rule is auto-created with a new NACL."},"status":{"type":"string","description":"The status of the rule. It must be 'active' or 'inactive'."},"created_at":{"type":"string","description":"Timestamp of when the rule was created."},"updated_at":{"type":"string","description":"Timestamp of the last update to rule."}},"required":["id","firewall_policy_id","firewall_group_id","osp_firewall_rule_id","protocol","port","source_cidr","destination_cidr","traffic_action","rule_number","status","type","created_at","updated_at"]}},"total":{"type":"integer","description":"The number of rule groups."}},"required":["data","total"]}}},"headers":{}}}}}}}
```

## GET /api/v2/vmware/vpc/\<uuid(strict=False):vpc\_id>/hpc/server/quota

> Quota list

```json
{"openapi":"3.0.1","info":{"title":"Default module","version":"1.0.0"},"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer"}}},"paths":{"/api/v2/vmware/vpc/<uuid(strict=False):vpc_id>/hpc/server/quota":{"get":{"summary":"Quota list","deprecated":false,"description":"","tags":[],"parameters":[{"name":"Authorization","in":"header","description":"","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"null"},"data":{"type":"object","properties":{"detail":{"type":"array","items":{"type":"object","properties":{"package_id":{"type":"string","description":"Unique identifier (UID) for the server flavor."},"server_type":{"type":"string","description":"Server type's name"},"available_server":{"type":"integer","description":"Total of servers that user can deploy currenlty"},"total_quota":{"type":"integer","description":"Total of servers that provided to tenant."},"vpc_used":{"type":"integer","description":"Total of server that other vpc using"}}}},"total_available_server":{"type":"integer"}},"required":["detail","total_available_server"]}},"required":["data"]}}},"headers":{}}}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://ai-docs.fptcloud.com/api-reference/ai-infrastructure/metal-cloud/default-module.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
