/**
 * Kubernetes
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: 
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


/**
* ManagedFieldsEntry is a workflow-id, a FieldSet and the group version of the resource that the fieldset applies to.
*/
export class V1alpha2DevWorkspaceTemplateMetadataManagedFields {
    /**
    * APIVersion defines the version of this resource that this field set applies to. The format is \"group/version\" just like the top-level APIVersion field. It is necessary to track the version of a field set because it cannot be automatically converted.
    */
    'apiVersion'?: string;
    /**
    * FieldsType is the discriminator for the different fields format and version. There is currently only one possible value: \"FieldsV1\"
    */
    'fieldsType'?: string;
    /**
    * FieldsV1 holds the first JSON version format as described in the \"FieldsV1\" type.
    */
    'fieldsV1'?: object;
    /**
    * Manager is an identifier of the workflow managing these fields.
    */
    'manager'?: string;
    /**
    * Operation is the type of operation which lead to this ManagedFieldsEntry being created. The only valid values for this field are \'Apply\' and \'Update\'.
    */
    'operation'?: string;
    /**
    * Time is timestamp of when these fields were set. It should always be empty if Operation is \'Apply\'
    */
    'time'?: Date;

    static discriminator: string | undefined = undefined;

    static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
        {
            "name": "apiVersion",
            "baseName": "apiVersion",
            "type": "string"
        },
        {
            "name": "fieldsType",
            "baseName": "fieldsType",
            "type": "string"
        },
        {
            "name": "fieldsV1",
            "baseName": "fieldsV1",
            "type": "object"
        },
        {
            "name": "manager",
            "baseName": "manager",
            "type": "string"
        },
        {
            "name": "operation",
            "baseName": "operation",
            "type": "string"
        },
        {
            "name": "time",
            "baseName": "time",
            "type": "Date"
        }    ];

    static getAttributeTypeMap() {
        return V1alpha2DevWorkspaceTemplateMetadataManagedFields.attributeTypeMap;
    }
}

