/**
 * devopness API
 * Devopness API - Painless essential DevOps to everyone
 *
 * The version of the OpenAPI document: latest
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import { ActionRelation } from './action-relation';
import { EnvironmentRelation } from './environment-relation';
import { NetworkRuleDirection } from './network-rule-direction';
import { NetworkRuleProtocol } from './network-rule-protocol';
import { ServerRelation } from './server-relation';
import { UserRelation } from './user-relation';
/**
 *
 * @export
 * @interface NetworkRule
 */
export interface NetworkRule {
    /**
     * The ID of the given network rule
     * @type {number}
     * @memberof NetworkRule
     */
    id: number;
    /**
     * The rule\'s name/description/reminder
     * @type {string}
     * @memberof NetworkRule
     */
    name: string;
    /**
     *
     * @type {NetworkRuleDirection}
     * @memberof NetworkRule
     */
    direction: NetworkRuleDirection;
    /**
     *
     * @type {NetworkRuleProtocol}
     * @memberof NetworkRule
     */
    protocol: NetworkRuleProtocol;
    /**
     * Network port to be considered by this rule
     * @type {number}
     * @memberof NetworkRule
     */
    port: number;
    /**
     * IP address range this rule applies for, defined using CIDR notation
     * @type {string}
     * @memberof NetworkRule
     */
    cidr_block: string;
    /**
     * Indicates if the network rule was auto_generated by `Devopness` itself
     * @type {boolean}
     * @memberof NetworkRule
     */
    is_auto_generated: boolean;
    /**
     *
     * @type {ActionRelation}
     * @memberof NetworkRule
     */
    last_action: ActionRelation | null;
    /**
     *
     * @type {UserRelation}
     * @memberof NetworkRule
     */
    created_by_user: UserRelation | null;
    /**
     *
     * @type {EnvironmentRelation}
     * @memberof NetworkRule
     */
    environment: EnvironmentRelation | null;
    /**
     *
     * @type {Array<ServerRelation>}
     * @memberof NetworkRule
     */
    servers: Array<ServerRelation>;
    /**
     * The date and time when the record was created
     * @type {string}
     * @memberof NetworkRule
     */
    created_at: string;
    /**
     * The date and time when the record was last updated
     * @type {string}
     * @memberof NetworkRule
     */
    updated_at: string;
}
