VaporShell.ApplicationInsights.Classes.ps1

using namespace System
using namespace System.Collections
using namespace System.Collections.Generic
using namespace System.IO
using namespace System.Management.Automation
[CmdletBinding()]
Param()

Write-Verbose "Importing class 'ApplicationInsightsApplicationSubComponentConfigurationDetails'"

class ApplicationInsightsApplicationSubComponentConfigurationDetails : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSApplicationInsightsApplicationSubComponentConfigurationDetails'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-subcomponentconfigurationdetails.html'

    hidden [object] $_alarmMetrics
    hidden [object] $_logs
    hidden [object] $_windowsEvents

    [ApplicationInsightsApplicationAlarmMetric[]] $AlarmMetrics
    [ApplicationInsightsApplicationLog[]] $Logs
    [ApplicationInsightsApplicationWindowsEvent[]] $WindowsEvents

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name AlarmMetrics -Value {
            $this._alarmMetrics
        } -SecondValue {
            param([ValidateType(([ApplicationInsightsApplicationAlarmMetric], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._alarmMetrics = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Logs -Value {
            $this._logs
        } -SecondValue {
            param([ValidateType(([ApplicationInsightsApplicationLog], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._logs = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name WindowsEvents -Value {
            $this._windowsEvents
        } -SecondValue {
            param([ValidateType(([ApplicationInsightsApplicationWindowsEvent], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._windowsEvents = $value
        }
    }

    ApplicationInsightsApplicationSubComponentConfigurationDetails() : base() {}
    ApplicationInsightsApplicationSubComponentConfigurationDetails([IDictionary] $props) : base($props) {}
    ApplicationInsightsApplicationSubComponentConfigurationDetails([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'ApplicationInsightsApplicationComponentMonitoringSetting'"

class ApplicationInsightsApplicationComponentMonitoringSetting : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSApplicationInsightsApplicationComponentMonitoringSetting'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-componentmonitoringsetting.html'

    hidden [object] $_componentName
    hidden [object] $_componentARN
    hidden [object] $_tier
    hidden [object] $_componentConfigurationMode
    hidden [object] $_defaultOverwriteComponentConfiguration
    hidden [object] $_customComponentConfiguration

    [string] $ComponentName
    [string] $ComponentARN
    [string] $Tier
    [string] $ComponentConfigurationMode
    [ApplicationInsightsApplicationComponentConfiguration] $DefaultOverwriteComponentConfiguration
    [ApplicationInsightsApplicationComponentConfiguration] $CustomComponentConfiguration

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name ComponentName -Value {
            $this._componentName
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._componentName = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ComponentARN -Value {
            $this._componentARN
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._componentARN = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Tier -Value {
            $this._tier
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._tier = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ComponentConfigurationMode -Value {
            $this._componentConfigurationMode
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._componentConfigurationMode = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DefaultOverwriteComponentConfiguration -Value {
            $this._defaultOverwriteComponentConfiguration
        } -SecondValue {
            param([ValidateType(([ApplicationInsightsApplicationComponentConfiguration], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._defaultOverwriteComponentConfiguration = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name CustomComponentConfiguration -Value {
            $this._customComponentConfiguration
        } -SecondValue {
            param([ValidateType(([ApplicationInsightsApplicationComponentConfiguration], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._customComponentConfiguration = $value
        }
    }

    ApplicationInsightsApplicationComponentMonitoringSetting() : base() {}
    ApplicationInsightsApplicationComponentMonitoringSetting([IDictionary] $props) : base($props) {}
    ApplicationInsightsApplicationComponentMonitoringSetting([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'ApplicationInsightsApplicationLogPattern'"

class ApplicationInsightsApplicationLogPattern : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSApplicationInsightsApplicationLogPattern'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-logpattern.html'

    hidden [object] $_patternName
    hidden [object] $_pattern
    hidden [object] $_rank

    [string] $PatternName
    [string] $Pattern
    [int] $Rank

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name PatternName -Value {
            $this._patternName
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._patternName = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Pattern -Value {
            $this._pattern
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._pattern = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Rank -Value {
            $this._rank
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._rank = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
    }

    ApplicationInsightsApplicationLogPattern() : base() {}
    ApplicationInsightsApplicationLogPattern([IDictionary] $props) : base($props) {}
    ApplicationInsightsApplicationLogPattern([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'ApplicationInsightsApplicationLogPatternSet'"

class ApplicationInsightsApplicationLogPatternSet : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSApplicationInsightsApplicationLogPatternSet'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-logpatternset.html'

    hidden [object] $_patternSetName
    hidden [object] $_logPatterns

    [string] $PatternSetName
    [ApplicationInsightsApplicationLogPattern[]] $LogPatterns

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name PatternSetName -Value {
            $this._patternSetName
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._patternSetName = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name LogPatterns -Value {
            $this._logPatterns
        } -SecondValue {
            param([ValidateType(([ApplicationInsightsApplicationLogPattern], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._logPatterns = $value
        }
    }

    ApplicationInsightsApplicationLogPatternSet() : base() {}
    ApplicationInsightsApplicationLogPatternSet([IDictionary] $props) : base($props) {}
    ApplicationInsightsApplicationLogPatternSet([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'ApplicationInsightsApplicationAlarm'"

class ApplicationInsightsApplicationAlarm : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSApplicationInsightsApplicationAlarm'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-alarm.html'

    hidden [object] $_alarmName
    hidden [object] $_severity

    [string] $AlarmName
    [string] $Severity

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name AlarmName -Value {
            $this._alarmName
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._alarmName = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Severity -Value {
            $this._severity
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._severity = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

    ApplicationInsightsApplicationAlarm() : base() {}
    ApplicationInsightsApplicationAlarm([IDictionary] $props) : base($props) {}
    ApplicationInsightsApplicationAlarm([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'ApplicationInsightsApplicationWindowsEvent'"

class ApplicationInsightsApplicationWindowsEvent : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSApplicationInsightsApplicationWindowsEvent'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-windowsevent.html'

    hidden [object] $_logGroupName
    hidden [object] $_eventName
    hidden [object] $_eventLevels
    hidden [object] $_patternSet

    [string] $LogGroupName
    [string] $EventName
    [string[]] $EventLevels
    [string] $PatternSet

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name LogGroupName -Value {
            $this._logGroupName
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._logGroupName = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name EventName -Value {
            $this._eventName
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._eventName = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name EventLevels -Value {
            $this._eventLevels
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._eventLevels = @($value)
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name PatternSet -Value {
            $this._patternSet
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._patternSet = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

    ApplicationInsightsApplicationWindowsEvent() : base() {}
    ApplicationInsightsApplicationWindowsEvent([IDictionary] $props) : base($props) {}
    ApplicationInsightsApplicationWindowsEvent([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'ApplicationInsightsApplicationComponentConfiguration'"

class ApplicationInsightsApplicationComponentConfiguration : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSApplicationInsightsApplicationComponentConfiguration'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-componentconfiguration.html'

    hidden [object] $_configurationDetails
    hidden [object] $_subComponentTypeConfigurations

    [ApplicationInsightsApplicationConfigurationDetails] $ConfigurationDetails
    [ApplicationInsightsApplicationSubComponentTypeConfiguration[]] $SubComponentTypeConfigurations

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name ConfigurationDetails -Value {
            $this._configurationDetails
        } -SecondValue {
            param([ValidateType(([ApplicationInsightsApplicationConfigurationDetails], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._configurationDetails = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SubComponentTypeConfigurations -Value {
            $this._subComponentTypeConfigurations
        } -SecondValue {
            param([ValidateType(([ApplicationInsightsApplicationSubComponentTypeConfiguration], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._subComponentTypeConfigurations = $value
        }
    }

    ApplicationInsightsApplicationComponentConfiguration() : base() {}
    ApplicationInsightsApplicationComponentConfiguration([IDictionary] $props) : base($props) {}
    ApplicationInsightsApplicationComponentConfiguration([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'ApplicationInsightsApplicationCustomComponent'"

class ApplicationInsightsApplicationCustomComponent : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSApplicationInsightsApplicationCustomComponent'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-customcomponent.html'

    hidden [object] $_componentName
    hidden [object] $_resourceList

    [string] $ComponentName
    [string[]] $ResourceList

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name ComponentName -Value {
            $this._componentName
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._componentName = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ResourceList -Value {
            $this._resourceList
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._resourceList = @($value)
        }
    }

    ApplicationInsightsApplicationCustomComponent() : base() {}
    ApplicationInsightsApplicationCustomComponent([IDictionary] $props) : base($props) {}
    ApplicationInsightsApplicationCustomComponent([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'ApplicationInsightsApplicationJMXPrometheusExporter'"

class ApplicationInsightsApplicationJMXPrometheusExporter : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSApplicationInsightsApplicationJMXPrometheusExporter'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-jmxprometheusexporter.html'

    hidden [object] $_jMXURL
    hidden [object] $_hostPort
    hidden [object] $_prometheusPort

    [string] $JMXURL
    [string] $HostPort
    [string] $PrometheusPort

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name JMXURL -Value {
            $this._jMXURL
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._jMXURL = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name HostPort -Value {
            $this._hostPort
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._hostPort = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name PrometheusPort -Value {
            $this._prometheusPort
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._prometheusPort = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

    ApplicationInsightsApplicationJMXPrometheusExporter() : base() {}
    ApplicationInsightsApplicationJMXPrometheusExporter([IDictionary] $props) : base($props) {}
    ApplicationInsightsApplicationJMXPrometheusExporter([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'ApplicationInsightsApplicationAlarmMetric'"

class ApplicationInsightsApplicationAlarmMetric : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSApplicationInsightsApplicationAlarmMetric'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-alarmmetric.html'

    hidden [object] $_alarmMetricName

    [string] $AlarmMetricName

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name AlarmMetricName -Value {
            $this._alarmMetricName
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._alarmMetricName = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

    ApplicationInsightsApplicationAlarmMetric() : base() {}
    ApplicationInsightsApplicationAlarmMetric([IDictionary] $props) : base($props) {}
    ApplicationInsightsApplicationAlarmMetric([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'ApplicationInsightsApplicationConfigurationDetails'"

class ApplicationInsightsApplicationConfigurationDetails : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSApplicationInsightsApplicationConfigurationDetails'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-configurationdetails.html'

    hidden [object] $_alarmMetrics
    hidden [object] $_logs
    hidden [object] $_windowsEvents
    hidden [object] $_alarms
    hidden [object] $_jMXPrometheusExporter

    [ApplicationInsightsApplicationAlarmMetric[]] $AlarmMetrics
    [ApplicationInsightsApplicationLog[]] $Logs
    [ApplicationInsightsApplicationWindowsEvent[]] $WindowsEvents
    [ApplicationInsightsApplicationAlarm[]] $Alarms
    [ApplicationInsightsApplicationJMXPrometheusExporter] $JMXPrometheusExporter

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name AlarmMetrics -Value {
            $this._alarmMetrics
        } -SecondValue {
            param([ValidateType(([ApplicationInsightsApplicationAlarmMetric], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._alarmMetrics = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Logs -Value {
            $this._logs
        } -SecondValue {
            param([ValidateType(([ApplicationInsightsApplicationLog], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._logs = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name WindowsEvents -Value {
            $this._windowsEvents
        } -SecondValue {
            param([ValidateType(([ApplicationInsightsApplicationWindowsEvent], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._windowsEvents = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Alarms -Value {
            $this._alarms
        } -SecondValue {
            param([ValidateType(([ApplicationInsightsApplicationAlarm], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._alarms = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name JMXPrometheusExporter -Value {
            $this._jMXPrometheusExporter
        } -SecondValue {
            param([ValidateType(([ApplicationInsightsApplicationJMXPrometheusExporter], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._jMXPrometheusExporter = $value
        }
    }

    ApplicationInsightsApplicationConfigurationDetails() : base() {}
    ApplicationInsightsApplicationConfigurationDetails([IDictionary] $props) : base($props) {}
    ApplicationInsightsApplicationConfigurationDetails([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'ApplicationInsightsApplicationLog'"

class ApplicationInsightsApplicationLog : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSApplicationInsightsApplicationLog'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-log.html'

    hidden [object] $_logGroupName
    hidden [object] $_logPath
    hidden [object] $_logType
    hidden [object] $_encoding
    hidden [object] $_patternSet

    [string] $LogGroupName
    [string] $LogPath
    [string] $LogType
    [string] $Encoding
    [string] $PatternSet

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name LogGroupName -Value {
            $this._logGroupName
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._logGroupName = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name LogPath -Value {
            $this._logPath
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._logPath = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name LogType -Value {
            $this._logType
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._logType = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Encoding -Value {
            $this._encoding
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._encoding = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name PatternSet -Value {
            $this._patternSet
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._patternSet = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

    ApplicationInsightsApplicationLog() : base() {}
    ApplicationInsightsApplicationLog([IDictionary] $props) : base($props) {}
    ApplicationInsightsApplicationLog([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'ApplicationInsightsApplicationSubComponentTypeConfiguration'"

class ApplicationInsightsApplicationSubComponentTypeConfiguration : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSApplicationInsightsApplicationSubComponentTypeConfiguration'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-subcomponenttypeconfiguration.html'

    hidden [object] $_subComponentType
    hidden [object] $_subComponentConfigurationDetails

    [string] $SubComponentType
    [ApplicationInsightsApplicationSubComponentConfigurationDetails] $SubComponentConfigurationDetails

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name SubComponentType -Value {
            $this._subComponentType
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._subComponentType = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SubComponentConfigurationDetails -Value {
            $this._subComponentConfigurationDetails
        } -SecondValue {
            param([ValidateType(([ApplicationInsightsApplicationSubComponentConfigurationDetails], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._subComponentConfigurationDetails = $value
        }
    }

    ApplicationInsightsApplicationSubComponentTypeConfiguration() : base() {}
    ApplicationInsightsApplicationSubComponentTypeConfiguration([IDictionary] $props) : base($props) {}
    ApplicationInsightsApplicationSubComponentTypeConfiguration([psobject] $props) : base($props) {}
}

Write-Verbose "Importing class 'ApplicationInsightsApplication'"

class ApplicationInsightsApplication : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSApplicationInsightsApplication'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationinsights-application.html'

    hidden [string[]] $_attributes = @('ApplicationARN')
    hidden [object] $_condition

    [string] $Type = 'AWS::ApplicationInsights::Application'
    [string] $ResourceGroupName
    [bool] $CWEMonitorEnabled
    [bool] $OpsCenterEnabled
    [string] $OpsItemSNSTopicArn
    [VSTag[]] $Tags
    [ApplicationInsightsApplicationCustomComponent[]] $CustomComponents
    [ApplicationInsightsApplicationLogPatternSet[]] $LogPatternSets
    [bool] $AutoConfigurationEnabled
    [ApplicationInsightsApplicationComponentMonitoringSetting[]] $ComponentMonitoringSettings
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name ResourceGroupName -Value {
            $this.Properties['ResourceGroupName']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ResourceGroupName'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name CWEMonitorEnabled -Value {
            $this.Properties['CWEMonitorEnabled']
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['CWEMonitorEnabled'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name OpsCenterEnabled -Value {
            $this.Properties['OpsCenterEnabled']
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['OpsCenterEnabled'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name OpsItemSNSTopicArn -Value {
            $this.Properties['OpsItemSNSTopicArn']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['OpsItemSNSTopicArn'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Tags -Value {
            $this.Properties['Tags']
        } -SecondValue {
            param([TransformTag()] [ValidateType(([IDictionary], [psobject], [VSTag]))] [object] $value)
            $this.Properties['Tags'] = [VSTag]::TransformTag($value)
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name CustomComponents -Value {
            $this.Properties['CustomComponents']
        } -SecondValue {
            param([ValidateType(([ApplicationInsightsApplicationCustomComponent], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['CustomComponents'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name LogPatternSets -Value {
            $this.Properties['LogPatternSets']
        } -SecondValue {
            param([ValidateType(([ApplicationInsightsApplicationLogPatternSet], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['LogPatternSets'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name AutoConfigurationEnabled -Value {
            $this.Properties['AutoConfigurationEnabled']
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['AutoConfigurationEnabled'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ComponentMonitoringSettings -Value {
            $this.Properties['ComponentMonitoringSettings']
        } -SecondValue {
            param([ValidateType(([ApplicationInsightsApplicationComponentMonitoringSetting], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['ComponentMonitoringSettings'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Condition -Value {
            $this._condition
        } -SecondValue {
            param(
                [ValidateType(([string], [IntrinsicFunction], [ConditionFunction]))] [object]
                $value
            )
            $this._condition = $value
        }
    }

    ApplicationInsightsApplication() : base() {}
    ApplicationInsightsApplication([IDictionary] $props) : base($props) {}
    ApplicationInsightsApplication([psobject] $props) : base($props) {}
}