VaporShell.CUR.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 'CURReportDefinition'"

class CURReportDefinition : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSCURReportDefinition'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cur-reportdefinition.html'

    hidden [object] $_condition

    [string] $Type = 'AWS::CUR::ReportDefinition'
    [string] $ReportName
    [string] $TimeUnit
    [string] $Format
    [string] $Compression
    [string[]] $AdditionalSchemaElements
    [string] $S3Bucket
    [string] $S3Prefix
    [string] $S3Region
    [string[]] $AdditionalArtifacts
    [bool] $RefreshClosedReports
    [string] $ReportVersioning
    [string] $BillingViewArn
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name ReportName -Value {
            $this.Properties['ReportName']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ReportName'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name TimeUnit -Value {
            $this.Properties['TimeUnit']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['TimeUnit'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Format -Value {
            $this.Properties['Format']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Format'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Compression -Value {
            $this.Properties['Compression']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Compression'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name AdditionalSchemaElements -Value {
            $this.Properties['AdditionalSchemaElements']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['AdditionalSchemaElements'] = @($value)
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name S3Bucket -Value {
            $this.Properties['S3Bucket']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['S3Bucket'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name S3Prefix -Value {
            $this.Properties['S3Prefix']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['S3Prefix'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name S3Region -Value {
            $this.Properties['S3Region']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['S3Region'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name AdditionalArtifacts -Value {
            $this.Properties['AdditionalArtifacts']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['AdditionalArtifacts'] = @($value)
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name RefreshClosedReports -Value {
            $this.Properties['RefreshClosedReports']
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['RefreshClosedReports'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ReportVersioning -Value {
            $this.Properties['ReportVersioning']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ReportVersioning'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name BillingViewArn -Value {
            $this.Properties['BillingViewArn']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['BillingViewArn'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Condition -Value {
            $this._condition
        } -SecondValue {
            param(
                [ValidateType(([string], [IntrinsicFunction], [ConditionFunction]))] [object]
                $value
            )
            $this._condition = $value
        }
    }

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