VaporShell.BillingConductor.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 'BillingConductorCustomLineItemCustomLineItemFlatChargeDetails'"

class BillingConductorCustomLineItemCustomLineItemFlatChargeDetails : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSBillingConductorCustomLineItemCustomLineItemFlatChargeDetails'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-billingconductor-customlineitem-customlineitemflatchargedetails.html'

    hidden [object] $_chargeValue

    [double] $ChargeValue

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name ChargeValue -Value {
            $this._chargeValue
        } -SecondValue {
            param([ValidateType(([double], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._chargeValue = $value
        }
    }

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

Write-Verbose "Importing class 'BillingConductorCustomLineItemBillingPeriodRange'"

class BillingConductorCustomLineItemBillingPeriodRange : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSBillingConductorCustomLineItemBillingPeriodRange'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-billingconductor-customlineitem-billingperiodrange.html'

    hidden [object] $_inclusiveStartBillingPeriod
    hidden [object] $_exclusiveEndBillingPeriod

    [string] $InclusiveStartBillingPeriod
    [string] $ExclusiveEndBillingPeriod

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

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

Write-Verbose "Importing class 'BillingConductorBillingGroupComputationPreference'"

class BillingConductorBillingGroupComputationPreference : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSBillingConductorBillingGroupComputationPreference'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-billingconductor-billinggroup-computationpreference.html'

    hidden [object] $_pricingPlanArn

    [string] $PricingPlanArn

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

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

Write-Verbose "Importing class 'BillingConductorBillingGroupAccountGrouping'"

class BillingConductorBillingGroupAccountGrouping : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSBillingConductorBillingGroupAccountGrouping'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-billingconductor-billinggroup-accountgrouping.html'

    hidden [object] $_linkedAccountIds

    [string[]] $LinkedAccountIds

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name LinkedAccountIds -Value {
            $this._linkedAccountIds
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._linkedAccountIds = @($value)
        }
    }

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

Write-Verbose "Importing class 'BillingConductorCustomLineItemCustomLineItemPercentageChargeDetails'"

class BillingConductorCustomLineItemCustomLineItemPercentageChargeDetails : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSBillingConductorCustomLineItemCustomLineItemPercentageChargeDetails'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-billingconductor-customlineitem-customlineitempercentagechargedetails.html'

    hidden [object] $_childAssociatedResources
    hidden [object] $_percentageValue

    [string[]] $ChildAssociatedResources
    [double] $PercentageValue

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name ChildAssociatedResources -Value {
            $this._childAssociatedResources
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._childAssociatedResources = @($value)
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name PercentageValue -Value {
            $this._percentageValue
        } -SecondValue {
            param([ValidateType(([double], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._percentageValue = $value
        }
    }

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

Write-Verbose "Importing class 'BillingConductorCustomLineItemCustomLineItemChargeDetails'"

class BillingConductorCustomLineItemCustomLineItemChargeDetails : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSBillingConductorCustomLineItemCustomLineItemChargeDetails'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-billingconductor-customlineitem-customlineitemchargedetails.html'

    hidden [object] $_flat
    hidden [object] $_percentage
    hidden [object] $_type

    [BillingConductorCustomLineItemCustomLineItemFlatChargeDetails] $Flat
    [BillingConductorCustomLineItemCustomLineItemPercentageChargeDetails] $Percentage
    [string] $Type

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name Flat -Value {
            $this._flat
        } -SecondValue {
            param([ValidateType(([BillingConductorCustomLineItemCustomLineItemFlatChargeDetails], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._flat = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Percentage -Value {
            $this._percentage
        } -SecondValue {
            param([ValidateType(([BillingConductorCustomLineItemCustomLineItemPercentageChargeDetails], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._percentage = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Type -Value {
            $this._type
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._type = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

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

Write-Verbose "Importing class 'BillingConductorPricingPlan'"

class BillingConductorPricingPlan : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSBillingConductorPricingPlan'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-pricingplan.html'

    hidden [string[]] $_attributes = @('Arn','Size','CreationTime','LastModifiedTime')
    hidden [object] $_condition

    [string] $Type = 'AWS::BillingConductor::PricingPlan'
    [string] $Name
    [string[]] $PricingRuleArns
    [string] $Description
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name Name -Value {
            $this.Properties['Name']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Name'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name PricingRuleArns -Value {
            $this.Properties['PricingRuleArns']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['PricingRuleArns'] = @($value)
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Description -Value {
            $this.Properties['Description']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Description'] = 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
        }
    }

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

Write-Verbose "Importing class 'BillingConductorCustomLineItem'"

class BillingConductorCustomLineItem : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSBillingConductorCustomLineItem'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-customlineitem.html'

    hidden [string[]] $_attributes = @('Arn','CreationTime','LastModifiedTime','AssociationSize','ProductCode','CurrencyCode')
    hidden [object] $_condition

    [string] $Type = 'AWS::BillingConductor::CustomLineItem'
    [string] $Name
    [string] $Description
    [BillingConductorCustomLineItemCustomLineItemChargeDetails] $CustomLineItemChargeDetails
    [string] $BillingGroupArn
    [BillingConductorCustomLineItemBillingPeriodRange] $BillingPeriodRange
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name Name -Value {
            $this.Properties['Name']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Name'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Description -Value {
            $this.Properties['Description']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Description'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name CustomLineItemChargeDetails -Value {
            $this.Properties['CustomLineItemChargeDetails']
        } -SecondValue {
            param([ValidateType(([BillingConductorCustomLineItemCustomLineItemChargeDetails], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['CustomLineItemChargeDetails'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name BillingGroupArn -Value {
            $this.Properties['BillingGroupArn']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['BillingGroupArn'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name BillingPeriodRange -Value {
            $this.Properties['BillingPeriodRange']
        } -SecondValue {
            param([ValidateType(([BillingConductorCustomLineItemBillingPeriodRange], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['BillingPeriodRange'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Condition -Value {
            $this._condition
        } -SecondValue {
            param(
                [ValidateType(([string], [IntrinsicFunction], [ConditionFunction]))] [object]
                $value
            )
            $this._condition = $value
        }
    }

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

Write-Verbose "Importing class 'BillingConductorBillingGroup'"

class BillingConductorBillingGroup : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSBillingConductorBillingGroup'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-billinggroup.html'

    hidden [string[]] $_attributes = @('Arn','Size','Status','StatusReason','CreationTime','LastModifiedTime')
    hidden [object] $_condition

    [string] $Type = 'AWS::BillingConductor::BillingGroup'
    [string] $Name
    [string] $Description
    [string] $PrimaryAccountId
    [BillingConductorBillingGroupComputationPreference] $ComputationPreference
    [BillingConductorBillingGroupAccountGrouping] $AccountGrouping
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name Name -Value {
            $this.Properties['Name']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Name'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Description -Value {
            $this.Properties['Description']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Description'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name PrimaryAccountId -Value {
            $this.Properties['PrimaryAccountId']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['PrimaryAccountId'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ComputationPreference -Value {
            $this.Properties['ComputationPreference']
        } -SecondValue {
            param([ValidateType(([BillingConductorBillingGroupComputationPreference], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ComputationPreference'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name AccountGrouping -Value {
            $this.Properties['AccountGrouping']
        } -SecondValue {
            param([ValidateType(([BillingConductorBillingGroupAccountGrouping], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['AccountGrouping'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Condition -Value {
            $this._condition
        } -SecondValue {
            param(
                [ValidateType(([string], [IntrinsicFunction], [ConditionFunction]))] [object]
                $value
            )
            $this._condition = $value
        }
    }

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

Write-Verbose "Importing class 'BillingConductorPricingRule'"

class BillingConductorPricingRule : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSBillingConductorPricingRule'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-pricingrule.html'

    hidden [string[]] $_attributes = @('Arn','AssociatedPricingPlanCount','CreationTime','LastModifiedTime')
    hidden [object] $_condition

    [string] $Type = 'AWS::BillingConductor::PricingRule'
    [string] $Name
    [string] $Description
    [string] $Scope
    [string] $PricingRuleType
    [double] $ModifierPercentage
    [string] $Service
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name Name -Value {
            $this.Properties['Name']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Name'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Description -Value {
            $this.Properties['Description']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Description'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Scope -Value {
            $this.Properties['Scope']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Scope'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name PricingRuleType -Value {
            $this.Properties['PricingRuleType']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['PricingRuleType'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ModifierPercentage -Value {
            $this.Properties['ModifierPercentage']
        } -SecondValue {
            param([ValidateType(([double], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ModifierPercentage'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Service -Value {
            $this.Properties['Service']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Service'] = 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
        }
    }

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