LogConfig

Specifies what kind of log the caller must write

JSON representation
{

  // Union field type can be only one of the following:
  "counter": {
    object (CounterOptions)
  },
  "dataAccess": {
    object (DataAccessOptions)
  },
  "cloudAudit": {
    object (CloudAuditOptions)
  }
  // End of list of possible types for union field type.
}
Fields
Union field type. Must be set type can be only one of the following:
counter

object (CounterOptions)

Counter options.

dataAccess

object (DataAccessOptions)

Data access options.

cloudAudit

object (CloudAuditOptions)

Cloud audit options.

CounterOptions

Increment a streamz counter with the specified metric and field names.

Metric names should start with a '/', generally be lowercase-only, and end in "_count". Field names should not contain an initial slash. The actual exported metric names will have "/iam/policy" prepended.

Field names correspond to IAM request parameters and field values are their respective values.

Supported field names: - "authority", which is "[token]" if IAMContext.token is present, otherwise the value of IAMContext.authority_selector if present, and otherwise a representation of IAMContext.principal; or - "iam_principal", a representation of IAMContext.principal even if a token or authority selector is present; or - "" (empty string), resulting in a counter with no fields.

Examples: counter { metric: "/debug_access_count" field: "iam_principal" } ==> increment counter /iam/policy/debug_access_count {iam_principal=[value of IAMContext.principal]}

JSON representation
{
  "metric": string,
  "field": string,
  "customFields": [
    {
      object (CustomField)
    }
  ]
}
Fields
metric

string

The metric to update.

field

string

The field value to attribute.

customFields[]

object (CustomField)

Custom fields.

CustomField

Custom fields. These can be used to create a counter with arbitrary field/value pairs. See: go/rpcsp-custom-fields.

JSON representation
{
  "name": string,
  "value": string
}
Fields
name

string

Name is the field name.

value

string

Value is the field value. It is important that in contrast to the CounterOptions.field, the value here is a constant that is not derived from the IAMContext.

DataAccessOptions

Write a Data Access (Gin) log

JSON representation
{
  "logMode": enum (LogMode)
}
Fields
logMode

enum (LogMode)

CloudAuditOptions

Write a Cloud Audit log

JSON representation
{
  "logName": enum (LogName),
  "authorizationLoggingOptions": {
    object (AuthorizationLoggingOptions)
  }
}
Fields
logName

enum (LogName)

The logName to populate in the Cloud Audit Record.

authorizationLoggingOptions

object (AuthorizationLoggingOptions)

Information used by the Cloud Audit Logging pipeline.