// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.

using System.Xml.Serialization;

#pragma warning disable
//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:4.0.30319.17929
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

//
// This source code was auto-generated by xsd, Version=4.0.30319.17929.
//

namespace Microsoft.PowerShell.Cmdletization.Xml
{
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.Xml.Serialization.XmlType(AnonymousType = true, Namespace = "http://schemas.microsoft.com/cmdlets-over-objects/2009/11")]
    [System.Xml.Serialization.XmlRoot(Namespace = "http://schemas.microsoft.com/cmdlets-over-objects/2009/11", IsNullable = false)]
    internal partial class PowerShellMetadata
    {
        private ClassMetadata _classField;

        private EnumMetadataEnum[] _enumsField;

        /// <remarks/>
        public ClassMetadata Class
        {
            get
            {
                return this._classField;
            }

            set
            {
                this._classField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItem("Enum", IsNullable = false)]
        public EnumMetadataEnum[] Enums
        {
            get
            {
                return this._enumsField;
            }

            set
            {
                this._enumsField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.Xml.Serialization.XmlType(Namespace = "http://schemas.microsoft.com/cmdlets-over-objects/2009/11")]
    internal partial class ClassMetadata
    {
        private string _versionField;

        private string _defaultNounField;

        private ClassMetadataInstanceCmdlets _instanceCmdletsField;

        private StaticCmdletMetadata[] _staticCmdletsField;

        private ClassMetadataData[] _cmdletAdapterPrivateDataField;

        private string _cmdletAdapterField;

        private string _classNameField;

        private string _classVersionField;

        /// <remarks/>
        public string Version
        {
            get
            {
                return this._versionField;
            }

            set
            {
                this._versionField = value;
            }
        }

        /// <remarks/>
        public string DefaultNoun
        {
            get
            {
                return this._defaultNounField;
            }

            set
            {
                this._defaultNounField = value;
            }
        }

        /// <remarks/>
        public ClassMetadataInstanceCmdlets InstanceCmdlets
        {
            get
            {
                return this._instanceCmdletsField;
            }

            set
            {
                this._instanceCmdletsField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItem("Cmdlet", IsNullable = false)]
        public StaticCmdletMetadata[] StaticCmdlets
        {
            get
            {
                return this._staticCmdletsField;
            }

            set
            {
                this._staticCmdletsField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItem("Data", IsNullable = false)]
        public ClassMetadataData[] CmdletAdapterPrivateData
        {
            get
            {
                return this._cmdletAdapterPrivateDataField;
            }

            set
            {
                this._cmdletAdapterPrivateDataField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttribute()]
        public string CmdletAdapter
        {
            get
            {
                return this._cmdletAdapterField;
            }

            set
            {
                this._cmdletAdapterField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttribute()]
        public string ClassName
        {
            get
            {
                return this._classNameField;
            }

            set
            {
                this._classNameField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttribute()]
        public string ClassVersion
        {
            get
            {
                return this._classVersionField;
            }

            set
            {
                this._classVersionField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.Xml.Serialization.XmlType(AnonymousType = true, Namespace = "http://schemas.microsoft.com/cmdlets-over-objects/2009/11")]
    internal partial class ClassMetadataInstanceCmdlets
    {
        private GetCmdletParameters _getCmdletParametersField;

        private GetCmdletMetadata _getCmdletField;

        private InstanceCmdletMetadata[] _cmdletField;

        /// <remarks/>
        public GetCmdletParameters GetCmdletParameters
        {
            get
            {
                return this._getCmdletParametersField;
            }

            set
            {
                this._getCmdletParametersField = value;
            }
        }

        /// <remarks/>
        public GetCmdletMetadata GetCmdlet
        {
            get
            {
                return this._getCmdletField;
            }

            set
            {
                this._getCmdletField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElement("Cmdlet")]
        public InstanceCmdletMetadata[] Cmdlet
        {
            get
            {
                return this._cmdletField;
            }

            set
            {
                this._cmdletField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.Xml.Serialization.XmlType(Namespace = "http://schemas.microsoft.com/cmdlets-over-objects/2009/11")]
    internal partial class GetCmdletParameters
    {
        private PropertyMetadata[] _queryablePropertiesField;

        private Association[] _queryableAssociationsField;

        private QueryOption[] _queryOptionsField;

        private string _defaultCmdletParameterSetField;

        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItem("Property", IsNullable = false)]
        public PropertyMetadata[] QueryableProperties
        {
            get
            {
                return this._queryablePropertiesField;
            }

            set
            {
                this._queryablePropertiesField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItem(IsNullable = false)]
        public Association[] QueryableAssociations
        {
            get
            {
                return this._queryableAssociationsField;
            }

            set
            {
                this._queryableAssociationsField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItem("Option", IsNullable = false)]
        public QueryOption[] QueryOptions
        {
            get
            {
                return this._queryOptionsField;
            }

            set
            {
                this._queryOptionsField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttribute()]
        public string DefaultCmdletParameterSet
        {
            get
            {
                return this._defaultCmdletParameterSetField;
            }

            set
            {
                this._defaultCmdletParameterSetField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.Xml.Serialization.XmlType(Namespace = "http://schemas.microsoft.com/cmdlets-over-objects/2009/11")]
    internal partial class PropertyMetadata
    {
        private TypeMetadata _typeField;

        private PropertyQuery[] _itemsField;

        private ItemsChoiceType[] _itemsElementNameField;

        private string _propertyNameField;

        /// <remarks/>
        public TypeMetadata Type
        {
            get
            {
                return this._typeField;
            }

            set
            {
                this._typeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElement("ExcludeQuery", typeof(WildcardablePropertyQuery))]
        [System.Xml.Serialization.XmlElement("MaxValueQuery", typeof(PropertyQuery))]
        [System.Xml.Serialization.XmlElement("MinValueQuery", typeof(PropertyQuery))]
        [System.Xml.Serialization.XmlElement("RegularQuery", typeof(WildcardablePropertyQuery))]
        [System.Xml.Serialization.XmlChoiceIdentifier("ItemsElementName")]
        public PropertyQuery[] Items
        {
            get
            {
                return this._itemsField;
            }

            set
            {
                this._itemsField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElement("ItemsElementName")]
        [System.Xml.Serialization.XmlIgnore()]
        public ItemsChoiceType[] ItemsElementName
        {
            get
            {
                return this._itemsElementNameField;
            }

            set
            {
                this._itemsElementNameField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttribute()]
        public string PropertyName
        {
            get
            {
                return this._propertyNameField;
            }

            set
            {
                this._propertyNameField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.Xml.Serialization.XmlType(Namespace = "http://schemas.microsoft.com/cmdlets-over-objects/2009/11")]
    internal partial class TypeMetadata
    {
        private string _pSTypeField;

        private string _eTSTypeField;

        /// <remarks/>
        [System.Xml.Serialization.XmlAttribute()]
        public string PSType
        {
            get
            {
                return this._pSTypeField;
            }

            set
            {
                this._pSTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttribute()]
        public string ETSType
        {
            get
            {
                return this._eTSTypeField;
            }

            set
            {
                this._eTSTypeField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.Xml.Serialization.XmlType(Namespace = "http://schemas.microsoft.com/cmdlets-over-objects/2009/11")]
    internal partial class Association
    {
        private AssociationAssociatedInstance _associatedInstanceField;

        private string _association1Field;

        private string _sourceRoleField;

        private string _resultRoleField;

        /// <remarks/>
        public AssociationAssociatedInstance AssociatedInstance
        {
            get
            {
                return this._associatedInstanceField;
            }

            set
            {
                this._associatedInstanceField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttribute("Association")]
        public string Association1
        {
            get
            {
                return this._association1Field;
            }

            set
            {
                this._association1Field = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttribute()]
        public string SourceRole
        {
            get
            {
                return this._sourceRoleField;
            }

            set
            {
                this._sourceRoleField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttribute()]
        public string ResultRole
        {
            get
            {
                return this._resultRoleField;
            }

            set
            {
                this._resultRoleField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.Xml.Serialization.XmlType(AnonymousType = true, Namespace = "http://schemas.microsoft.com/cmdlets-over-objects/2009/11")]
    internal partial class AssociationAssociatedInstance
    {
        private TypeMetadata _typeField;

        private CmdletParameterMetadataForGetCmdletFilteringParameter _cmdletParameterMetadataField;

        /// <remarks/>
        public TypeMetadata Type
        {
            get
            {
                return this._typeField;
            }

            set
            {
                this._typeField = value;
            }
        }

        /// <remarks/>
        public CmdletParameterMetadataForGetCmdletFilteringParameter CmdletParameterMetadata
        {
            get
            {
                return this._cmdletParameterMetadataField;
            }

            set
            {
                this._cmdletParameterMetadataField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.Xml.Serialization.XmlType(Namespace = "http://schemas.microsoft.com/cmdlets-over-objects/2009/11")]
    internal partial class CmdletParameterMetadataForGetCmdletFilteringParameter : CmdletParameterMetadataForGetCmdletParameter
    {
        private bool _errorOnNoMatchField;

        private bool _errorOnNoMatchFieldSpecified;

        /// <remarks/>
        [System.Xml.Serialization.XmlAttribute()]
        public bool ErrorOnNoMatch
        {
            get
            {
                return this._errorOnNoMatchField;
            }

            set
            {
                this._errorOnNoMatchField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnore()]
        public bool ErrorOnNoMatchSpecified
        {
            get
            {
                return this._errorOnNoMatchFieldSpecified;
            }

            set
            {
                this._errorOnNoMatchFieldSpecified = value;
            }
        }
    }

    /// <remarks/>
    [System.Xml.Serialization.XmlInclude(typeof(CmdletParameterMetadataForGetCmdletFilteringParameter))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.Xml.Serialization.XmlType(Namespace = "http://schemas.microsoft.com/cmdlets-over-objects/2009/11")]
    internal partial class CmdletParameterMetadataForGetCmdletParameter : CmdletParameterMetadata
    {
        private bool _valueFromPipelineField;

        private bool _valueFromPipelineFieldSpecified;

        private bool _valueFromPipelineByPropertyNameField;

        private bool _valueFromPipelineByPropertyNameFieldSpecified;

        private string[] _cmdletParameterSetsField;

        /// <remarks/>
        [System.Xml.Serialization.XmlAttribute()]
        public bool ValueFromPipeline
        {
            get
            {
                return this._valueFromPipelineField;
            }

            set
            {
                this._valueFromPipelineField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnore()]
        public bool ValueFromPipelineSpecified
        {
            get
            {
                return this._valueFromPipelineFieldSpecified;
            }

            set
            {
                this._valueFromPipelineFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttribute()]
        public bool ValueFromPipelineByPropertyName
        {
            get
            {
                return this._valueFromPipelineByPropertyNameField;
            }

            set
            {
                this._valueFromPipelineByPropertyNameField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnore()]
        public bool ValueFromPipelineByPropertyNameSpecified
        {
            get
            {
                return this._valueFromPipelineByPropertyNameFieldSpecified;
            }

            set
            {
                this._valueFromPipelineByPropertyNameFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttribute()]
        public string[] CmdletParameterSets
        {
            get
            {
                return this._cmdletParameterSetsField;
            }

            set
            {
                this._cmdletParameterSetsField = value;
            }
        }
    }

    /// <remarks/>
    [System.Xml.Serialization.XmlInclude(typeof(CmdletParameterMetadataForGetCmdletParameter))]
    [System.Xml.Serialization.XmlInclude(typeof(CmdletParameterMetadataForGetCmdletFilteringParameter))]
    [System.Xml.Serialization.XmlInclude(typeof(CmdletParameterMetadataForInstanceMethodParameter))]
    [System.Xml.Serialization.XmlInclude(typeof(CmdletParameterMetadataForStaticMethodParameter))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.Xml.Serialization.XmlType(Namespace = "http://schemas.microsoft.com/cmdlets-over-objects/2009/11")]
    internal partial class CmdletParameterMetadata
    {
        private object _allowEmptyCollectionField;

        private object _allowEmptyStringField;

        private object _allowNullField;

        private object _validateNotNullField;

        private object _validateNotNullOrEmptyField;

        private CmdletParameterMetadataValidateCount _validateCountField;

        private CmdletParameterMetadataValidateLength _validateLengthField;

        private CmdletParameterMetadataValidateRange _validateRangeField;

        private string[] _validateSetField;

        private ObsoleteAttributeMetadata _obsoleteField;

        private bool _isMandatoryField;

        private bool _isMandatoryFieldSpecified;

        private string[] _aliasesField;

        private string _pSNameField;

        private string _positionField;

        /// <remarks/>
        public object AllowEmptyCollection
        {
            get
            {
                return this._allowEmptyCollectionField;
            }

            set
            {
                this._allowEmptyCollectionField = value;
            }
        }

        /// <remarks/>
        public object AllowEmptyString
        {
            get
            {
                return this._allowEmptyStringField;
            }

            set
            {
                this._allowEmptyStringField = value;
            }
        }

        /// <remarks/>
        public object AllowNull
        {
            get
            {
                return this._allowNullField;
            }

            set
            {
                this._allowNullField = value;
            }
        }

        /// <remarks/>
        public object ValidateNotNull
        {
            get
            {
                return this._validateNotNullField;
            }

            set
            {
                this._validateNotNullField = value;
            }
        }

        /// <remarks/>
        public object ValidateNotNullOrEmpty
        {
            get
            {
                return this._validateNotNullOrEmptyField;
            }

            set
            {
                this._validateNotNullOrEmptyField = value;
            }
        }

        /// <remarks/>
        public CmdletParameterMetadataValidateCount ValidateCount
        {
            get
            {
                return this._validateCountField;
            }

            set
            {
                this._validateCountField = value;
            }
        }

        /// <remarks/>
        public CmdletParameterMetadataValidateLength ValidateLength
        {
            get
            {
                return this._validateLengthField;
            }

            set
            {
                this._validateLengthField = value;
            }
        }

        /// <remarks/>
        public CmdletParameterMetadataValidateRange ValidateRange
        {
            get
            {
                return this._validateRangeField;
            }

            set
            {
                this._validateRangeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItem("AllowedValue", IsNullable = false)]
        public string[] ValidateSet
        {
            get
            {
                return this._validateSetField;
            }

            set
            {
                this._validateSetField = value;
            }
        }

        /// <remarks/>
        public ObsoleteAttributeMetadata Obsolete
        {
            get
            {
                return this._obsoleteField;
            }

            set
            {
                this._obsoleteField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttribute()]
        public bool IsMandatory
        {
            get
            {
                return this._isMandatoryField;
            }

            set
            {
                this._isMandatoryField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnore()]
        public bool IsMandatorySpecified
        {
            get
            {
                return this._isMandatoryFieldSpecified;
            }

            set
            {
                this._isMandatoryFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttribute()]
        public string[] Aliases
        {
            get
            {
                return this._aliasesField;
            }

            set
            {
                this._aliasesField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttribute()]
        public string PSName
        {
            get
            {
                return this._pSNameField;
            }

            set
            {
                this._pSNameField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttribute(DataType = "nonNegativeInteger")]
        public string Position
        {
            get
            {
                return this._positionField;
            }

            set
            {
                this._positionField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.Xml.Serialization.XmlType(AnonymousType = true, Namespace = "http://schemas.microsoft.com/cmdlets-over-objects/2009/11")]
    internal partial class CmdletParameterMetadataValidateCount
    {
        private string _minField;

        private string _maxField;

        /// <remarks/>
        [System.Xml.Serialization.XmlAttribute(DataType = "nonNegativeInteger")]
        public string Min
        {
            get
            {
                return this._minField;
            }

            set
            {
                this._minField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttribute(DataType = "nonNegativeInteger")]
        public string Max
        {
            get
            {
                return this._maxField;
            }

            set
            {
                this._maxField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.Xml.Serialization.XmlType(AnonymousType = true, Namespace = "http://schemas.microsoft.com/cmdlets-over-objects/2009/11")]
    internal partial class CmdletParameterMetadataValidateLength
    {
        private string _minField;

        private string _maxField;

        /// <remarks/>
        [System.Xml.Serialization.XmlAttribute(DataType = "nonNegativeInteger")]
        public string Min
        {
            get
            {
                return this._minField;
            }

            set
            {
                this._minField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttribute(DataType = "nonNegativeInteger")]
        public string Max
        {
            get
            {
                return this._maxField;
            }

            set
            {
                this._maxField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.Xml.Serialization.XmlType(AnonymousType = true, Namespace = "http://schemas.microsoft.com/cmdlets-over-objects/2009/11")]
    internal partial class CmdletParameterMetadataValidateRange
    {
        private string _minField;

        private string _maxField;

        /// <remarks/>
        [System.Xml.Serialization.XmlAttribute(DataType = "integer")]
        public string Min
        {
            get
            {
                return this._minField;
            }

            set
            {
                this._minField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttribute(DataType = "integer")]
        public string Max
        {
            get
            {
                return this._maxField;
            }

            set
            {
                this._maxField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.Xml.Serialization.XmlType(Namespace = "http://schemas.microsoft.com/cmdlets-over-objects/2009/11")]
    internal partial class ObsoleteAttributeMetadata
    {
        private string _messageField;

        /// <remarks/>
        [System.Xml.Serialization.XmlAttribute()]
        public string Message
        {
            get
            {
                return this._messageField;
            }

            set
            {
                this._messageField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.Xml.Serialization.XmlType(Namespace = "http://schemas.microsoft.com/cmdlets-over-objects/2009/11")]
    internal partial class CmdletParameterMetadataForInstanceMethodParameter : CmdletParameterMetadata
    {
        private bool _valueFromPipelineByPropertyNameField;

        private bool _valueFromPipelineByPropertyNameFieldSpecified;

        /// <remarks/>
        [System.Xml.Serialization.XmlAttribute()]
        public bool ValueFromPipelineByPropertyName
        {
            get
            {
                return this._valueFromPipelineByPropertyNameField;
            }

            set
            {
                this._valueFromPipelineByPropertyNameField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnore()]
        public bool ValueFromPipelineByPropertyNameSpecified
        {
            get
            {
                return this._valueFromPipelineByPropertyNameFieldSpecified;
            }

            set
            {
                this._valueFromPipelineByPropertyNameFieldSpecified = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.Xml.Serialization.XmlType(Namespace = "http://schemas.microsoft.com/cmdlets-over-objects/2009/11")]
    internal partial class CmdletParameterMetadataForStaticMethodParameter : CmdletParameterMetadata
    {
        private bool _valueFromPipelineField;

        private bool _valueFromPipelineFieldSpecified;

        private bool _valueFromPipelineByPropertyNameField;

        private bool _valueFromPipelineByPropertyNameFieldSpecified;

        /// <remarks/>
        [System.Xml.Serialization.XmlAttribute()]
        public bool ValueFromPipeline
        {
            get
            {
                return this._valueFromPipelineField;
            }

            set
            {
                this._valueFromPipelineField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnore()]
        public bool ValueFromPipelineSpecified
        {
            get
            {
                return this._valueFromPipelineFieldSpecified;
            }

            set
            {
                this._valueFromPipelineFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttribute()]
        public bool ValueFromPipelineByPropertyName
        {
            get
            {
                return this._valueFromPipelineByPropertyNameField;
            }

            set
            {
                this._valueFromPipelineByPropertyNameField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnore()]
        public bool ValueFromPipelineByPropertyNameSpecified
        {
            get
            {
                return this._valueFromPipelineByPropertyNameFieldSpecified;
            }

            set
            {
                this._valueFromPipelineByPropertyNameFieldSpecified = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.Xml.Serialization.XmlType(Namespace = "http://schemas.microsoft.com/cmdlets-over-objects/2009/11")]
    internal partial class QueryOption
    {
        private TypeMetadata _typeField;

        private CmdletParameterMetadataForGetCmdletParameter _cmdletParameterMetadataField;

        private string _optionNameField;

        /// <remarks/>
        public TypeMetadata Type
        {
            get
            {
                return this._typeField;
            }

            set
            {
                this._typeField = value;
            }
        }

        /// <remarks/>
        public CmdletParameterMetadataForGetCmdletParameter CmdletParameterMetadata
        {
            get
            {
                return this._cmdletParameterMetadataField;
            }

            set
            {
                this._cmdletParameterMetadataField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttribute()]
        public string OptionName
        {
            get
            {
                return this._optionNameField;
            }

            set
            {
                this._optionNameField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.Xml.Serialization.XmlType(Namespace = "http://schemas.microsoft.com/cmdlets-over-objects/2009/11")]
    internal partial class GetCmdletMetadata
    {
        private CommonCmdletMetadata _cmdletMetadataField;

        private GetCmdletParameters _getCmdletParametersField;

        /// <remarks/>
        public CommonCmdletMetadata CmdletMetadata
        {
            get
            {
                return this._cmdletMetadataField;
            }

            set
            {
                this._cmdletMetadataField = value;
            }
        }

        /// <remarks/>
        public GetCmdletParameters GetCmdletParameters
        {
            get
            {
                return this._getCmdletParametersField;
            }

            set
            {
                this._getCmdletParametersField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.Xml.Serialization.XmlType(Namespace = "http://schemas.microsoft.com/cmdlets-over-objects/2009/11")]
    internal partial class CommonCmdletMetadata
    {
        private ObsoleteAttributeMetadata _obsoleteField;

        private string _verbField;

        private string _nounField;

        private string[] _aliasesField;

        private ConfirmImpact _confirmImpactField;

        private bool _confirmImpactFieldSpecified;

        private string _helpUriField;

        /// <remarks/>
        public ObsoleteAttributeMetadata Obsolete
        {
            get
            {
                return this._obsoleteField;
            }

            set
            {
                this._obsoleteField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttribute()]
        public string Verb
        {
            get
            {
                return this._verbField;
            }

            set
            {
                this._verbField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttribute()]
        public string Noun
        {
            get
            {
                return this._nounField;
            }

            set
            {
                this._nounField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttribute()]
        public string[] Aliases
        {
            get
            {
                return this._aliasesField;
            }

            set
            {
                this._aliasesField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttribute()]
        public ConfirmImpact ConfirmImpact
        {
            get
            {
                return this._confirmImpactField;
            }

            set
            {
                this._confirmImpactField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnore()]
        public bool ConfirmImpactSpecified
        {
            get
            {
                return this._confirmImpactFieldSpecified;
            }

            set
            {
                this._confirmImpactFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttribute(DataType = "anyURI")]
        public string HelpUri
        {
            get
            {
                return this._helpUriField;
            }

            set
            {
                this._helpUriField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.Xml.Serialization.XmlType(Namespace = "http://schemas.microsoft.com/cmdlets-over-objects/2009/11")]
    public enum ConfirmImpact
    {
        /// <remarks/>
        None,

        /// <remarks/>
        Low,

        /// <remarks/>
        Medium,

        /// <remarks/>
        High,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.Xml.Serialization.XmlType(Namespace = "http://schemas.microsoft.com/cmdlets-over-objects/2009/11")]
    internal partial class StaticCmdletMetadata
    {
        private StaticCmdletMetadataCmdletMetadata _cmdletMetadataField;

        private StaticMethodMetadata[] _methodField;

        /// <remarks/>
        public StaticCmdletMetadataCmdletMetadata CmdletMetadata
        {
            get
            {
                return this._cmdletMetadataField;
            }

            set
            {
                this._cmdletMetadataField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElement("Method")]
        public StaticMethodMetadata[] Method
        {
            get
            {
                return this._methodField;
            }

            set
            {
                this._methodField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.Xml.Serialization.XmlType(AnonymousType = true, Namespace = "http://schemas.microsoft.com/cmdlets-over-objects/2009/11")]
    internal partial class StaticCmdletMetadataCmdletMetadata : CommonCmdletMetadata
    {
        private string _defaultCmdletParameterSetField;

        /// <remarks/>
        [System.Xml.Serialization.XmlAttribute()]
        public string DefaultCmdletParameterSet
        {
            get
            {
                return this._defaultCmdletParameterSetField;
            }

            set
            {
                this._defaultCmdletParameterSetField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.Xml.Serialization.XmlType(Namespace = "http://schemas.microsoft.com/cmdlets-over-objects/2009/11")]
    internal partial class StaticMethodMetadata : CommonMethodMetadata
    {
        private StaticMethodParameterMetadata[] _parametersField;

        private string _cmdletParameterSetField;

        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItem("Parameter", IsNullable = false)]
        public StaticMethodParameterMetadata[] Parameters
        {
            get
            {
                return this._parametersField;
            }

            set
            {
                this._parametersField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttribute()]
        public string CmdletParameterSet
        {
            get
            {
                return this._cmdletParameterSetField;
            }

            set
            {
                this._cmdletParameterSetField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.Xml.Serialization.XmlType(Namespace = "http://schemas.microsoft.com/cmdlets-over-objects/2009/11")]
    internal partial class StaticMethodParameterMetadata : CommonMethodParameterMetadata
    {
        private CmdletParameterMetadataForStaticMethodParameter _cmdletParameterMetadataField;

        private CmdletOutputMetadata _cmdletOutputMetadataField;

        /// <remarks/>
        public CmdletParameterMetadataForStaticMethodParameter CmdletParameterMetadata
        {
            get
            {
                return this._cmdletParameterMetadataField;
            }

            set
            {
                this._cmdletParameterMetadataField = value;
            }
        }

        /// <remarks/>
        public CmdletOutputMetadata CmdletOutputMetadata
        {
            get
            {
                return this._cmdletOutputMetadataField;
            }

            set
            {
                this._cmdletOutputMetadataField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.Xml.Serialization.XmlType(Namespace = "http://schemas.microsoft.com/cmdlets-over-objects/2009/11")]
    internal partial class CmdletOutputMetadata
    {
        private object _errorCodeField;

        private string _pSNameField;

        /// <remarks/>
        public object ErrorCode
        {
            get
            {
                return this._errorCodeField;
            }

            set
            {
                this._errorCodeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttribute()]
        public string PSName
        {
            get
            {
                return this._pSNameField;
            }

            set
            {
                this._pSNameField = value;
            }
        }
    }

    /// <remarks/>
    [System.Xml.Serialization.XmlInclude(typeof(InstanceMethodParameterMetadata))]
    [System.Xml.Serialization.XmlInclude(typeof(StaticMethodParameterMetadata))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.Xml.Serialization.XmlType(Namespace = "http://schemas.microsoft.com/cmdlets-over-objects/2009/11")]
    internal partial class CommonMethodParameterMetadata
    {
        private TypeMetadata _typeField;

        private string _parameterNameField;

        private string _defaultValueField;

        /// <remarks/>
        public TypeMetadata Type
        {
            get
            {
                return this._typeField;
            }

            set
            {
                this._typeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttribute()]
        public string ParameterName
        {
            get
            {
                return this._parameterNameField;
            }

            set
            {
                this._parameterNameField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttribute()]
        public string DefaultValue
        {
            get
            {
                return this._defaultValueField;
            }

            set
            {
                this._defaultValueField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.Xml.Serialization.XmlType(Namespace = "http://schemas.microsoft.com/cmdlets-over-objects/2009/11")]
    internal partial class InstanceMethodParameterMetadata : CommonMethodParameterMetadata
    {
        private CmdletParameterMetadataForInstanceMethodParameter _cmdletParameterMetadataField;

        private CmdletOutputMetadata _cmdletOutputMetadataField;

        /// <remarks/>
        public CmdletParameterMetadataForInstanceMethodParameter CmdletParameterMetadata
        {
            get
            {
                return this._cmdletParameterMetadataField;
            }

            set
            {
                this._cmdletParameterMetadataField = value;
            }
        }

        /// <remarks/>
        public CmdletOutputMetadata CmdletOutputMetadata
        {
            get
            {
                return this._cmdletOutputMetadataField;
            }

            set
            {
                this._cmdletOutputMetadataField = value;
            }
        }
    }

    /// <remarks/>
    [System.Xml.Serialization.XmlInclude(typeof(InstanceMethodMetadata))]
    [System.Xml.Serialization.XmlInclude(typeof(StaticMethodMetadata))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.Xml.Serialization.XmlType(Namespace = "http://schemas.microsoft.com/cmdlets-over-objects/2009/11")]
    internal partial class CommonMethodMetadata
    {
        private CommonMethodMetadataReturnValue _returnValueField;

        private string _methodNameField;

        /// <remarks/>
        public CommonMethodMetadataReturnValue ReturnValue
        {
            get
            {
                return this._returnValueField;
            }

            set
            {
                this._returnValueField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttribute()]
        public string MethodName
        {
            get
            {
                return this._methodNameField;
            }

            set
            {
                this._methodNameField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.Xml.Serialization.XmlType(AnonymousType = true, Namespace = "http://schemas.microsoft.com/cmdlets-over-objects/2009/11")]
    internal partial class CommonMethodMetadataReturnValue
    {
        private TypeMetadata _typeField;

        private CmdletOutputMetadata _cmdletOutputMetadataField;

        /// <remarks/>
        public TypeMetadata Type
        {
            get
            {
                return this._typeField;
            }

            set
            {
                this._typeField = value;
            }
        }

        /// <remarks/>
        public CmdletOutputMetadata CmdletOutputMetadata
        {
            get
            {
                return this._cmdletOutputMetadataField;
            }

            set
            {
                this._cmdletOutputMetadataField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.Xml.Serialization.XmlType(Namespace = "http://schemas.microsoft.com/cmdlets-over-objects/2009/11")]
    internal partial class InstanceMethodMetadata : CommonMethodMetadata
    {
        private InstanceMethodParameterMetadata[] _parametersField;

        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItem("Parameter", IsNullable = false)]
        public InstanceMethodParameterMetadata[] Parameters
        {
            get
            {
                return this._parametersField;
            }

            set
            {
                this._parametersField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.Xml.Serialization.XmlType(Namespace = "http://schemas.microsoft.com/cmdlets-over-objects/2009/11")]
    internal partial class InstanceCmdletMetadata
    {
        private CommonCmdletMetadata _cmdletMetadataField;

        private InstanceMethodMetadata _methodField;

        private GetCmdletParameters _getCmdletParametersField;

        /// <remarks/>
        public CommonCmdletMetadata CmdletMetadata
        {
            get
            {
                return this._cmdletMetadataField;
            }

            set
            {
                this._cmdletMetadataField = value;
            }
        }

        /// <remarks/>
        public InstanceMethodMetadata Method
        {
            get
            {
                return this._methodField;
            }

            set
            {
                this._methodField = value;
            }
        }

        /// <remarks/>
        public GetCmdletParameters GetCmdletParameters
        {
            get
            {
                return this._getCmdletParametersField;
            }

            set
            {
                this._getCmdletParametersField = value;
            }
        }
    }

    /// <remarks/>
    [System.Xml.Serialization.XmlInclude(typeof(WildcardablePropertyQuery))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.Xml.Serialization.XmlType(Namespace = "http://schemas.microsoft.com/cmdlets-over-objects/2009/11")]
    internal partial class PropertyQuery
    {
        private CmdletParameterMetadataForGetCmdletFilteringParameter _cmdletParameterMetadataField;

        /// <remarks/>
        public CmdletParameterMetadataForGetCmdletFilteringParameter CmdletParameterMetadata
        {
            get
            {
                return this._cmdletParameterMetadataField;
            }

            set
            {
                this._cmdletParameterMetadataField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.Xml.Serialization.XmlType(Namespace = "http://schemas.microsoft.com/cmdlets-over-objects/2009/11")]
    internal partial class WildcardablePropertyQuery : PropertyQuery
    {
        private bool _allowGlobbingField;

        private bool _allowGlobbingFieldSpecified;

        /// <remarks/>
        [System.Xml.Serialization.XmlAttribute()]
        public bool AllowGlobbing
        {
            get
            {
                return this._allowGlobbingField;
            }

            set
            {
                this._allowGlobbingField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnore()]
        public bool AllowGlobbingSpecified
        {
            get
            {
                return this._allowGlobbingFieldSpecified;
            }

            set
            {
                this._allowGlobbingFieldSpecified = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.Xml.Serialization.XmlType(Namespace = "http://schemas.microsoft.com/cmdlets-over-objects/2009/11", IncludeInSchema = false)]
    public enum ItemsChoiceType
    {
        /// <remarks/>
        ExcludeQuery,

        /// <remarks/>
        MaxValueQuery,

        /// <remarks/>
        MinValueQuery,

        /// <remarks/>
        RegularQuery,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.Xml.Serialization.XmlType(AnonymousType = true, Namespace = "http://schemas.microsoft.com/cmdlets-over-objects/2009/11")]
    internal partial class ClassMetadataData
    {
        private string _nameField;

        private string _valueField;

        /// <remarks/>
        [System.Xml.Serialization.XmlAttribute()]
        public string Name
        {
            get
            {
                return this._nameField;
            }

            set
            {
                this._nameField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlText()]
        public string Value
        {
            get
            {
                return this._valueField;
            }

            set
            {
                this._valueField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.Xml.Serialization.XmlType(AnonymousType = true, Namespace = "http://schemas.microsoft.com/cmdlets-over-objects/2009/11")]
    internal partial class EnumMetadataEnum
    {
        private EnumMetadataEnumValue[] _valueField;

        private string _enumNameField;

        private string _underlyingTypeField;

        private bool _bitwiseFlagsField;

        private bool _bitwiseFlagsFieldSpecified;

        /// <remarks/>
        [System.Xml.Serialization.XmlElement("Value")]
        public EnumMetadataEnumValue[] Value
        {
            get
            {
                return this._valueField;
            }

            set
            {
                this._valueField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttribute()]
        public string EnumName
        {
            get
            {
                return this._enumNameField;
            }

            set
            {
                this._enumNameField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttribute()]
        public string UnderlyingType
        {
            get
            {
                return this._underlyingTypeField;
            }

            set
            {
                this._underlyingTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttribute()]
        public bool BitwiseFlags
        {
            get
            {
                return this._bitwiseFlagsField;
            }

            set
            {
                this._bitwiseFlagsField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnore()]
        public bool BitwiseFlagsSpecified
        {
            get
            {
                return this._bitwiseFlagsFieldSpecified;
            }

            set
            {
                this._bitwiseFlagsFieldSpecified = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.Xml.Serialization.XmlType(AnonymousType = true, Namespace = "http://schemas.microsoft.com/cmdlets-over-objects/2009/11")]
    internal partial class EnumMetadataEnumValue
    {
        private string _nameField;

        private string _valueField;

        /// <remarks/>
        [System.Xml.Serialization.XmlAttribute()]
        public string Name
        {
            get
            {
                return this._nameField;
            }

            set
            {
                this._nameField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttribute(DataType = "integer")]
        public string Value
        {
            get
            {
                return this._valueField;
            }

            set
            {
                this._valueField = value;
            }
        }
    }
}
