List security sources

Demonstrates how to list all security sources in an organization

Code sample

Go

To authenticate to Security Command Center, set up Application Default Credentials. For more information, see Set up authentication for a local development environment .

  import 
  
 ( 
  
 "context" 
  
 "fmt" 
  
 "io" 
  
 securitycenter 
  
 "cloud.google.com/go/securitycenter/apiv1" 
  
 "cloud.google.com/go/securitycenter/apiv1/securitycenterpb" 
  
 "google.golang.org/api/iterator" 
 ) 
 // listSources prints all sources in  orgID to w.  orgID is the numeric 
 // identifier of the organization. 
 func 
  
 listSources 
 ( 
 w 
  
 io 
 . 
 Writer 
 , 
  
 orgID 
  
 string 
 ) 
  
 error 
  
 { 
  
 // orgID := "12321311" 
  
 // Instantiate a context and a security service client to make API calls. 
  
 ctx 
  
 := 
  
 context 
 . 
 Background 
 () 
  
 client 
 , 
  
 err 
  
 := 
  
 securitycenter 
 . 
  NewClient 
 
 ( 
 ctx 
 ) 
  
 if 
  
 err 
  
 != 
  
 nil 
  
 { 
  
 return 
  
 fmt 
 . 
 Errorf 
 ( 
 "securitycenter.NewClient: %w" 
 , 
  
 err 
 ) 
  
 } 
  
 defer 
  
 client 
 . 
  Close 
 
 () 
  
 // Closing the client safely cleans up background resources. 
  
 req 
  
 := 
  
& securitycenterpb 
 . 
 ListSourcesRequest 
 { 
  
 // Parent must be in one of the following formats: 
  
 //		"organizations/{orgId}" 
  
 //		"projects/{projectId}" 
  
 //		"folders/{folderId}" 
  
 Parent 
 : 
  
 fmt 
 . 
 Sprintf 
 ( 
 "organizations/%s" 
 , 
  
 orgID 
 ), 
  
 } 
  
 it 
  
 := 
  
 client 
 . 
 ListSources 
 ( 
 ctx 
 , 
  
 req 
 ) 
  
 for 
  
 { 
  
 source 
 , 
  
 err 
  
 := 
  
 it 
 . 
 Next 
 () 
  
 if 
  
 err 
  
 == 
  
 iterator 
 . 
 Done 
  
 { 
  
 break 
  
 } 
  
 if 
  
 err 
  
 != 
  
 nil 
  
 { 
  
 return 
  
 fmt 
 . 
 Errorf 
 ( 
 "it.Next: %w" 
 , 
  
 err 
 ) 
  
 } 
  
 fmt 
 . 
 Fprintf 
 ( 
 w 
 , 
  
 "Source Name: %s, " 
 , 
  
 source 
 . 
 Name 
 ) 
  
 fmt 
 . 
 Fprintf 
 ( 
 w 
 , 
  
 "Display name: %s, " 
 , 
  
 source 
 . 
 DisplayName 
 ) 
  
 fmt 
 . 
 Fprintf 
 ( 
 w 
 , 
  
 "Description: %s\n" 
 , 
  
 source 
 . 
 Description 
 ) 
  
 } 
  
 return 
  
 nil 
 } 
 

Java

To authenticate to Security Command Center, set up Application Default Credentials. For more information, see Set up authentication for a local development environment .

  static 
  
 ImmutableList<Source> 
  
 listSources 
 ( 
 OrganizationName 
  
 organizationName 
 ) 
  
 { 
  
 try 
  
 ( 
 SecurityCenterClient 
  
 client 
  
 = 
  
 SecurityCenterClient 
 . 
 create 
 ()) 
  
 { 
  
 // Start setting up a request to list sources in an organization, project, or folder. 
  
 // Parent must be in one of the following formats: 
  
 //    OrganizationName organizationName = OrganizationName.of("organization-id"); 
  
 //    ProjectName projectName = ProjectName.of("project-id"); 
  
 //    FolderName folderName = FolderName.of("folder-id"); 
  
 ListSourcesRequest 
 . 
 Builder 
  
 request 
  
 = 
  
 ListSourcesRequest 
 . 
 newBuilder 
 (). 
 setParent 
 ( 
 organizationName 
 . 
 toString 
 ()); 
  
 // Call the API. 
  
 ListSourcesPagedResponse 
  
 response 
  
 = 
  
 client 
 . 
 listSources 
 ( 
 request 
 . 
 build 
 ()); 
  
 // This creates one list for all sources.  If your organization has a large number of sources 
  
 // this can cause out of memory issues.  You can process them batches by returning 
  
 // the Iterable returned response.iterateAll() directly. 
  
 ImmutableList<Source> 
  
 results 
  
 = 
  
 ImmutableList 
 . 
 copyOf 
 ( 
 response 
 . 
 iterateAll 
 ()); 
  
 System 
 . 
 out 
 . 
 println 
 ( 
 "Sources:" 
 ); 
  
 System 
 . 
 out 
 . 
 println 
 ( 
 results 
 ); 
  
 return 
  
 results 
 ; 
  
 } 
  
 catch 
  
 ( 
 IOException 
  
 e 
 ) 
  
 { 
  
 throw 
  
 new 
  
 RuntimeException 
 ( 
 "Couldn't create client." 
 , 
  
 e 
 ); 
  
 } 
 } 
 

Node.js

To authenticate to Security Command Center, set up Application Default Credentials. For more information, see Set up authentication for a local development environment .

  // Imports the Google Cloud client library. 
 const 
  
 { 
 SecurityCenterClient 
 } 
  
 = 
  
 require 
 ( 
 ' @google-cloud/security-center 
' 
 ); 
 // Creates a new client. 
 const 
  
 client 
  
 = 
  
 new 
  
  SecurityCenterClient 
 
 (); 
 //  organizationId is the numeric ID of the organization. 
 /* 
 * TODO(developer): Uncomment the following lines 
 */ 
 // parent: must be in one of the following formats: 
 //    `organizations/${organization_id}` 
 //    `projects/${project_id}` 
 //    `folders/${folder_id}` 
 const 
  
 parent 
  
 = 
  
 `organizations/ 
 ${ 
 organizationId 
 } 
 ` 
 ; 
 // Call the API with automatic pagination. 
 async 
  
 function 
  
 listSources 
 () 
  
 { 
  
 const 
  
 [ 
 response 
 ] 
  
 = 
  
 await 
  
 client 
 . 
 listSources 
 ({ 
 parent 
 : 
  
 parent 
 }); 
  
 let 
  
 count 
  
 = 
  
 0 
 ; 
  
 console 
 . 
 log 
 ( 
 'Sources:' 
 ); 
  
 Array 
 . 
 from 
 ( 
 response 
 ). 
 forEach 
 ( 
 source 
  
 = 
>  
 console 
 . 
 log 
 ( 
 '%d %j' 
 , 
  
 ++ 
 count 
 , 
  
 source 
 ) 
  
 ); 
 } 
 listSources 
 (); 
 

Python

To authenticate to Security Command Center, set up Application Default Credentials. For more information, see Set up authentication for a local development environment .

  from 
  
 google.cloud 
  
 import 
 securitycenter_v1 
 # Create a new client. 
 client 
 = 
 securitycenter_v1 
 . 
 SecurityCenterClient 
 () 
 # 'parent' must be in one of the following formats: 
 #   "organizations/{organization_id}" 
 #   "projects/{project_id}" 
 #   "folders/{folder_id}" 
 parent 
 = 
 f 
 "organizations/ 
 { 
 organization_id 
 } 
 " 
 # Call the API and print out each existing source. 
 for 
 i 
 , 
 source 
 in 
 enumerate 
 ( 
 client 
 . 
  list_sources 
 
 ( 
 request 
 = 
 { 
 "parent" 
 : 
 parent 
 })): 
 print 
 ( 
 i 
 , 
 source 
 ) 
 

What's next

To search and filter code samples for other Google Cloud products, see the Google Cloud sample browser .

Create a Mobile Website
View Site in Mobile | Classic
Share by: