/**
 * Identity and Access Management Service API
 * APIs for managing users, groups, compartments, and policies.
 * OpenAPI spec version: 20160918
 *
 *
 * 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" ) ; export interface BulkEditOperationDetails { /**
     * An enum-like description of the type of operation.
     * <p>
     * `ADD_WHERE_ABSENT` adds a defined tag only if the tag does not already exist on the resource.
     * * `SET_WHERE_PRESENT` updates the value for a defined tag only if the tag is present on the resource.
     * * `ADD_OR_SET` combines the first two operations to add a defined tag if it does not already exist on the resource
     * or update the value for a defined tag only if the tag is present on the resource.
     * * `REMOVE` removes the defined tag from the resource. The tag is removed from the resource regardless of the tag value.
     *
     */ "operationType" : BulkEditOperationDetails . OperationType ; /**
     * Defined tags for this resource. Each key is predefined and scoped to a namespace.
     * For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
     * Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
     *
     */ "definedTags" : { [ key ] : { [ key ] : any ; } ; } ; } export namespace BulkEditOperationDetails { export enum OperationType { AddWhereAbsent = "ADD_WHERE_ABSENT" , SetWherePresent = "SET_WHERE_PRESENT" , AddOrSet = "ADD_OR_SET" , Remove = "REMOVE" } export function getJsonObj ( obj ) { const jsonObj = { ... obj , ... { } } ; return jsonObj ; } export function getDeserializedJsonObj ( obj ) { const jsonObj = { ... obj , ... { } } ; return jsonObj ; } }