/* tslint:disable */ /* eslint-disable */ /** * Assisted Migration Agent API * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * * The version of the OpenAPI document: v1 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import { mapValues } from '../runtime.js'; /** * * @export * @interface Group */ export interface Group { /** * Unique group identifier (UUID) * @type {string} * @memberof Group */ id: string; /** * Group display name * @type {string} * @memberof Group */ name: string; /** * Optional group description * @type {string} * @memberof Group */ description?: string; /** * Filter expression (pkg/filter DSL) * @type {string} * @memberof Group */ filter: string; /** * Tags associated with this group (applied to matching VMs) * @type {Array} * @memberof Group */ tags?: Array; /** * Timestamp when the group was created * @type {Date} * @memberof Group */ createdAt?: Date; /** * Timestamp when the group was last updated * @type {Date} * @memberof Group */ updatedAt?: Date; } /** * Check if a given object implements the Group interface. */ export function instanceOfGroup(value: object): value is Group { if (!('id' in value) || value['id'] === undefined) return false; if (!('name' in value) || value['name'] === undefined) return false; if (!('filter' in value) || value['filter'] === undefined) return false; return true; } export function GroupFromJSON(json: any): Group { return GroupFromJSONTyped(json, false); } export function GroupFromJSONTyped(json: any, ignoreDiscriminator: boolean): Group { if (json == null) { return json; } return { 'id': json['id'], 'name': json['name'], 'description': json['description'] == null ? undefined : json['description'], 'filter': json['filter'], 'tags': json['tags'] == null ? undefined : json['tags'], 'createdAt': json['createdAt'] == null ? undefined : (new Date(json['createdAt'])), 'updatedAt': json['updatedAt'] == null ? undefined : (new Date(json['updatedAt'])), }; } export function GroupToJSON(json: any): Group { return GroupToJSONTyped(json, false); } export function GroupToJSONTyped(value?: Group | null, ignoreDiscriminator: boolean = false): any { if (value == null) { return value; } return { 'id': value['id'], 'name': value['name'], 'description': value['description'], 'filter': value['filter'], 'tags': value['tags'], 'createdAt': value['createdAt'] == null ? value['createdAt'] : value['createdAt'].toISOString(), 'updatedAt': value['updatedAt'] == null ? value['updatedAt'] : value['updatedAt'].toISOString(), }; }