Skip to main content

Check out Interactive Visual Stories to gain hands-on experience with the SSE product features. Click here.

Skyhigh Security

GCP Pub/Sub APIs and Methods

Google Cloud Platform (GCP) publish/subscribe (Pub/Sub) is a messaging service. Below are the Pub/Sub APIs, methods, and models used internally in Skyhigh CASB architecture to process GCP config audit events.

Class Request Models Methods Data Retrieved Result
Pubsub.Projects.Topics.List  projectId

pubsub.model.ListTopicsResponse

  1. list
  2. listTopicsResponse.getTopics
  3. listTopicsResponse.execute
  4. listTopicsResponse.getNextPageToken
Name, kmsKeyName, Labels Lists Pub/Sub Topics using service account
Pubsub.Projects.Topics projectId, topicName
  1. pubsub.model.Topic
  2. pubsub.model.ExpirationPolicy
  3. pubsub.model.Empty
  1. topics.get().execute()
  2. topics.create().execute() -This will get executed when there is no topics present
  3. topics.delete().execute()
Name, kmsKeyName, Labels Get, Create, Delete Pub/Sub Topics using service account
Pubsub.Projects pubSubType, resourceName
  1. pubsub.model.Policy
  2. pubsub.model.Topic
  3. pubsub.model.Binding
  1. projects().subscriptions().getIamPolicy().excute()
  2. projects().snapshots().getIamPolicy().excute()
  3. projects().topics().getIamPolicy().excute()

Bindings, Etag, Version

To get pub sub policy
  Pubsub.Projects.Subscriptions.List                               projectId

pubsub.model.ListSubscriptionsResponse

  1. projects().subscriptions().list()
  2. subscriptions().excute()

AckDeadlineSeconds, expirationPolicy, Labels,  MessageRetentionDuration, Name, PushConfig, RetainAckedMessages

Lists Pub/Sub Subscription using service account
Pubsub.Projects.Subscriptions projectId, subscriptionName, topicName, isSubscriptionPersistent
  1. pubsub.model.Subscription
  2. pubsub.model.ExpirationPolicy
  3. pubsub.model.Empty
  1. projects().subscriptions()
  2. subscriptions().get().excute()
  3. subscriptions().create().excute()
subscriptions().delete().excute()
AckDeadlineSeconds, ExpirationPolicy, labels,  MessageRetentionDuration, Name, PushConfig, RetainAckedMessages

Create, Get, Delete Pub/Sub Subscription using service account, Project, SubscriptionName and Topic

Pubsub.Projects.Snapshots.List projectId

pubsub.model.ListSnapshotsResponse

  1. projects().snapshots().list()
  2. snapshots().excute()
ExpireTime, Labels, Name, Topic Lists Pub/Sub Snapshot using service account and project
Pubsub.Projects.Snapshots                    projectId, snapshotName

pubsub.model.Snapshots

  1. projects().snapshots()
  2. snapshots().get().excute()
  3. snapshots().create().excute()
  4. snapshots().delete().excute()
ExpireTime, Labels, Name, Topic Get Pub/Sub Snapshot using service account and project and snapshotName
Pubsub.Projects.Subscriptions.Pull subscription, pull limit
  1. pubsub.model.PullResponse
  2. pubsub.model.ReceivedMessage
  3. pubsub.model.PullRequest
  1. projects().subscription().pull() 
  2. pull().excute()
  3. pullResponse.getReceivedMessages()

java.util.List<ReceivedMessage>

Lists pull received message Pub/Sub subscription using service account

Pubsub.Projects.Subscriptions.Acknowledge messageAckIds, subscription
  1. pubsub.model.AcknowledgeRequest
  2. pubsub.model.ReceivedMessage
  3. pubsub.model.PullRequest
  1. projects().subscription().acknowledge() 
  2. acknowledge().excute()
Id , Kind, Name, Bucket, Generation, TimeCreated, Updated, StorageClass, Size, MediaLink, Metadata, Etag, EventBasedHold, SelfLink, EventType, Action, Digest, Tag, PublishTime Pull received message of Pub/Sub subscription using service account and project

 

  • Was this article helpful?