VaporShell.Chatbot.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 'ChatbotSlackChannelConfiguration'"

class ChatbotSlackChannelConfiguration : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSChatbotSlackChannelConfiguration'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-slackchannelconfiguration.html'

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

    [string] $Type = 'AWS::Chatbot::SlackChannelConfiguration'
    [string] $SlackWorkspaceId
    [string] $SlackChannelId
    [string] $ConfigurationName
    [string] $IamRoleArn
    [string[]] $SnsTopicArns
    [LoggingLevel] $LoggingLevel
    [string[]] $GuardrailPolicies
    [bool] $UserRoleRequired
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    [object] FormatLoggingLevel([object] $loggingLevel) {
        if ($loggingLevel -is [string]) {
            return $loggingLevel.ToUpper()
        }
        else {
            return $loggingLevel
        }
    }

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name SlackWorkspaceId -Value {
            $this.Properties['SlackWorkspaceId']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['SlackWorkspaceId'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SlackChannelId -Value {
            $this.Properties['SlackChannelId']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['SlackChannelId'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ConfigurationName -Value {
            $this.Properties['ConfigurationName']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ConfigurationName'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name IamRoleArn -Value {
            $this.Properties['IamRoleArn']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['IamRoleArn'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SnsTopicArns -Value {
            $this.Properties['SnsTopicArns']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['SnsTopicArns'] = @($value)
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name LoggingLevel -Value {
            $this.FormatLoggingLevel($this._loggingLevel)
        } -SecondValue {
            param(
                [ValidateType(([string], [IntrinsicFunction], [ConditionFunction], [LoggingLevel]))] [object]
                $value
            )
            $this._loggingLevel = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name GuardrailPolicies -Value {
            $this.Properties['GuardrailPolicies']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['GuardrailPolicies'] = @($value)
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name UserRoleRequired -Value {
            $this.Properties['UserRoleRequired']
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['UserRoleRequired'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Condition -Value {
            $this._condition
        } -SecondValue {
            param(
                [ValidateType(([string], [IntrinsicFunction], [ConditionFunction]))] [object]
                $value
            )
            $this._condition = $value
        }
    }

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