VaporShell.CodeBuild.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 'CodeBuildProjectEnvironment'"

class CodeBuildProjectEnvironment : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSCodeBuildProjectEnvironment'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-environment.html'

    hidden [object] $_type
    hidden [object] $_environmentVariables
    hidden [object] $_privilegedMode
    hidden [object] $_imagePullCredentialsType
    hidden [object] $_image
    hidden [object] $_registryCredential
    hidden [object] $_computeType
    hidden [object] $_certificate

    [string] $Type
    [CodeBuildProjectEnvironmentVariable[]] $EnvironmentVariables
    [bool] $PrivilegedMode
    [string] $ImagePullCredentialsType
    [string] $Image
    [CodeBuildProjectRegistryCredential] $RegistryCredential
    [string] $ComputeType
    [string] $Certificate

    hidden [void] _addAccessors() {
        $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
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name EnvironmentVariables -Value {
            $this._environmentVariables
        } -SecondValue {
            param([ValidateType(([CodeBuildProjectEnvironmentVariable], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._environmentVariables = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name PrivilegedMode -Value {
            $this._privilegedMode
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._privilegedMode = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ImagePullCredentialsType -Value {
            $this._imagePullCredentialsType
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._imagePullCredentialsType = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Image -Value {
            $this._image
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._image = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name RegistryCredential -Value {
            $this._registryCredential
        } -SecondValue {
            param([ValidateType(([CodeBuildProjectRegistryCredential], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._registryCredential = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ComputeType -Value {
            $this._computeType
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._computeType = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Certificate -Value {
            $this._certificate
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._certificate = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

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

Write-Verbose "Importing class 'CodeBuildProjectGitSubmodulesConfig'"

class CodeBuildProjectGitSubmodulesConfig : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSCodeBuildProjectGitSubmodulesConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-gitsubmodulesconfig.html'

    hidden [object] $_fetchSubmodules

    [bool] $FetchSubmodules

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

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

Write-Verbose "Importing class 'CodeBuildProjectVpcConfig'"

class CodeBuildProjectVpcConfig : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSCodeBuildProjectVpcConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-vpcconfig.html'

    hidden [object] $_subnets
    hidden [object] $_vpcId
    hidden [object] $_securityGroupIds

    [string[]] $Subnets
    [string] $VpcId
    [string[]] $SecurityGroupIds

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

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

Write-Verbose "Importing class 'CodeBuildReportGroupReportExportConfig'"

class CodeBuildReportGroupReportExportConfig : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSCodeBuildReportGroupReportExportConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-reportgroup-reportexportconfig.html'

    hidden [object] $_s3Destination
    hidden [object] $_exportConfigType

    [CodeBuildReportGroupS3ReportExportConfig] $S3Destination
    [string] $ExportConfigType

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

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

Write-Verbose "Importing class 'CodeBuildProjectArtifacts'"

class CodeBuildProjectArtifacts : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSCodeBuildProjectArtifacts'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-artifacts.html'

    hidden [object] $_path
    hidden [object] $_type
    hidden [object] $_artifactIdentifier
    hidden [object] $_overrideArtifactName
    hidden [object] $_packaging
    hidden [object] $_encryptionDisabled
    hidden [object] $_location
    hidden [object] $_name
    hidden [object] $_namespaceType

    [string] $Path
    [string] $Type
    [string] $ArtifactIdentifier
    [bool] $OverrideArtifactName
    [string] $Packaging
    [bool] $EncryptionDisabled
    [string] $Location
    [string] $Name
    [string] $NamespaceType

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name Path -Value {
            $this._path
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._path = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $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
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ArtifactIdentifier -Value {
            $this._artifactIdentifier
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._artifactIdentifier = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name OverrideArtifactName -Value {
            $this._overrideArtifactName
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._overrideArtifactName = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Packaging -Value {
            $this._packaging
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._packaging = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name EncryptionDisabled -Value {
            $this._encryptionDisabled
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._encryptionDisabled = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Location -Value {
            $this._location
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._location = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Name -Value {
            $this._name
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._name = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name NamespaceType -Value {
            $this._namespaceType
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._namespaceType = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

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

Write-Verbose "Importing class 'CodeBuildProjectRegistryCredential'"

class CodeBuildProjectRegistryCredential : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSCodeBuildProjectRegistryCredential'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-registrycredential.html'

    hidden [object] $_credential
    hidden [object] $_credentialProvider

    [string] $Credential
    [string] $CredentialProvider

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

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

Write-Verbose "Importing class 'CodeBuildReportGroupS3ReportExportConfig'"

class CodeBuildReportGroupS3ReportExportConfig : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSCodeBuildReportGroupS3ReportExportConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-reportgroup-s3reportexportconfig.html'

    hidden [object] $_path
    hidden [object] $_bucket
    hidden [object] $_packaging
    hidden [object] $_encryptionKey
    hidden [object] $_encryptionDisabled

    [string] $Path
    [string] $Bucket
    [string] $Packaging
    [string] $EncryptionKey
    [bool] $EncryptionDisabled

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name Path -Value {
            $this._path
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._path = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Bucket -Value {
            $this._bucket
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._bucket = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Packaging -Value {
            $this._packaging
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._packaging = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name EncryptionKey -Value {
            $this._encryptionKey
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._encryptionKey = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name EncryptionDisabled -Value {
            $this._encryptionDisabled
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._encryptionDisabled = $value
        }
    }

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

Write-Verbose "Importing class 'CodeBuildProjectCloudWatchLogsConfig'"

class CodeBuildProjectCloudWatchLogsConfig : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSCodeBuildProjectCloudWatchLogsConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-cloudwatchlogsconfig.html'

    hidden [object] $_status
    hidden [object] $_groupName
    hidden [object] $_streamName

    [string] $Status
    [string] $GroupName
    [string] $StreamName

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

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

Write-Verbose "Importing class 'CodeBuildProjectProjectCache'"

class CodeBuildProjectProjectCache : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSCodeBuildProjectProjectCache'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-projectcache.html'

    hidden [object] $_modes
    hidden [object] $_type
    hidden [object] $_location

    [string[]] $Modes
    [string] $Type
    [string] $Location

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

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

Write-Verbose "Importing class 'CodeBuildProjectProjectBuildBatchConfig'"

class CodeBuildProjectProjectBuildBatchConfig : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSCodeBuildProjectProjectBuildBatchConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-projectbuildbatchconfig.html'

    hidden [object] $_combineArtifacts
    hidden [object] $_serviceRole
    hidden [object] $_timeoutInMins
    hidden [object] $_restrictions

    [bool] $CombineArtifacts
    [string] $ServiceRole
    [int] $TimeoutInMins
    [CodeBuildProjectBatchRestrictions] $Restrictions

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name CombineArtifacts -Value {
            $this._combineArtifacts
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._combineArtifacts = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ServiceRole -Value {
            $this._serviceRole
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._serviceRole = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name TimeoutInMins -Value {
            $this._timeoutInMins
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._timeoutInMins = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Restrictions -Value {
            $this._restrictions
        } -SecondValue {
            param([ValidateType(([CodeBuildProjectBatchRestrictions], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._restrictions = $value
        }
    }

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

Write-Verbose "Importing class 'CodeBuildProjectFilterGroup'"

class CodeBuildProjectFilterGroup : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSCodeBuildProjectFilterGroup'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-filtergroup.html'



    hidden [void] _addAccessors() {
    }

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

Write-Verbose "Importing class 'CodeBuildProjectBatchRestrictions'"

class CodeBuildProjectBatchRestrictions : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSCodeBuildProjectBatchRestrictions'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-batchrestrictions.html'

    hidden [object] $_computeTypesAllowed
    hidden [object] $_maximumBuildsAllowed

    [string[]] $ComputeTypesAllowed
    [int] $MaximumBuildsAllowed

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name ComputeTypesAllowed -Value {
            $this._computeTypesAllowed
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._computeTypesAllowed = @($value)
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name MaximumBuildsAllowed -Value {
            $this._maximumBuildsAllowed
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._maximumBuildsAllowed = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
    }

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

Write-Verbose "Importing class 'CodeBuildProjectProjectTriggers'"

class CodeBuildProjectProjectTriggers : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSCodeBuildProjectProjectTriggers'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-projecttriggers.html'

    hidden [object] $_filterGroups
    hidden [object] $_buildType
    hidden [object] $_webhook

    [CodeBuildProjectFilterGroup[]] $FilterGroups
    [string] $BuildType
    [bool] $Webhook

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name FilterGroups -Value {
            $this._filterGroups
        } -SecondValue {
            param([ValidateType(([CodeBuildProjectFilterGroup], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this._filterGroups = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name BuildType -Value {
            $this._buildType
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._buildType = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Webhook -Value {
            $this._webhook
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._webhook = $value
        }
    }

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

Write-Verbose "Importing class 'CodeBuildProjectSource'"

class CodeBuildProjectSource : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSCodeBuildProjectSource'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-source.html'

    hidden [object] $_type
    hidden [object] $_reportBuildStatus
    hidden [object] $_auth
    hidden [object] $_sourceIdentifier
    hidden [object] $_buildSpec
    hidden [object] $_gitCloneDepth
    hidden [object] $_buildStatusConfig
    hidden [object] $_gitSubmodulesConfig
    hidden [object] $_insecureSsl
    hidden [object] $_location

    [string] $Type
    [bool] $ReportBuildStatus
    [CodeBuildProjectSourceAuth] $Auth
    [string] $SourceIdentifier
    [string] $BuildSpec
    [int] $GitCloneDepth
    [CodeBuildProjectBuildStatusConfig] $BuildStatusConfig
    [CodeBuildProjectGitSubmodulesConfig] $GitSubmodulesConfig
    [bool] $InsecureSsl
    [string] $Location

    hidden [void] _addAccessors() {
        $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
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ReportBuildStatus -Value {
            $this._reportBuildStatus
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._reportBuildStatus = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Auth -Value {
            $this._auth
        } -SecondValue {
            param([ValidateType(([CodeBuildProjectSourceAuth], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._auth = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SourceIdentifier -Value {
            $this._sourceIdentifier
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._sourceIdentifier = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name BuildSpec -Value {
            $this._buildSpec
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._buildSpec = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name GitCloneDepth -Value {
            $this._gitCloneDepth
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._gitCloneDepth = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name BuildStatusConfig -Value {
            $this._buildStatusConfig
        } -SecondValue {
            param([ValidateType(([CodeBuildProjectBuildStatusConfig], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._buildStatusConfig = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name GitSubmodulesConfig -Value {
            $this._gitSubmodulesConfig
        } -SecondValue {
            param([ValidateType(([CodeBuildProjectGitSubmodulesConfig], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._gitSubmodulesConfig = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name InsecureSsl -Value {
            $this._insecureSsl
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._insecureSsl = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Location -Value {
            $this._location
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._location = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

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

Write-Verbose "Importing class 'CodeBuildProjectProjectSourceVersion'"

class CodeBuildProjectProjectSourceVersion : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSCodeBuildProjectProjectSourceVersion'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-projectsourceversion.html'

    hidden [object] $_sourceIdentifier
    hidden [object] $_sourceVersion

    [string] $SourceIdentifier
    [string] $SourceVersion

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

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

Write-Verbose "Importing class 'CodeBuildProjectLogsConfig'"

class CodeBuildProjectLogsConfig : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSCodeBuildProjectLogsConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-logsconfig.html'

    hidden [object] $_cloudWatchLogs
    hidden [object] $_s3Logs

    [CodeBuildProjectCloudWatchLogsConfig] $CloudWatchLogs
    [CodeBuildProjectS3LogsConfig] $S3Logs

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name CloudWatchLogs -Value {
            $this._cloudWatchLogs
        } -SecondValue {
            param([ValidateType(([CodeBuildProjectCloudWatchLogsConfig], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._cloudWatchLogs = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name S3Logs -Value {
            $this._s3Logs
        } -SecondValue {
            param([ValidateType(([CodeBuildProjectS3LogsConfig], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._s3Logs = $value
        }
    }

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

Write-Verbose "Importing class 'CodeBuildProjectSourceAuth'"

class CodeBuildProjectSourceAuth : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSCodeBuildProjectSourceAuth'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-sourceauth.html'

    hidden [object] $_type
    hidden [object] $_resource

    [string] $Type
    [string] $Resource

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

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

Write-Verbose "Importing class 'CodeBuildProjectProjectFileSystemLocation'"

class CodeBuildProjectProjectFileSystemLocation : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSCodeBuildProjectProjectFileSystemLocation'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-projectfilesystemlocation.html'

    hidden [object] $_mountPoint
    hidden [object] $_type
    hidden [object] $_identifier
    hidden [object] $_mountOptions
    hidden [object] $_location

    [string] $MountPoint
    [string] $Type
    [string] $Identifier
    [string] $MountOptions
    [string] $Location

    hidden [void] _addAccessors() {
        $this | Add-Member -Force -MemberType ScriptProperty -Name MountPoint -Value {
            $this._mountPoint
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._mountPoint = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $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
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Identifier -Value {
            $this._identifier
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._identifier = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name MountOptions -Value {
            $this._mountOptions
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._mountOptions = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Location -Value {
            $this._location
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._location = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
    }

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

Write-Verbose "Importing class 'CodeBuildProjectS3LogsConfig'"

class CodeBuildProjectS3LogsConfig : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSCodeBuildProjectS3LogsConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-s3logsconfig.html'

    hidden [object] $_status
    hidden [object] $_encryptionDisabled
    hidden [object] $_location

    [string] $Status
    [bool] $EncryptionDisabled
    [string] $Location

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

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

Write-Verbose "Importing class 'CodeBuildProjectWebhookFilter'"

class CodeBuildProjectWebhookFilter : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSCodeBuildProjectWebhookFilter'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-webhookfilter.html'

    hidden [object] $_pattern
    hidden [object] $_type
    hidden [object] $_excludeMatchedPattern

    [string] $Pattern
    [string] $Type
    [bool] $ExcludeMatchedPattern

    hidden [void] _addAccessors() {
        $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 Type -Value {
            $this._type
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._type = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ExcludeMatchedPattern -Value {
            $this._excludeMatchedPattern
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this._excludeMatchedPattern = $value
        }
    }

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

Write-Verbose "Importing class 'CodeBuildProjectBuildStatusConfig'"

class CodeBuildProjectBuildStatusConfig : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSCodeBuildProjectBuildStatusConfig'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-buildstatusconfig.html'

    hidden [object] $_context
    hidden [object] $_targetUrl

    [string] $Context
    [string] $TargetUrl

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

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

Write-Verbose "Importing class 'CodeBuildProjectEnvironmentVariable'"

class CodeBuildProjectEnvironmentVariable : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSCodeBuildProjectEnvironmentVariable'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-environmentvariable.html'

    hidden [object] $_type
    hidden [object] $_value
    hidden [object] $_name

    [string] $Type
    [string] $Value
    [string] $Name

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

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

Write-Verbose "Importing class 'CodeBuildSourceCredential'"

class CodeBuildSourceCredential : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSCodeBuildSourceCredential'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-sourcecredential.html'

    hidden [object] $_condition

    [string] $Type = 'AWS::CodeBuild::SourceCredential'
    [string] $ServerType
    [string] $Username
    [string] $Token
    [string] $AuthType
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

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

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

Write-Verbose "Importing class 'CodeBuildProject'"

class CodeBuildProject : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSCodeBuildProject'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html'

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

    [string] $Type = 'AWS::CodeBuild::Project'
    [string] $Description
    [CodeBuildProjectVpcConfig] $VpcConfig
    [CodeBuildProjectSource[]] $SecondarySources
    [string] $EncryptionKey
    [string] $SourceVersion
    [CodeBuildProjectProjectTriggers] $Triggers
    [CodeBuildProjectArtifacts[]] $SecondaryArtifacts
    [CodeBuildProjectSource] $Source
    [string] $Name
    [CodeBuildProjectArtifacts] $Artifacts
    [bool] $BadgeEnabled
    [CodeBuildProjectLogsConfig] $LogsConfig
    [string] $ServiceRole
    [int] $QueuedTimeoutInMinutes
    [CodeBuildProjectProjectFileSystemLocation[]] $FileSystemLocations
    [CodeBuildProjectEnvironment] $Environment
    [CodeBuildProjectProjectSourceVersion[]] $SecondarySourceVersions
    [int] $ConcurrentBuildLimit
    [CodeBuildProjectProjectBuildBatchConfig] $BuildBatchConfig
    [VSTag[]] $Tags
    [int] $TimeoutInMinutes
    [CodeBuildProjectProjectCache] $Cache
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $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 VpcConfig -Value {
            $this.Properties['VpcConfig']
        } -SecondValue {
            param([ValidateType(([CodeBuildProjectVpcConfig], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['VpcConfig'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SecondarySources -Value {
            $this.Properties['SecondarySources']
        } -SecondValue {
            param([ValidateType(([CodeBuildProjectSource], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['SecondarySources'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name EncryptionKey -Value {
            $this.Properties['EncryptionKey']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['EncryptionKey'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SourceVersion -Value {
            $this.Properties['SourceVersion']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['SourceVersion'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Triggers -Value {
            $this.Properties['Triggers']
        } -SecondValue {
            param([ValidateType(([CodeBuildProjectProjectTriggers], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Triggers'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SecondaryArtifacts -Value {
            $this.Properties['SecondaryArtifacts']
        } -SecondValue {
            param([ValidateType(([CodeBuildProjectArtifacts], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['SecondaryArtifacts'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Source -Value {
            $this.Properties['Source']
        } -SecondValue {
            param([ValidateType(([CodeBuildProjectSource], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Source'] = $value
        }
        $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 Artifacts -Value {
            $this.Properties['Artifacts']
        } -SecondValue {
            param([ValidateType(([CodeBuildProjectArtifacts], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Artifacts'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name BadgeEnabled -Value {
            $this.Properties['BadgeEnabled']
        } -SecondValue {
            param([ValidateType(([bool], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['BadgeEnabled'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name LogsConfig -Value {
            $this.Properties['LogsConfig']
        } -SecondValue {
            param([ValidateType(([CodeBuildProjectLogsConfig], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['LogsConfig'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ServiceRole -Value {
            $this.Properties['ServiceRole']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ServiceRole'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name QueuedTimeoutInMinutes -Value {
            $this.Properties['QueuedTimeoutInMinutes']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['QueuedTimeoutInMinutes'] = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name FileSystemLocations -Value {
            $this.Properties['FileSystemLocations']
        } -SecondValue {
            param([ValidateType(([CodeBuildProjectProjectFileSystemLocation], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['FileSystemLocations'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Environment -Value {
            $this.Properties['Environment']
        } -SecondValue {
            param([ValidateType(([CodeBuildProjectEnvironment], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Environment'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name SecondarySourceVersions -Value {
            $this.Properties['SecondarySourceVersions']
        } -SecondValue {
            param([ValidateType(([CodeBuildProjectProjectSourceVersion], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['SecondarySourceVersions'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name ConcurrentBuildLimit -Value {
            $this.Properties['ConcurrentBuildLimit']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ConcurrentBuildLimit'] = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name BuildBatchConfig -Value {
            $this.Properties['BuildBatchConfig']
        } -SecondValue {
            param([ValidateType(([CodeBuildProjectProjectBuildBatchConfig], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['BuildBatchConfig'] = $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 TimeoutInMinutes -Value {
            $this.Properties['TimeoutInMinutes']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['TimeoutInMinutes'] = if ($cast = $value -as [int]) {
                $cast
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Cache -Value {
            $this.Properties['Cache']
        } -SecondValue {
            param([ValidateType(([CodeBuildProjectProjectCache], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['Cache'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Condition -Value {
            $this._condition
        } -SecondValue {
            param(
                [ValidateType(([string], [IntrinsicFunction], [ConditionFunction]))] [object]
                $value
            )
            $this._condition = $value
        }
    }

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

Write-Verbose "Importing class 'CodeBuildReportGroup'"

class CodeBuildReportGroup : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSCodeBuildReportGroup'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-reportgroup.html'

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

    [string] $Type = 'AWS::CodeBuild::ReportGroup'
    [string] $ReportGroupType
    [CodeBuildReportGroupReportExportConfig] $ExportConfig
    [bool] $DeleteReports
    [VSTag[]] $Tags
    [string] $Name
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

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

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