<?xml version='1.0' encoding='utf-8'?>
<PowerShellMetadata xmlns="http://schemas.microsoft.com/cmdlets-over-objects/2009/11">
  <Class ClassName="root/standardcimv2/MSFT_NetMainModeRule" ClassVersion="1.0.0">
    <Version>1.0.0.0</Version>
    <DefaultNoun>NetIPsecMainModeRule</DefaultNoun>
    <InstanceCmdlets>
      <GetCmdletParameters DefaultCmdletParameterSet="GetAll">
        <QueryableProperties>
          <Property PropertyName="InstanceID">
            <Type PSType="string"/>
            <RegularQuery AllowGlobbing="true">
              <CmdletParameterMetadata PSName="Name" CmdletParameterSets="ByName" IsMandatory="true" Position="0" Aliases="ID"/>
            </RegularQuery>
          </Property>
          <Property PropertyName="DisplayName">
            <Type PSType="string"/>
            <RegularQuery AllowGlobbing="true">
              <CmdletParameterMetadata CmdletParameterSets="ByDisplayName" IsMandatory="true"/>
            </RegularQuery>
          </Property>
          <Property PropertyName="Description">
            <Type PSType="string"/>
            <RegularQuery AllowGlobbing="true">
              <CmdletParameterMetadata CmdletParameterSets="ByQuery"/>
            </RegularQuery>
          </Property>
          <Property PropertyName="DisplayGroup">
            <Type PSType="string"/>
            <RegularQuery AllowGlobbing="true">
              <CmdletParameterMetadata CmdletParameterSets="ByQuery"/>
            </RegularQuery>
          </Property>
          <Property PropertyName="RuleGroup">
            <Type PSType="string"/>
            <RegularQuery AllowGlobbing="true">
              <CmdletParameterMetadata PSName="Group" CmdletParameterSets="ByQuery"/>
            </RegularQuery>
          </Property>
          <Property PropertyName="Enabled">
            <Type PSType="NetSecurity.Enabled"/>
            <RegularQuery>
              <CmdletParameterMetadata CmdletParameterSets="ByQuery"/>
            </RegularQuery>
          </Property>
          <Property PropertyName="MainModeCryptoSet">
            <Type PSType="string"/>
            <RegularQuery AllowGlobbing="true">
              <CmdletParameterMetadata CmdletParameterSets="ByQuery"/>
            </RegularQuery>
          </Property>
          <Property PropertyName="Phase1AuthSet">
            <Type PSType="string"/>
            <RegularQuery AllowGlobbing="true">
              <CmdletParameterMetadata CmdletParameterSets="ByQuery"/>
            </RegularQuery>
          </Property>
          <Property PropertyName="PrimaryStatus">
            <Type PSType="NetSecurity.PrimaryStatus"/>
            <RegularQuery>
              <CmdletParameterMetadata CmdletParameterSets="ByQuery"/>
            </RegularQuery>
          </Property>
          <Property PropertyName="Status">
            <Type PSType="string"/>
            <RegularQuery AllowGlobbing="true">
              <CmdletParameterMetadata CmdletParameterSets="ByQuery"/>
            </RegularQuery>
          </Property>
          <Property PropertyName="PolicyStoreSource">
            <Type PSType="string"/>
            <RegularQuery AllowGlobbing="true">
              <CmdletParameterMetadata CmdletParameterSets="ByQuery"/>
            </RegularQuery>
          </Property>
          <Property PropertyName="PolicyStoreSourceType">
            <Type PSType="NetSecurity.PolicyStoreType"/>
            <RegularQuery>
              <CmdletParameterMetadata CmdletParameterSets="ByQuery"/>
            </RegularQuery>
          </Property>
        </QueryableProperties>
        <QueryableAssociations>
          <Association Association="MSFT_NetMainModeRuleFilterByAddress" ResultRole="GroupComponent" SourceRole="PartComponent">
            <AssociatedInstance>
              <Type PSType="Microsoft.Management.Infrastructure.CimInstance" ETSType="Microsoft.Management.Infrastructure.CimInstance#root/standardcimv2/MSFT_NetAddressFilter"/>
              <CmdletParameterMetadata PSName="AssociatedNetFirewallAddressFilter" IsMandatory="true" ValueFromPipeline="true" CmdletParameterSets="ByAssociatedNetFirewallAddressFilter"/>
            </AssociatedInstance>
          </Association>
          <Association Association="MSFT_NetMainModeRuleInProfile" ResultRole="PartComponent" SourceRole="GroupComponent">
            <AssociatedInstance>
              <Type PSType="Microsoft.Management.Infrastructure.CimInstance" ETSType="Microsoft.Management.Infrastructure.CimInstance#root/standardcimv2/MSFT_NetFirewallProfile"/>
              <CmdletParameterMetadata PSName="AssociatedNetFirewallProfile" IsMandatory="true" ValueFromPipeline="true" CmdletParameterSets="ByAssociatedNetFirewallProfile"/>
            </AssociatedInstance>
          </Association>
          <Association Association="MSFT_NetMainModeRuleMMAuthSet" ResultRole="GroupComponent" SourceRole="PartComponent">
            <AssociatedInstance>
              <Type PSType="Microsoft.Management.Infrastructure.CimInstance" ETSType="Microsoft.Management.Infrastructure.CimInstance#root/standardcimv2/MSFT_NetIKEP1AuthSet"/>
              <CmdletParameterMetadata PSName="AssociatedNetIPsecPhase1AuthSet" IsMandatory="true" ValueFromPipeline="true" CmdletParameterSets="ByAssociatedNetIPsecPhase1AuthSet"/>
            </AssociatedInstance>
          </Association>
          <Association Association="MSFT_NetMainModeRuleMMCryptoSet" ResultRole="GroupComponent" SourceRole="PartComponent">
            <AssociatedInstance>
              <Type PSType="Microsoft.Management.Infrastructure.CimInstance" ETSType="Microsoft.Management.Infrastructure.CimInstance#root/standardcimv2/MSFT_NetIKEMMCryptoSet"/>
              <CmdletParameterMetadata PSName="AssociatedNetIPsecMainModeCryptoSet" IsMandatory="true" ValueFromPipeline="true" CmdletParameterSets="ByAssociatedNetIPsecMainModeCryptoSet"/>
            </AssociatedInstance>
          </Association>
        </QueryableAssociations>
        <QueryOptions>
          <Option OptionName="All">
            <Type PSType="System.Management.Automation.SwitchParameter"/>
            <CmdletParameterMetadata CmdletParameterSets="GetAll"/>
          </Option>
          <Option OptionName="PolicyStore">
            <Type PSType="string"/>
            <CmdletParameterMetadata/>
          </Option>
          <Option OptionName="GPOSession">
            <Type PSType="string"/>
            <CmdletParameterMetadata/>
          </Option>
          <Option OptionName="TracePolicyStore">
            <Type PSType="System.Management.Automation.SwitchParameter"/>
            <CmdletParameterMetadata/>
          </Option>
        </QueryOptions>
      </GetCmdletParameters>
      <Cmdlet>
        <CmdletMetadata Verb="Set" ConfirmImpact="Medium"/>
        <Method MethodName="cim:ModifyInstance">
          <Parameters>
            <Parameter ParameterName="ElementName">
              <Type PSType="string"/>
              <CmdletParameterMetadata PSName="NewDisplayName"/>
            </Parameter>
            <Parameter ParameterName="Description">
              <Type PSType="string"/>
              <CmdletParameterMetadata PSName="Description"/>
            </Parameter>
            <Parameter ParameterName="Enabled">
              <Type PSType="NetSecurity.Enabled"/>
              <CmdletParameterMetadata PSName="Enabled"/>
            </Parameter>
            <Parameter ParameterName="Profiles">
              <Type PSType="NetSecurity.Profile"/>
              <CmdletParameterMetadata PSName="Profile"/>
            </Parameter>
            <Parameter ParameterName="Platforms">
              <Type PSType="string[]"/>
              <CmdletParameterMetadata PSName="Platform"/>
            </Parameter>
            <Parameter ParameterName="MainModeCryptoSet">
              <Type PSType="string"/>
              <CmdletParameterMetadata PSName="MainModeCryptoSet"/>
            </Parameter>
            <Parameter ParameterName="Phase1AuthSet">
              <Type PSType="string"/>
              <CmdletParameterMetadata PSName="Phase1AuthSet"/>
            </Parameter>
            <Parameter ParameterName="cim:OperationOption:LocalAddress">
              <Type PSType="string[]"/>
              <CmdletParameterMetadata PSName="LocalAddress"/>
            </Parameter>
            <Parameter ParameterName="cim:OperationOption:RemoteAddress">
              <Type PSType="string[]"/>
              <CmdletParameterMetadata PSName="RemoteAddress"/>
            </Parameter>
          </Parameters>
        </Method>
        <GetCmdletParameters>
          <QueryableProperties>
            <Property PropertyName="InstanceID">
              <Type PSType="string"/>
              <RegularQuery AllowGlobbing="true">
                <CmdletParameterMetadata Aliases="ID" PSName="Name" Position="0" IsMandatory="true" CmdletParameterSets="ByName"/>
              </RegularQuery>
            </Property>
            <Property PropertyName="DisplayName">
              <Type PSType="string"/>
              <RegularQuery AllowGlobbing="true">
                <CmdletParameterMetadata PSName="DisplayName" IsMandatory="true" CmdletParameterSets="ByDisplayName"/>
              </RegularQuery>
            </Property>
            <Property PropertyName="DisplayGroup">
              <Type PSType="string"/>
              <RegularQuery AllowGlobbing="true">
                <CmdletParameterMetadata PSName="DisplayGroup" IsMandatory="true" CmdletParameterSets="ByDisplayGroup"/>
              </RegularQuery>
            </Property>
            <Property PropertyName="RuleGroup">
              <Type PSType="string"/>
              <RegularQuery AllowGlobbing="true">
                <CmdletParameterMetadata PSName="Group" IsMandatory="true" CmdletParameterSets="ByGroup"/>
              </RegularQuery>
            </Property>
          </QueryableProperties>
          <QueryOptions>
            <Option OptionName="PolicyStore">
              <Type PSType="string"/>
              <CmdletParameterMetadata/>
            </Option>
            <Option OptionName="GPOSession">
              <Type PSType="string"/>
              <CmdletParameterMetadata/>
            </Option>
          </QueryOptions>
        </GetCmdletParameters>
      </Cmdlet>
      <Cmdlet>
        <CmdletMetadata Verb="Remove" ConfirmImpact="Medium"/>
        <Method MethodName="cim:DeleteInstance"/>
      </Cmdlet>
      <Cmdlet>
        <CmdletMetadata Verb="Rename" ConfirmImpact="Medium"/>
        <Method MethodName="Rename">
          <ReturnValue>
            <Type PSType="System.Int32"/>
            <CmdletOutputMetadata>
              <ErrorCode/>
            </CmdletOutputMetadata>
          </ReturnValue>
          <Parameters>
            <Parameter ParameterName="NewName">
              <Type PSType="string"/>
              <CmdletParameterMetadata IsMandatory="true" PSName="NewName"/>
            </Parameter>
          </Parameters>
        </Method>
      </Cmdlet>
      <Cmdlet>
        <CmdletMetadata Verb="Copy" ConfirmImpact="Medium"/>
        <Method MethodName="CloneObject">
          <ReturnValue>
            <Type PSType="System.Int32"/>
            <CmdletOutputMetadata>
              <ErrorCode/>
            </CmdletOutputMetadata>
          </ReturnValue>
          <Parameters>
            <Parameter ParameterName="NewPolicyStore">
              <Type PSType="string"/>
              <CmdletParameterMetadata PSName="NewPolicyStore"/>
            </Parameter>
            <Parameter ParameterName="NewGPOSession">
              <Type PSType="string"/>
              <CmdletParameterMetadata PSName="NewGPOSession"/>
            </Parameter>
            <Parameter ParameterName="NewName">
              <Type PSType="string"/>
              <CmdletParameterMetadata PSName="NewName"/>
            </Parameter>
          </Parameters>
        </Method>
      </Cmdlet>
      <Cmdlet>
        <CmdletMetadata Verb="Enable" ConfirmImpact="Medium"/>
        <Method MethodName="Enable">
          <ReturnValue>
            <Type PSType="System.Int32"/>
            <CmdletOutputMetadata>
              <ErrorCode/>
            </CmdletOutputMetadata>
          </ReturnValue>
        </Method>
      </Cmdlet>
      <Cmdlet>
        <CmdletMetadata Verb="Disable" ConfirmImpact="Medium"/>
        <Method MethodName="Disable">
          <ReturnValue>
            <Type PSType="System.Int32"/>
            <CmdletOutputMetadata>
              <ErrorCode/>
            </CmdletOutputMetadata>
          </ReturnValue>
        </Method>
      </Cmdlet>
    </InstanceCmdlets>
    <StaticCmdlets>
      <Cmdlet>
        <CmdletMetadata Verb="New" ConfirmImpact="Medium"/>
        <Method MethodName="cim:CreateInstance">
          <Parameters>
            <Parameter ParameterName="cim:OperationOption:PolicyStore">
              <Type PSType="string"/>
              <CmdletParameterMetadata PSName="PolicyStore"/>
            </Parameter>
            <Parameter ParameterName="cim:OperationOption:GPOSession">
              <Type PSType="string"/>
              <CmdletParameterMetadata PSName="GPOSession"/>
            </Parameter>
            <Parameter ParameterName="InstanceID">
              <Type PSType="string"/>
              <CmdletParameterMetadata Aliases="ID" PSName="Name"/>
            </Parameter>
            <Parameter ParameterName="ElementName">
              <Type PSType="string"/>
              <CmdletParameterMetadata IsMandatory="true" PSName="DisplayName"/>
            </Parameter>
            <Parameter ParameterName="Description">
              <Type PSType="string"/>
              <CmdletParameterMetadata PSName="Description"/>
            </Parameter>
            <Parameter ParameterName="RuleGroup">
              <Type PSType="string"/>
              <CmdletParameterMetadata PSName="Group"/>
            </Parameter>
            <Parameter ParameterName="Enabled">
              <Type PSType="NetSecurity.Enabled"/>
              <CmdletParameterMetadata PSName="Enabled"/>
            </Parameter>
            <Parameter ParameterName="Profiles">
              <Type PSType="NetSecurity.Profile"/>
              <CmdletParameterMetadata PSName="Profile"/>
            </Parameter>
            <Parameter ParameterName="Platforms">
              <Type PSType="string[]"/>
              <CmdletParameterMetadata PSName="Platform"/>
            </Parameter>
            <Parameter ParameterName="MainModeCryptoSet">
              <Type PSType="string"/>
              <CmdletParameterMetadata PSName="MainModeCryptoSet"/>
            </Parameter>
            <Parameter ParameterName="Phase1AuthSet">
              <Type PSType="string"/>
              <CmdletParameterMetadata PSName="Phase1AuthSet"/>
            </Parameter>
            <Parameter ParameterName="cim:OperationOption:LocalAddress">
              <Type PSType="string[]"/>
              <CmdletParameterMetadata PSName="LocalAddress"/>
            </Parameter>
            <Parameter ParameterName="cim:OperationOption:RemoteAddress">
              <Type PSType="string[]"/>
              <CmdletParameterMetadata PSName="RemoteAddress"/>
            </Parameter>
          </Parameters>
        </Method>
      </Cmdlet>
    </StaticCmdlets>
  </Class>
  <Enums>
    <Enum EnumName="NetSecurity.Enabled" UnderlyingType="uint16">
      <Value Name="True" Value="1"/>
      <Value Name="False" Value="2"/>
    </Enum>
    <Enum EnumName="NetSecurity.Profile" UnderlyingType="uint16" BitwiseFlags="true">
      <Value Name="Any" Value="0"/>
      <Value Name="Public" Value="4"/>
      <Value Name="Private" Value="2"/>
      <Value Name="Domain" Value="1"/>
      <Value Name="NotApplicable" Value="65535"/>
    </Enum>
    <Enum EnumName="NetSecurity.PrimaryStatus" UnderlyingType="uint16">
      <Value Name="Unknown" Value="0"/>
      <Value Name="OK" Value="1"/>
      <Value Name="Inactive" Value="2"/>
      <Value Name="Error" Value="3"/>
    </Enum>
    <Enum EnumName="NetSecurity.PolicyStoreType" UnderlyingType="uint16">
      <Value Name="None" Value="0"/>
      <Value Name="Local" Value="1"/>
      <Value Name="GroupPolicy" Value="2"/>
      <Value Name="Dynamic" Value="3"/>
      <Value Name="Generated" Value="4"/>
      <Value Name="Hardcoded" Value="5"/>
    </Enum>
  </Enums>
</PowerShellMetadata>
