VaporShell.CodeArtifact.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 'CodeArtifactDomain'"

class CodeArtifactDomain : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSCodeArtifactDomain'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-domain.html'

    hidden [string[]] $_attributes = @('Name','Owner','EncryptionKey','Arn')
    hidden [object] $_condition

    [string] $Type = 'AWS::CodeArtifact::Domain'
    [string] $DomainName
    [string] $EncryptionKey
    [VSJson] $PermissionsPolicyDocument
    [VSTag[]] $Tags
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name DomainName -Value {
            $this.Properties['DomainName']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['DomainName'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $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 PermissionsPolicyDocument -Value {
            $this.Properties['PermissionsPolicyDocument']
        } -SecondValue {
            param([ValidateType(([string], [VSJson], [VSYaml], [psobject], [IDictionary]))][object] $value)
            $this.Properties['PermissionsPolicyDocument'] = [VSJson]::Transform($value)
            Write-Debug $this.Properties['PermissionsPolicyDocument']
        }
        $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 Condition -Value {
            $this._condition
        } -SecondValue {
            param(
                [ValidateType(([string], [IntrinsicFunction], [ConditionFunction]))] [object]
                $value
            )
            $this._condition = $value
        }
    }

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

Write-Verbose "Importing class 'CodeArtifactRepository'"

class CodeArtifactRepository : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSCodeArtifactRepository'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-repository.html'

    hidden [string[]] $_attributes = @('Name','DomainName','DomainOwner','Arn')
    hidden [object] $_condition

    [string] $Type = 'AWS::CodeArtifact::Repository'
    [string] $RepositoryName
    [string] $DomainName
    [string] $DomainOwner
    [string] $Description
    [string[]] $ExternalConnections
    [string[]] $Upstreams
    [VSJson] $PermissionsPolicyDocument
    [VSTag[]] $Tags
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name RepositoryName -Value {
            $this.Properties['RepositoryName']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['RepositoryName'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DomainName -Value {
            $this.Properties['DomainName']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['DomainName'] = if ($value -is [int]) {
                $value.ToString()
            }
            else {
                $value
            }
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name DomainOwner -Value {
            $this.Properties['DomainOwner']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['DomainOwner'] = 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 ExternalConnections -Value {
            $this.Properties['ExternalConnections']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['ExternalConnections'] = @($value)
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Upstreams -Value {
            $this.Properties['Upstreams']
        } -SecondValue {
            param([ValidateType(([string], [int], [IntrinsicFunction], [ConditionFunction]))] [object[]] $value)
            $this.Properties['Upstreams'] = @($value)
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name PermissionsPolicyDocument -Value {
            $this.Properties['PermissionsPolicyDocument']
        } -SecondValue {
            param([ValidateType(([string], [VSJson], [VSYaml], [psobject], [IDictionary]))][object] $value)
            $this.Properties['PermissionsPolicyDocument'] = [VSJson]::Transform($value)
            Write-Debug $this.Properties['PermissionsPolicyDocument']
        }
        $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 Condition -Value {
            $this._condition
        } -SecondValue {
            param(
                [ValidateType(([string], [IntrinsicFunction], [ConditionFunction]))] [object]
                $value
            )
            $this._condition = $value
        }
    }

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