/**
 * Audit API
 * API for the Audit Service. Use this API for compliance monitoring in your tenancy.
For more information, see [Overview of Audit](/iaas/Content/Audit/Concepts/auditoverview.htm).

**Tip**: This API is good for queries, but not bulk-export operations.

 * OpenAPI spec version: 20190901
 *
 *
 * NOTE: This class is auto generated by OracleSDKGenerator.
 * Do not edit the class manually.
 *
 * Copyright (c) 2020, 2022, Oracle and/or its affiliates.  All rights reserved.
 * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
 */ import * as model from "../model" ; import common = require ( "oci-common" ) ; /**
 * All the attributes of an audit event. For more information, see [Viewing Audit Log Events](https://docs.cloud.oracle.com/iaas/Content/Audit/Tasks/viewinglogevents.htm).
 *
 */ export interface AuditEvent { /**
      * The type of event that happened.
  * <p>
  The service that produces the event can also add, remove, or change the meaning of a field.
  * A service implementing these type changes would publish a new version of an `eventType` and
  * revise the `eventTypeVersion` field.
  * <p>
  Example: `com.oraclecloud.ComputeApi.GetInstance`
  *
      */ "eventType" : string ; /**
      * The version of the CloudEvents specification. The structure of the envelope follows the
  * [CloudEvents](https://github.com/cloudevents/spec) industry standard format hosted by the
  * [Cloud Native Computing Foundation ( CNCF)](https://www.cncf.io/).
  * <p>
  Audit uses version 0.1 specification of the CloudEvents event envelope.
  * <p>
  Example: `0.1`
  *
      */ "cloudEventsVersion" : string ; /**
      * The version of the event type. This version applies to the payload of the event, not the envelope.
  * Use `cloudEventsVersion` to determine the version of the envelope.
  * <p>
  Example: `2.0`
  *
      */ "eventTypeVersion" : string ; /**
      * The source of the event.
  * <p>
  Example: `ComputeApi`
  *
      */ "source" : string ; /**
     * The GUID of the event.
     *
     */ "eventId" : string ; /**
      * The time the event occurred, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format.
  * <p>
  Example: `2019-09-18T00:10:59.252Z`
  *
      */ "eventTime" : Date ; /**
      * The content type of the data contained in `data`.
  * <p>
  Example: `application/json`
  *
      */ "contentType" : string ; "data" : model . Data ; } export namespace AuditEvent { export function getJsonObj ( obj ) { const jsonObj = { ... obj , ... { "data" : obj . data ? model . Data . getJsonObj ( obj . data ) : undefined } } ; return jsonObj ; } export function getDeserializedJsonObj ( obj ) { const jsonObj = { ... obj , ... { "data" : obj . data ? model . Data . getDeserializedJsonObj ( obj . data ) : undefined } } ; return jsonObj ; } }