/**
 * 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.
 */

import { V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApply } from './v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApply';
import { V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsComposite } from './v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsComposite';
import { V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExec } from './v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExec';

export class V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommands {
    'apply'?: V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApply;
    /**
    * Map of implementation-dependant free-form YAML attributes.
    */
    'attributes'?: object;
    'composite'?: V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsComposite;
    'exec'?: V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExec;
    /**
    * Mandatory identifier that allows referencing this command in composite commands, from a parent, or in events.
    */
    'id': string;

    static discriminator: string | undefined = undefined;

    static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
        {
            "name": "apply",
            "baseName": "apply",
            "type": "V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApply"
        },
        {
            "name": "attributes",
            "baseName": "attributes",
            "type": "object"
        },
        {
            "name": "composite",
            "baseName": "composite",
            "type": "V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsComposite"
        },
        {
            "name": "exec",
            "baseName": "exec",
            "type": "V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExec"
        },
        {
            "name": "id",
            "baseName": "id",
            "type": "string"
        }    ];

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

