/**
 * Streaming API
 * Use the Streaming API to produce and consume messages, create streams and stream pools, and manage related items. For more information, see [Streaming](/Content/Streaming/Concepts/streamingoverview.htm).
 * OpenAPI spec version: 20180418
 *
 *
 * 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" ) ; /**
 * Object used to create a group cursor.
 */ export interface CreateGroupCursorDetails { /**
     * The type of the cursor. This value is only used when the group is created.
     */ "type" : CreateGroupCursorDetails . Type ; /**
     * The time to consume from if type is AT_TIME.
     */ "time" ? : Date ; /**
     * Name of the consumer group.
     */ "groupName" : string ; /**
     * A unique identifier for the instance joining the consumer group. If an instanceName is not provided, a UUID will be generated and used.
     */ "instanceName" ? : string ; /**
     * The amount of a consumer instance inactivity time, before partition reservations are released. Note: Numbers greater than Number.MAX_SAFE_INTEGER will result in rounding issues.
     */ "timeoutInMs" ? : number ; /**
     * When using consumer-groups, the default commit-on-get behaviour can be overriden by setting this value to false.
     * If disabled, a consumer must manually commit their cursors.
     *
     */ "commitOnGet" ? : boolean ; } export namespace CreateGroupCursorDetails { export enum Type { AtTime = "AT_TIME" , Latest = "LATEST" , TrimHorizon = "TRIM_HORIZON" } export function getJsonObj ( obj ) { const jsonObj = { ... obj , ... { } } ; return jsonObj ; } export function getDeserializedJsonObj ( obj ) { const jsonObj = { ... obj , ... { } } ; return jsonObj ; } }