VaporShell.ECR.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 'ECRReplicationConfigurationReplicationConfiguration'"

class ECRReplicationConfigurationReplicationConfiguration : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSECRReplicationConfigurationReplicationConfiguration'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-replicationconfiguration-replicationconfiguration.html'

    hidden [object] $_rules

    [ECRReplicationConfigurationReplicationRule[]] $Rules

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

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

Write-Verbose "Importing class 'ECRRepositoryLifecyclePolicy'"

class ECRRepositoryLifecyclePolicy : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSECRRepositoryLifecyclePolicy'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-repository-lifecyclepolicy.html'

    hidden [object] $_lifecyclePolicyText
    hidden [object] $_registryId

    [string] $LifecyclePolicyText
    [string] $RegistryId

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

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

Write-Verbose "Importing class 'ECRReplicationConfigurationReplicationDestination'"

class ECRReplicationConfigurationReplicationDestination : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSECRReplicationConfigurationReplicationDestination'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-replicationconfiguration-replicationdestination.html'

    hidden [object] $_region
    hidden [object] $_registryId

    [string] $Region
    [string] $RegistryId

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

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

Write-Verbose "Importing class 'ECRReplicationConfigurationReplicationRule'"

class ECRReplicationConfigurationReplicationRule : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSECRReplicationConfigurationReplicationRule'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-replicationconfiguration-replicationrule.html'

    hidden [object] $_destinations

    [ECRReplicationConfigurationReplicationDestination[]] $Destinations

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

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

Write-Verbose "Importing class 'ECRRepositoryImageScanningConfiguration'"

class ECRRepositoryImageScanningConfiguration : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSECRRepositoryImageScanningConfiguration'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-repository-imagescanningconfiguration.html'

    hidden [object] $_scanOnPush

    [bool] $ScanOnPush

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

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

Write-Verbose "Importing class 'ECRRepositoryEncryptionConfiguration'"

class ECRRepositoryEncryptionConfiguration : VSResourceProperty {
    hidden [string] $_vsFunctionName = 'Add-VSECRRepositoryEncryptionConfiguration'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-repository-encryptionconfiguration.html'

    hidden [object] $_encryptionType
    hidden [object] $_kmsKey

    [string] $EncryptionType
    [string] $KmsKey

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

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

Write-Verbose "Importing class 'ECRRepository'"

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

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

    [string] $Type = 'AWS::ECR::Repository'
    [ECRRepositoryLifecyclePolicy] $LifecyclePolicy
    [string] $RepositoryName
    [VSJson] $RepositoryPolicyText
    [VSTag[]] $Tags
    [string] $ImageTagMutability
    [ECRRepositoryImageScanningConfiguration] $ImageScanningConfiguration
    [ECRRepositoryEncryptionConfiguration] $EncryptionConfiguration
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

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

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

Write-Verbose "Importing class 'ECRReplicationConfiguration'"

class ECRReplicationConfiguration : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSECRReplicationConfiguration'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-replicationconfiguration.html'

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

    [string] $Type = 'AWS::ECR::ReplicationConfiguration'
    [ECRReplicationConfigurationReplicationConfiguration] $ReplicationConfiguration
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name ReplicationConfiguration -Value {
            $this.Properties['ReplicationConfiguration']
        } -SecondValue {
            param([ValidateType(([ECRReplicationConfigurationReplicationConfiguration], [string], [IntrinsicFunction], [ConditionFunction]))] [object] $value)
            $this.Properties['ReplicationConfiguration'] = $value
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Condition -Value {
            $this._condition
        } -SecondValue {
            param(
                [ValidateType(([string], [IntrinsicFunction], [ConditionFunction]))] [object]
                $value
            )
            $this._condition = $value
        }
    }

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

Write-Verbose "Importing class 'ECRRegistryPolicy'"

class ECRRegistryPolicy : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSECRRegistryPolicy'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-registrypolicy.html'

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

    [string] $Type = 'AWS::ECR::RegistryPolicy'
    [VSJson] $PolicyText
    [VSJson] $Metadata
    [UpdatePolicy] $UpdatePolicy
    [string] $Condition

    hidden [void] _addAccessors() {
        $this._addBaseAccessors()
        $this | Add-Member -Force -MemberType ScriptProperty -Name PolicyText -Value {
            $this.Properties['PolicyText']
        } -SecondValue {
            param([ValidateType(([string], [VSJson], [VSYaml], [psobject], [IDictionary]))][object] $value)
            $this.Properties['PolicyText'] = [VSJson]::Transform($value)
            Write-Debug $this.Properties['PolicyText']
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name Condition -Value {
            $this._condition
        } -SecondValue {
            param(
                [ValidateType(([string], [IntrinsicFunction], [ConditionFunction]))] [object]
                $value
            )
            $this._condition = $value
        }
    }

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

Write-Verbose "Importing class 'ECRPublicRepository'"

class ECRPublicRepository : VSResource {
    hidden [string] $_vsFunctionName = 'New-VSECRPublicRepository'
    hidden [string] $_awsDocumentation = 'http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-publicrepository.html'

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

    [string] $Type = 'AWS::ECR::PublicRepository'
    [string] $RepositoryName
    [VSJson] $RepositoryPolicyText
    [VSJson] $RepositoryCatalogData
    [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 RepositoryPolicyText -Value {
            $this.Properties['RepositoryPolicyText']
        } -SecondValue {
            param([ValidateType(([string], [VSJson], [VSYaml], [psobject], [IDictionary]))][object] $value)
            $this.Properties['RepositoryPolicyText'] = [VSJson]::Transform($value)
            Write-Debug $this.Properties['RepositoryPolicyText']
        }
        $this | Add-Member -Force -MemberType ScriptProperty -Name RepositoryCatalogData -Value {
            $this.Properties['RepositoryCatalogData']
        } -SecondValue {
            param([ValidateType(([string], [VSJson], [VSYaml], [psobject], [IDictionary]))][object] $value)
            $this.Properties['RepositoryCatalogData'] = [VSJson]::Transform($value)
            Write-Debug $this.Properties['RepositoryCatalogData']
        }
        $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
        }
    }

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