Querying Security Groups
Function
After a security group is created, you can call this API to query all information about the security group, including the name, ID, and description.
Constraints
You can query all security groups under your account. A maximum of 2,000 records can be returned for each query. If the number of records exceeds 2,000, the pagination marker will be returned.
Calling Method
For details, see Calling APIs.
URI
GET /v3/{project_id}/vpc/security-groups
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
project_id |
Yes |
String |
|
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
limit |
No |
Integer |
|
marker |
No |
String |
|
id |
No |
Array of strings |
|
name |
No |
Array of strings |
|
description |
No |
Array of strings |
|
enterprise_project_id |
No |
String |
|
Request Parameters
None
Response Parameters
Status code: 200
Parameter |
Type |
Description |
---|---|---|
security_groups |
Array of SecurityGroup objects |
|
request_id |
String |
|
page_info |
PageInfo object |
|
Parameter |
Type |
Description |
---|---|---|
id |
String |
|
name |
String |
|
description |
String |
|
project_id |
String |
|
created_at |
String |
|
updated_at |
String |
|
enterprise_project_id |
String |
|
tags |
Array of ResponseTag objects |
|
Parameter |
Type |
Description |
---|---|---|
key |
String |
Definition: Tag key. Range:
|
value |
String |
Definition: Tag value. Range:
|
Parameter |
Type |
Description |
---|---|---|
previous_marker |
String |
Definition: The first record on the current page. Range: N/A |
current_count |
Integer |
Definition: Total number of resources on the current page. Range: N/A |
next_marker |
String |
Definition: The last record on the current page. The next_marker field does not exist if the page is the last one. Range: N/A |
Example Requests
Querying security groups
GET https://{Endpoint}/v3/{project_id}/vpc/security-groups
Example Responses
Status code: 200
Normal response to the GET operation. For more status codes, see Status Codes.
{ "request_id" : "d31cb32ca06f3c1a294fa24e6cbc5a56", "security_groups" : [ { "id" : "0552091e-b83a-49dd-88a7-4a5c86fd9ec3", "name" : "sg-test", "project_id" : "060576782980d5762f9ec014dd2f1148", "description" : "test", "enterprise_project_id" : 0, "created_at" : "2019-10-16T11:11:14.000+00:00", "updated_at" : "2020-03-25T10:53:46.000+00:00", "tags" : [ ] }, { "id" : "0b8cb773-197c-4c91-94f1-e051f0563e5a", "name" : "test-sg", "project_id" : "060576782980d5762f9ec014dd2f1148", "description" : "The security group is for general-purpose web servers and includes default rules that allow all inbound ICMP traffic and allow inbound traffic on ports 22, 3389, 80, and 443. This security group is suitable for ECSs that require remote login, public network ping, and website services.", "enterprise_project_id" : 0, "created_at" : "2019-12-03T09:02:11.000+00:00", "updated_at" : "2019-12-03T09:02:11.000+00:00", "tags" : [ ] } ], "page_info" : { "previous_marker" : "0552091e-b83a-49dd-88a7-4a5c86fd9ec3", "current_count" : 2 } }
SDK Sample Code
The SDK sample code is as follows.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
package com.huaweicloud.sdk.test; import com.huaweicloud.sdk.core.auth.ICredential; import com.huaweicloud.sdk.core.auth.BasicCredentials; import com.huaweicloud.sdk.core.exception.ConnectionException; import com.huaweicloud.sdk.core.exception.RequestTimeoutException; import com.huaweicloud.sdk.core.exception.ServiceResponseException; import com.huaweicloud.sdk.vpc.v3.region.VpcRegion; import com.huaweicloud.sdk.vpc.v3.*; import com.huaweicloud.sdk.vpc.v3.model.*; public class ListSecurityGroupsSolution { public static void main(String[] args) { // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment String ak = System.getenv("CLOUD_SDK_AK"); String sk = System.getenv("CLOUD_SDK_SK"); String projectId = "{project_id}"; ICredential auth = new BasicCredentials() .withProjectId(projectId) .withAk(ak) .withSk(sk); VpcClient client = VpcClient.newBuilder() .withCredential(auth) .withRegion(VpcRegion.valueOf("<YOUR REGION>")) .build(); ListSecurityGroupsRequest request = new ListSecurityGroupsRequest(); try { ListSecurityGroupsResponse response = client.listSecurityGroups(request); System.out.println(response.toString()); } catch (ConnectionException e) { e.printStackTrace(); } catch (RequestTimeoutException e) { e.printStackTrace(); } catch (ServiceResponseException e) { e.printStackTrace(); System.out.println(e.getHttpStatusCode()); System.out.println(e.getRequestId()); System.out.println(e.getErrorCode()); System.out.println(e.getErrorMsg()); } } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# coding: utf-8 import os from huaweicloudsdkcore.auth.credentials import BasicCredentials from huaweicloudsdkvpc.v3.region.vpc_region import VpcRegion from huaweicloudsdkcore.exceptions import exceptions from huaweicloudsdkvpc.v3 import * if __name__ == "__main__": # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak = os.environ["CLOUD_SDK_AK"] sk = os.environ["CLOUD_SDK_SK"] projectId = "{project_id}" credentials = BasicCredentials(ak, sk, projectId) client = VpcClient.new_builder() \ .with_credentials(credentials) \ .with_region(VpcRegion.value_of("<YOUR REGION>")) \ .build() try: request = ListSecurityGroupsRequest() response = client.list_security_groups(request) print(response) except exceptions.ClientRequestException as e: print(e.status_code) print(e.request_id) print(e.error_code) print(e.error_msg) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
package main import ( "fmt" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" vpc "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v3" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v3/model" region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v3/region" ) func main() { // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak := os.Getenv("CLOUD_SDK_AK") sk := os.Getenv("CLOUD_SDK_SK") projectId := "{project_id}" auth := basic.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). WithProjectId(projectId). Build() client := vpc.NewVpcClient( vpc.VpcClientBuilder(). WithRegion(region.ValueOf("<YOUR REGION>")). WithCredential(auth). Build()) request := &model.ListSecurityGroupsRequest{} response, err := client.ListSecurityGroups(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } } |
For SDK sample code of more programming languages, see the Sample Code tab in API Explorer. SDK sample code can be automatically generated.
Status Codes
Status Code |
Description |
---|---|
200 |
Normal response to the GET operation. For more status codes, see Status Codes. |
Error Codes
See Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot