/**
 * OperatorAccessControl API
 * Operator Access Control enables you to control the time duration and the actions an Oracle operator can perform on your Exadata Cloud@Customer infrastructure.
Using logging service, you can view a near real-time audit report of all actions performed by an Oracle operator.

Use the table of contents and search tool to explore the OperatorAccessControl API.

 * OpenAPI spec version: 20200630
 *
 *
 * 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" ) ; /**
* Details of the operator action. Operator actions are a pre-defined set of commands available to the operator on different layers of the infrastructure. Although the groupings may differ depending on the infrastructure layers,
* the groups are designed to enable the operator access to commands to resolve a specific set of issues. The infrastructure layers controlled by the Operator Control include Dom0, CellServer, and Control Plane Server (CPS).
* <p>
There are five groups available to the operator. x-obmcs-top-level-enum: '#/definitions/OperatorActionCategories' enum: *OPERATORACTIONCATEGORIES
* <p>
The following infrastructure layers are controlled by the operator actions x-obmcs-top-level-enum: '#/definitions/InfrastructureLayers' enum: *INFRASTRUCTURELAYERS
*
*/ export interface OperatorAction { /**
     * Unique Oracle assigned identifier for the operator action.
     */ "id" : string ; /**
     * Unique name of the operator action.
     */ "name" : string ; /**
     * Display Name of the operator action.
     */ "customerDisplayName" ? : string ; /**
     * Name of the infrastructure layer associated with the operator action.
     */ "component" ? : string ; /**
     * resourceType for which the OperatorAction is applicable
     */ "resourceType" ? : model . ResourceTypes ; /**
     * Description of the operator action in terms of associated risk profile, and characteristics of the operating system commands made
     * available to the operator under this operator action.
     *
     */ "description" ? : string ; /**
     * Fine grained properties associated with the operator control.
     */ "properties" ? : Array < model . OperatorActionProperties > ; } export namespace OperatorAction { export function getJsonObj ( obj ) { const jsonObj = { ... obj , ... { "properties" : obj . properties ? obj . properties . map ( item => { return model . OperatorActionProperties . getJsonObj ( item ) ; } ) : undefined } } ; return jsonObj ; } export function getDeserializedJsonObj ( obj ) { const jsonObj = { ... obj , ... { "properties" : obj . properties ? obj . properties . map ( item => { return model . OperatorActionProperties . getDeserializedJsonObj ( item ) ; } ) : undefined } } ; return jsonObj ; } }