Class Query

java.lang.Object
com.strongdm.api.Query

public class Query extends Object
A Query is a record of a single client request to a resource, such as a SQL query. Longer-running queries including long-running SSH commands and SSH, RDP, or Kubernetes interactive sessions will return two Query records with the same identifier, one record at the start of the query and a second record upon the completion of the query with additional detail.
  • Constructor Details

    • Query

      public Query()
  • Method Details

    • getAccountEmail

      public String getAccountEmail()
      The email of the account performing this query, at the time the query was executed. If the account email is later changed, that change will not be reflected via this field.
    • setAccountEmail

      public void setAccountEmail(String in)
      The email of the account performing this query, at the time the query was executed. If the account email is later changed, that change will not be reflected via this field.
    • getAccountFirstName

      public String getAccountFirstName()
      The given name of the account performing this query, at the time the query was executed. If the account is later renamed, that change will not be reflected via this field.
    • setAccountFirstName

      public void setAccountFirstName(String in)
      The given name of the account performing this query, at the time the query was executed. If the account is later renamed, that change will not be reflected via this field.
    • getAccountId

      public String getAccountId()
      Unique identifier of the Account that performed the Query.
    • setAccountId

      public void setAccountId(String in)
      Unique identifier of the Account that performed the Query.
    • getAccountLastName

      public String getAccountLastName()
      The family name of the account performing this query, at the time the query was executed. If the account is later renamed, that change will not be reflected via this field.
    • setAccountLastName

      public void setAccountLastName(String in)
      The family name of the account performing this query, at the time the query was executed. If the account is later renamed, that change will not be reflected via this field.
    • getAccountTags

      public Map<String,String> getAccountTags()
      The tags of the account accessed, at the time the query was executed. If the account tags are later changed, that change will not be reflected via this field.
    • setAccountTags

      public void setAccountTags(Map<String,String> in)
      The tags of the account accessed, at the time the query was executed. If the account tags are later changed, that change will not be reflected via this field.
    • getAuthzJson

      public String getAuthzJson()
      Authorization metadata associated with this query.
    • setAuthzJson

      public void setAuthzJson(String in)
      Authorization metadata associated with this query.
    • getCapture

      public QueryCapture getCapture()
      For queries against SSH, Kubernetes, and RDP resources, this contains additional information about the captured query.
    • setCapture

      public void setCapture(QueryCapture in)
      For queries against SSH, Kubernetes, and RDP resources, this contains additional information about the captured query.
    • getClientIp

      public String getClientIp()
      The IP address the Query was performed from, as detected at the StrongDM control plane.
    • setClientIp

      public void setClientIp(String in)
      The IP address the Query was performed from, as detected at the StrongDM control plane.
    • getCompletedAt

      public Date getCompletedAt()
      The time at which the Query was completed. Empty if this record indicates the start of a long-running query.
    • setCompletedAt

      public void setCompletedAt(Date in)
      The time at which the Query was completed. Empty if this record indicates the start of a long-running query.
    • getDuration

      public Duration getDuration()
      The duration of the Query.
    • setDuration

      public void setDuration(Duration in)
      The duration of the Query.
    • getEgressNodeId

      public String getEgressNodeId()
      The unique ID of the node through which the Resource was accessed.
    • setEgressNodeId

      public void setEgressNodeId(String in)
      The unique ID of the node through which the Resource was accessed.
    • getEncrypted

      public boolean getEncrypted()
      Indicates that the body of the Query is encrypted.
    • setEncrypted

      public void setEncrypted(boolean in)
      Indicates that the body of the Query is encrypted.
    • getId

      public String getId()
      Unique identifier of the Query.
    • setId

      public void setId(String in)
      Unique identifier of the Query.
    • getIdentityAliasUsername

      public String getIdentityAliasUsername()
      The username of the IdentityAlias used to access the Resource.
    • setIdentityAliasUsername

      public void setIdentityAliasUsername(String in)
      The username of the IdentityAlias used to access the Resource.
    • getQueryBody

      public String getQueryBody()
      The captured content of the Query. For queries against SSH, Kubernetes, and RDP resources, this contains a JSON representation of the QueryCapture.
    • setQueryBody

      public void setQueryBody(String in)
      The captured content of the Query. For queries against SSH, Kubernetes, and RDP resources, this contains a JSON representation of the QueryCapture.
    • getQueryCategory

      public String getQueryCategory()
      The general category of Resource against which Query was performed, e.g. "web" or "cloud".
    • setQueryCategory

      public void setQueryCategory(String in)
      The general category of Resource against which Query was performed, e.g. "web" or "cloud".
    • getQueryHash

      public String getQueryHash()
      The hash of the body of the Query.
    • setQueryHash

      public void setQueryHash(String in)
      The hash of the body of the Query.
    • getQueryKey

      public String getQueryKey()
      The symmetric key used to encrypt the body of this Query and its replay if replayable. If the Query is encrypted, this field contains an encrypted symmetric key in base64 encoding. This key must be decrypted with the organization's private key to obtain the symmetric key needed to decrypt the body. If the Query is not encrypted, this field is empty.
    • setQueryKey

      public void setQueryKey(String in)
      The symmetric key used to encrypt the body of this Query and its replay if replayable. If the Query is encrypted, this field contains an encrypted symmetric key in base64 encoding. This key must be decrypted with the organization's private key to obtain the symmetric key needed to decrypt the body. If the Query is not encrypted, this field is empty.
    • getRecordCount

      public long getRecordCount()
      The number of records returned by the Query, for a database Resource.
    • setRecordCount

      public void setRecordCount(long in)
      The number of records returned by the Query, for a database Resource.
    • getRemoteIdentityUsername

      @Deprecated public String getRemoteIdentityUsername()
      Deprecated.
      The username of the RemoteIdentity used to access the Resource.
    • setRemoteIdentityUsername

      @Deprecated public void setRemoteIdentityUsername(String in)
      Deprecated.
      The username of the RemoteIdentity used to access the Resource.
    • getReplayable

      public boolean getReplayable()
      Indicates that the Query is replayable, e.g. for some SSH or K8s sessions.
    • setReplayable

      public void setReplayable(boolean in)
      Indicates that the Query is replayable, e.g. for some SSH or K8s sessions.
    • getResourceId

      public String getResourceId()
      Unique identifier of the Resource against which the Query was performed.
    • setResourceId

      public void setResourceId(String in)
      Unique identifier of the Resource against which the Query was performed.
    • getResourceName

      public String getResourceName()
      The name of the resource accessed, at the time the query was executed. If the resource is later renamed, that change will not be reflected via this field.
    • setResourceName

      public void setResourceName(String in)
      The name of the resource accessed, at the time the query was executed. If the resource is later renamed, that change will not be reflected via this field.
    • getResourceTags

      public Map<String,String> getResourceTags()
      The tags of the resource accessed, at the time the query was executed. If the resource tags are later changed, that change will not be reflected via this field.
    • setResourceTags

      public void setResourceTags(Map<String,String> in)
      The tags of the resource accessed, at the time the query was executed. If the resource tags are later changed, that change will not be reflected via this field.
    • getResourceType

      public String getResourceType()
      The specific type of Resource against which the Query was performed, e.g. "ssh" or "postgres".
    • setResourceType

      public void setResourceType(String in)
      The specific type of Resource against which the Query was performed, e.g. "ssh" or "postgres".
    • getSourceIp

      public String getSourceIp()
      The IP address the Query was performed from, as detected at the ingress gateway.
    • setSourceIp

      public void setSourceIp(String in)
      The IP address the Query was performed from, as detected at the ingress gateway.
    • getTarget

      public String getTarget()
      The target destination of the query, in host:port format.
    • setTarget

      public void setTarget(String in)
      The target destination of the query, in host:port format.
    • getTimestamp

      public Date getTimestamp()
      The time at which the Query was started.
    • setTimestamp

      public void setTimestamp(Date in)
      The time at which the Query was started.