VaporShell.Glue.psm1
# PSM1 Contents function Format-Json { [CmdletBinding()] Param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] [String] $Json ) Begin { $cleaner = { param([String]$Line) Process{ [Regex]::Replace( $Line, "\\u(?<Value>[a-zA-Z0-9]{4})", { param($m)([char]([int]::Parse( $m.Groups['Value'].Value, [System.Globalization.NumberStyles]::HexNumber ))).ToString() } ) } } } Process { if ($PSVersionTable.PSVersion.Major -lt 6) { try { $indent = 0; $res = $Json -split '\n' | ForEach-Object { if ($_ -match '[\}\]]') { # This line contains ] or }, decrement the indentation level $indent-- } $line = (' ' * $indent * 2) + $_.TrimStart().Replace(': ', ': ') if ($_ -match '[\{\[]') { # This line contains [ or {, increment the indentation level $indent++ } $cleaner.Invoke($line) } $res -join "`n" } catch { ($Json -split '\n' | ForEach-Object {$cleaner.Invoke($_)}) -join "`n" } } else { ($Json -split '\n' | ForEach-Object {$cleaner.Invoke($_)}) -join "`n" } } } function Get-TrueCount { Param ( [parameter(Mandatory = $false,Position = 0,ValueFromPipeline = $true)] $Array ) Process { if ($array) { if ($array.Count) { $count = $array.Count } else { $count = 1 } } else { $count = 0 } } End { return $count } } function New-VSError { <# .SYNOPSIS Error generator function to use in tandem with $PSCmdlet.ThrowTerminatingError() .PARAMETER Result Allows input of an error from AWS SDK, resulting in the Exception message being parsed out. .PARAMETER String Used to create basic String message errors in the same wrapper #> [cmdletbinding(DefaultParameterSetName="Result")] param( [parameter(Position=0,ParameterSetName="Result")] $Result, [parameter(Position=0,ParameterSetName="String")] $String ) switch ($PSCmdlet.ParameterSetName) { Result { $Exception = "$($result.Exception.InnerException.Message)" } String { $Exception = "$String" } } $e = New-Object "System.Exception" $Exception $errorRecord = New-Object 'System.Management.Automation.ErrorRecord' $e, $null, ([System.Management.Automation.ErrorCategory]::InvalidOperation), $null return $errorRecord } function ResolveS3Endpoint { <# .SYNOPSIS Resolves the S3 endpoint most appropriate for each region. #> Param ( [parameter(Mandatory=$true,Position=0)] [ValidateSet("eu-west-2","ap-south-1","us-east-2","sa-east-1","us-west-1","us-west-2","eu-west-1","ap-southeast-2","ca-central-1","ap-northeast-2","us-east-1","eu-central-1","ap-southeast-1","ap-northeast-1")] [String] $Region ) $endpointMap = @{ "us-east-2" = "s3.us-east-2.amazonaws.com" "us-east-1" = "s3.amazonaws.com" "us-west-1" = "s3-us-west-1.amazonaws.com" "us-west-2" = "s3-us-west-2.amazonaws.com" "ca-central-1" = "s3.ca-central-1.amazonaws.com" "ap-south-1" = "s3.ap-south-1.amazonaws.com" "ap-northeast-2" = "s3.ap-northeast-2.amazonaws.com" "ap-southeast-1" = "s3-ap-southeast-1.amazonaws.com" "ap-southeast-2" = "s3-ap-southeast-2.amazonaws.com" "ap-northeast-1" = "s3-ap-northeast-1.amazonaws.com" "eu-central-1" = "s3.eu-central-1.amazonaws.com" "eu-west-1" = "s3-eu-west-1.amazonaws.com" "eu-west-2" = "s3.eu-west-2.amazonaws.com" "sa-east-1" = "s3-sa-east-1.amazonaws.com" } return $endpointMap[$Region] } function Add-VSGlueClassifierCsvClassifier { <# .SYNOPSIS Adds an AWS::Glue::Classifier.CsvClassifier resource property to the template. A classifier for custom CSV content. .DESCRIPTION Adds an AWS::Glue::Classifier.CsvClassifier resource property to the template. A classifier for custom CSV content. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-csvclassifier.html .PARAMETER QuoteSymbol A custom symbol to denote what combines content into a single column value. It must be different from the column delimiter. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-csvclassifier.html#cfn-glue-classifier-csvclassifier-quotesymbol PrimitiveType: String UpdateType: Mutable .PARAMETER ContainsHeader Indicates whether the CSV file contains a header. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-csvclassifier.html#cfn-glue-classifier-csvclassifier-containsheader PrimitiveType: String UpdateType: Mutable .PARAMETER Delimiter A custom symbol to denote what separates each column entry in the row. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-csvclassifier.html#cfn-glue-classifier-csvclassifier-delimiter PrimitiveType: String UpdateType: Mutable .PARAMETER Header A list of strings representing column names. PrimitiveItemType: String Type: List Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-csvclassifier.html#cfn-glue-classifier-csvclassifier-header UpdateType: Mutable .PARAMETER AllowSingleColumn Enables the processing of files that contain only one column. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-csvclassifier.html#cfn-glue-classifier-csvclassifier-allowsinglecolumn PrimitiveType: Boolean UpdateType: Mutable .PARAMETER DisableValueTrimming Specifies not to trim values before identifying the type of column values. The default value is true. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-csvclassifier.html#cfn-glue-classifier-csvclassifier-disablevaluetrimming PrimitiveType: Boolean UpdateType: Mutable .PARAMETER Name The name of the classifier. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-csvclassifier.html#cfn-glue-classifier-csvclassifier-name PrimitiveType: String UpdateType: Immutable .FUNCTIONALITY Vaporshell #> [OutputType([GlueClassifierCsvClassifier])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] [object] $QuoteSymbol, [parameter(Mandatory = $false)] [object] $ContainsHeader, [parameter(Mandatory = $false)] [object] $Delimiter, [parameter(Mandatory = $false)] $Header, [parameter(Mandatory = $false)] [object] $AllowSingleColumn, [parameter(Mandatory = $false)] [object] $DisableValueTrimming, [parameter(Mandatory = $false)] [object] $Name ) Process { $obj = [GlueClassifierCsvClassifier]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGlueClassifierCsvClassifier' function Add-VSGlueClassifierGrokClassifier { <# .SYNOPSIS Adds an AWS::Glue::Classifier.GrokClassifier resource property to the template. A classifier that uses grok patterns. .DESCRIPTION Adds an AWS::Glue::Classifier.GrokClassifier resource property to the template. A classifier that uses grok patterns. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-grokclassifier.html .PARAMETER CustomPatterns Optional custom grok patterns defined by this classifier. For more information, see custom patterns in Writing Custom Classifiers: https://docs.aws.amazon.com/glue/latest/dg/custom-classifier.html. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-grokclassifier.html#cfn-glue-classifier-grokclassifier-custompatterns PrimitiveType: String UpdateType: Mutable .PARAMETER GrokPattern The grok pattern applied to a data store by this classifier. For more information, see built-in patterns in Writing Custom Classifiers: https://docs.aws.amazon.com/glue/latest/dg/custom-classifier.html. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-grokclassifier.html#cfn-glue-classifier-grokclassifier-grokpattern PrimitiveType: String UpdateType: Mutable .PARAMETER Classification An identifier of the data format that the classifier matches, such as Twitter, JSON, Omniture logs, and so on. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-grokclassifier.html#cfn-glue-classifier-grokclassifier-classification PrimitiveType: String UpdateType: Mutable .PARAMETER Name The name of the classifier. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-grokclassifier.html#cfn-glue-classifier-grokclassifier-name PrimitiveType: String UpdateType: Immutable .FUNCTIONALITY Vaporshell #> [OutputType([GlueClassifierGrokClassifier])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] [object] $CustomPatterns, [parameter(Mandatory = $true)] [object] $GrokPattern, [parameter(Mandatory = $true)] [object] $Classification, [parameter(Mandatory = $false)] [object] $Name ) Process { $obj = [GlueClassifierGrokClassifier]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGlueClassifierGrokClassifier' function Add-VSGlueClassifierJsonClassifier { <# .SYNOPSIS Adds an AWS::Glue::Classifier.JsonClassifier resource property to the template. A classifier for JSON content. .DESCRIPTION Adds an AWS::Glue::Classifier.JsonClassifier resource property to the template. A classifier for JSON content. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-jsonclassifier.html .PARAMETER JsonPath A JsonPath string defining the JSON data for the classifier to classify. AWS Glue supports a subset of JsonPath, as described in Writing JsonPath Custom Classifiers: https://docs.aws.amazon.com/glue/latest/dg/custom-classifier.html#custom-classifier-json. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-jsonclassifier.html#cfn-glue-classifier-jsonclassifier-jsonpath PrimitiveType: String UpdateType: Mutable .PARAMETER Name The name of the classifier. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-jsonclassifier.html#cfn-glue-classifier-jsonclassifier-name PrimitiveType: String UpdateType: Immutable .FUNCTIONALITY Vaporshell #> [OutputType([GlueClassifierJsonClassifier])] [cmdletbinding()] Param( [parameter(Mandatory = $true)] [object] $JsonPath, [parameter(Mandatory = $false)] [object] $Name ) Process { $obj = [GlueClassifierJsonClassifier]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGlueClassifierJsonClassifier' function Add-VSGlueClassifierXMLClassifier { <# .SYNOPSIS Adds an AWS::Glue::Classifier.XMLClassifier resource property to the template. A classifier for XML content. .DESCRIPTION Adds an AWS::Glue::Classifier.XMLClassifier resource property to the template. A classifier for XML content. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-xmlclassifier.html .PARAMETER RowTag The XML tag designating the element that contains each record in an XML document being parsed. This can't identify a self-closing element closed by />. An empty row element that contains only attributes can be parsed as long as it ends with a closing tag for example, <row item_a="A" item_b="B"></row> is okay, but <row item_a="A" item_b="B" /> is not. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-xmlclassifier.html#cfn-glue-classifier-xmlclassifier-rowtag PrimitiveType: String UpdateType: Mutable .PARAMETER Classification An identifier of the data format that the classifier matches. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-xmlclassifier.html#cfn-glue-classifier-xmlclassifier-classification PrimitiveType: String UpdateType: Mutable .PARAMETER Name The name of the classifier. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-xmlclassifier.html#cfn-glue-classifier-xmlclassifier-name PrimitiveType: String UpdateType: Immutable .FUNCTIONALITY Vaporshell #> [OutputType([GlueClassifierXMLClassifier])] [cmdletbinding()] Param( [parameter(Mandatory = $true)] [object] $RowTag, [parameter(Mandatory = $true)] [object] $Classification, [parameter(Mandatory = $false)] [object] $Name ) Process { $obj = [GlueClassifierXMLClassifier]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGlueClassifierXMLClassifier' function Add-VSGlueConnectionConnectionInput { <# .SYNOPSIS Adds an AWS::Glue::Connection.ConnectionInput resource property to the template. A structure that is used to specify a connection to create or update. .DESCRIPTION Adds an AWS::Glue::Connection.ConnectionInput resource property to the template. A structure that is used to specify a connection to create or update. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-connectioninput.html .PARAMETER Description The description of the connection. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-connectioninput.html#cfn-glue-connection-connectioninput-description PrimitiveType: String UpdateType: Mutable .PARAMETER ConnectionType The type of the connection. Currently, only JDBC is supported; SFTP is not supported. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-connectioninput.html#cfn-glue-connection-connectioninput-connectiontype PrimitiveType: String UpdateType: Mutable .PARAMETER MatchCriteria A list of criteria that can be used in selecting this connection. PrimitiveItemType: String Type: List Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-connectioninput.html#cfn-glue-connection-connectioninput-matchcriteria UpdateType: Mutable .PARAMETER PhysicalConnectionRequirements A map of physical connection requirements, such as virtual private cloud VPC and SecurityGroup, that are needed to successfully make this connection. Type: PhysicalConnectionRequirements Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-connectioninput.html#cfn-glue-connection-connectioninput-physicalconnectionrequirements UpdateType: Mutable .PARAMETER ConnectionProperties These key-value pairs define parameters for the connection. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-connectioninput.html#cfn-glue-connection-connectioninput-connectionproperties PrimitiveType: Json UpdateType: Mutable .PARAMETER Name The name of the connection. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-connectioninput.html#cfn-glue-connection-connectioninput-name PrimitiveType: String UpdateType: Immutable .FUNCTIONALITY Vaporshell #> [OutputType([GlueConnectionConnectionInput])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] [object] $Description, [parameter(Mandatory = $true)] [object] $ConnectionType, [parameter(Mandatory = $false)] $MatchCriteria, [parameter(Mandatory = $false)] $PhysicalConnectionRequirements, [parameter(Mandatory = $false)] [VSJson] $ConnectionProperties, [parameter(Mandatory = $false)] [object] $Name ) Process { $obj = [GlueConnectionConnectionInput]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGlueConnectionConnectionInput' function Add-VSGlueConnectionPhysicalConnectionRequirements { <# .SYNOPSIS Adds an AWS::Glue::Connection.PhysicalConnectionRequirements resource property to the template. Specifies the physical requirements for a connection. .DESCRIPTION Adds an AWS::Glue::Connection.PhysicalConnectionRequirements resource property to the template. Specifies the physical requirements for a connection. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-physicalconnectionrequirements.html .PARAMETER AvailabilityZone The connection's Availability Zone. This field is redundant because the specified subnet implies the Availability Zone to be used. Currently the field must be populated, but it will be deprecated in the future. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-physicalconnectionrequirements.html#cfn-glue-connection-physicalconnectionrequirements-availabilityzone PrimitiveType: String UpdateType: Mutable .PARAMETER SecurityGroupIdList The security group ID list used by the connection. PrimitiveItemType: String Type: List Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-physicalconnectionrequirements.html#cfn-glue-connection-physicalconnectionrequirements-securitygroupidlist UpdateType: Mutable .PARAMETER SubnetId The subnet ID used by the connection. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-physicalconnectionrequirements.html#cfn-glue-connection-physicalconnectionrequirements-subnetid PrimitiveType: String UpdateType: Mutable .FUNCTIONALITY Vaporshell #> [OutputType([GlueConnectionPhysicalConnectionRequirements])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] [object] $AvailabilityZone, [parameter(Mandatory = $false)] $SecurityGroupIdList, [parameter(Mandatory = $false)] [object] $SubnetId ) Process { $obj = [GlueConnectionPhysicalConnectionRequirements]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGlueConnectionPhysicalConnectionRequirements' function Add-VSGlueCrawlerCatalogTarget { <# .SYNOPSIS Adds an AWS::Glue::Crawler.CatalogTarget resource property to the template. Specifies an AWS Glue Data Catalog target. .DESCRIPTION Adds an AWS::Glue::Crawler.CatalogTarget resource property to the template. Specifies an AWS Glue Data Catalog target. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-catalogtarget.html .PARAMETER DatabaseName The name of the database to be synchronized. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-catalogtarget.html#cfn-glue-crawler-catalogtarget-databasename PrimitiveType: String UpdateType: Mutable .PARAMETER Tables A list of the tables to be synchronized. PrimitiveItemType: String Type: List Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-catalogtarget.html#cfn-glue-crawler-catalogtarget-tables UpdateType: Mutable .FUNCTIONALITY Vaporshell #> [OutputType([GlueCrawlerCatalogTarget])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] [object] $DatabaseName, [parameter(Mandatory = $false)] $Tables ) Process { $obj = [GlueCrawlerCatalogTarget]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGlueCrawlerCatalogTarget' function Add-VSGlueCrawlerDynamoDBTarget { <# .SYNOPSIS Adds an AWS::Glue::Crawler.DynamoDBTarget resource property to the template. Specifies an Amazon DynamoDB table to crawl. .DESCRIPTION Adds an AWS::Glue::Crawler.DynamoDBTarget resource property to the template. Specifies an Amazon DynamoDB table to crawl. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-dynamodbtarget.html .PARAMETER Path The name of the DynamoDB table to crawl. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-dynamodbtarget.html#cfn-glue-crawler-dynamodbtarget-path PrimitiveType: String UpdateType: Mutable .FUNCTIONALITY Vaporshell #> [OutputType([GlueCrawlerDynamoDBTarget])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] [object] $Path ) Process { $obj = [GlueCrawlerDynamoDBTarget]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGlueCrawlerDynamoDBTarget' function Add-VSGlueCrawlerJdbcTarget { <# .SYNOPSIS Adds an AWS::Glue::Crawler.JdbcTarget resource property to the template. Specifies a JDBC data store to crawl. .DESCRIPTION Adds an AWS::Glue::Crawler.JdbcTarget resource property to the template. Specifies a JDBC data store to crawl. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-jdbctarget.html .PARAMETER ConnectionName The name of the connection to use to connect to the JDBC target. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-jdbctarget.html#cfn-glue-crawler-jdbctarget-connectionname PrimitiveType: String UpdateType: Mutable .PARAMETER Path The path of the JDBC target. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-jdbctarget.html#cfn-glue-crawler-jdbctarget-path PrimitiveType: String UpdateType: Mutable .PARAMETER Exclusions A list of glob patterns used to exclude from the crawl. For more information, see Catalog Tables with a Crawler: https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html. PrimitiveItemType: String Type: List Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-jdbctarget.html#cfn-glue-crawler-jdbctarget-exclusions UpdateType: Mutable .FUNCTIONALITY Vaporshell #> [OutputType([GlueCrawlerJdbcTarget])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] [object] $ConnectionName, [parameter(Mandatory = $false)] [object] $Path, [parameter(Mandatory = $false)] $Exclusions ) Process { $obj = [GlueCrawlerJdbcTarget]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGlueCrawlerJdbcTarget' function Add-VSGlueCrawlerRecrawlPolicy { <# .SYNOPSIS Adds an AWS::Glue::Crawler.RecrawlPolicy resource property to the template. .DESCRIPTION Adds an AWS::Glue::Crawler.RecrawlPolicy resource property to the template. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-recrawlpolicy.html .PARAMETER RecrawlBehavior Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-recrawlpolicy.html#cfn-glue-crawler-recrawlpolicy-recrawlbehavior PrimitiveType: String UpdateType: Mutable .FUNCTIONALITY Vaporshell #> [OutputType([GlueCrawlerRecrawlPolicy])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] [object] $RecrawlBehavior ) Process { $obj = [GlueCrawlerRecrawlPolicy]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGlueCrawlerRecrawlPolicy' function Add-VSGlueCrawlerS3Target { <# .SYNOPSIS Adds an AWS::Glue::Crawler.S3Target resource property to the template. Specifies a data store in Amazon Simple Storage Service (Amazon S3. .DESCRIPTION Adds an AWS::Glue::Crawler.S3Target resource property to the template. Specifies a data store in Amazon Simple Storage Service (Amazon S3. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-s3target.html .PARAMETER ConnectionName *Update requires*: No interruption: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-s3target.html#cfn-glue-crawler-s3target-connectionname PrimitiveType: String UpdateType: Mutable .PARAMETER Path The path to the Amazon S3 target. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-s3target.html#cfn-glue-crawler-s3target-path PrimitiveType: String UpdateType: Mutable .PARAMETER Exclusions A list of glob patterns used to exclude from the crawl. For more information, see Catalog Tables with a Crawler: https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html. PrimitiveItemType: String Type: List Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-s3target.html#cfn-glue-crawler-s3target-exclusions UpdateType: Mutable .FUNCTIONALITY Vaporshell #> [OutputType([GlueCrawlerS3Target])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] [object] $ConnectionName, [parameter(Mandatory = $false)] [object] $Path, [parameter(Mandatory = $false)] $Exclusions ) Process { $obj = [GlueCrawlerS3Target]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGlueCrawlerS3Target' function Add-VSGlueCrawlerSchedule { <# .SYNOPSIS Adds an AWS::Glue::Crawler.Schedule resource property to the template. A scheduling object using a cron statement to schedule an event. .DESCRIPTION Adds an AWS::Glue::Crawler.Schedule resource property to the template. A scheduling object using a cron statement to schedule an event. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-schedule.html .PARAMETER ScheduleExpression A cron expression used to specify the schedule. For more information, see Time-Based Schedules for Jobs and Crawlers: https://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html. For example, to run something every day at 12:15 UTC, specify cron15 12 * * ? *. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-schedule.html#cfn-glue-crawler-schedule-scheduleexpression PrimitiveType: String UpdateType: Mutable .FUNCTIONALITY Vaporshell #> [OutputType([GlueCrawlerSchedule])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] [object] $ScheduleExpression ) Process { $obj = [GlueCrawlerSchedule]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGlueCrawlerSchedule' function Add-VSGlueCrawlerSchemaChangePolicy { <# .SYNOPSIS Adds an AWS::Glue::Crawler.SchemaChangePolicy resource property to the template. A policy that specifies update and deletion behaviors for the crawler. .DESCRIPTION Adds an AWS::Glue::Crawler.SchemaChangePolicy resource property to the template. A policy that specifies update and deletion behaviors for the crawler. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-schemachangepolicy.html .PARAMETER UpdateBehavior The update behavior when the crawler finds a changed schema. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-schemachangepolicy.html#cfn-glue-crawler-schemachangepolicy-updatebehavior PrimitiveType: String UpdateType: Mutable .PARAMETER DeleteBehavior The deletion behavior when the crawler finds a deleted object. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-schemachangepolicy.html#cfn-glue-crawler-schemachangepolicy-deletebehavior PrimitiveType: String UpdateType: Mutable .FUNCTIONALITY Vaporshell #> [OutputType([GlueCrawlerSchemaChangePolicy])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] [object] $UpdateBehavior, [parameter(Mandatory = $false)] [object] $DeleteBehavior ) Process { $obj = [GlueCrawlerSchemaChangePolicy]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGlueCrawlerSchemaChangePolicy' function Add-VSGlueCrawlerTargets { <# .SYNOPSIS Adds an AWS::Glue::Crawler.Targets resource property to the template. Specifies data stores to crawl. .DESCRIPTION Adds an AWS::Glue::Crawler.Targets resource property to the template. Specifies data stores to crawl. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-targets.html .PARAMETER S3Targets Specifies Amazon Simple Storage Service Amazon S3 targets. Type: List Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-targets.html#cfn-glue-crawler-targets-s3targets ItemType: S3Target UpdateType: Mutable .PARAMETER CatalogTargets Specifies AWS Glue Data Catalog targets. Type: List Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-targets.html#cfn-glue-crawler-targets-catalogtargets ItemType: CatalogTarget UpdateType: Mutable .PARAMETER JdbcTargets Specifies JDBC targets. Type: List Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-targets.html#cfn-glue-crawler-targets-jdbctargets ItemType: JdbcTarget UpdateType: Mutable .PARAMETER DynamoDBTargets Specifies Amazon DynamoDB targets. Type: List Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-targets.html#cfn-glue-crawler-targets-dynamodbtargets ItemType: DynamoDBTarget UpdateType: Mutable .FUNCTIONALITY Vaporshell #> [OutputType([GlueCrawlerTargets])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] [object] $S3Targets, [parameter(Mandatory = $false)] [object] $CatalogTargets, [parameter(Mandatory = $false)] [object] $JdbcTargets, [parameter(Mandatory = $false)] [object] $DynamoDBTargets ) Process { $obj = [GlueCrawlerTargets]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGlueCrawlerTargets' function Add-VSGlueDatabaseDatabaseIdentifier { <# .SYNOPSIS Adds an AWS::Glue::Database.DatabaseIdentifier resource property to the template. .DESCRIPTION Adds an AWS::Glue::Database.DatabaseIdentifier resource property to the template. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-database-databaseidentifier.html .PARAMETER DatabaseName Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-database-databaseidentifier.html#cfn-glue-database-databaseidentifier-databasename PrimitiveType: String UpdateType: Mutable .PARAMETER CatalogId Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-database-databaseidentifier.html#cfn-glue-database-databaseidentifier-catalogid PrimitiveType: String UpdateType: Mutable .FUNCTIONALITY Vaporshell #> [OutputType([GlueDatabaseDatabaseIdentifier])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] [object] $DatabaseName, [parameter(Mandatory = $false)] [object] $CatalogId ) Process { $obj = [GlueDatabaseDatabaseIdentifier]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGlueDatabaseDatabaseIdentifier' function Add-VSGlueDatabaseDatabaseInput { <# .SYNOPSIS Adds an AWS::Glue::Database.DatabaseInput resource property to the template. The structure used to create or update a database. .DESCRIPTION Adds an AWS::Glue::Database.DatabaseInput resource property to the template. The structure used to create or update a database. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-database-databaseinput.html .PARAMETER LocationUri The location of the database for example, an HDFS path. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-database-databaseinput.html#cfn-glue-database-databaseinput-locationuri PrimitiveType: String UpdateType: Mutable .PARAMETER CreateTableDefaultPermissions *Update requires*: No interruption: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt Type: List Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-database-databaseinput.html#cfn-glue-database-databaseinput-createtabledefaultpermissions ItemType: PrincipalPrivileges UpdateType: Mutable .PARAMETER Description A description of the database. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-database-databaseinput.html#cfn-glue-database-databaseinput-description PrimitiveType: String UpdateType: Mutable .PARAMETER Parameters These key-value pairs define parameters and properties of the database. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-database-databaseinput.html#cfn-glue-database-databaseinput-parameters PrimitiveType: Json UpdateType: Mutable .PARAMETER TargetDatabase *Update requires*: No interruption: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt Type: DatabaseIdentifier Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-database-databaseinput.html#cfn-glue-database-databaseinput-targetdatabase UpdateType: Mutable .PARAMETER Name The name of the database. For Hive compatibility, this is folded to lowercase when it is stored. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-database-databaseinput.html#cfn-glue-database-databaseinput-name PrimitiveType: String UpdateType: Immutable .FUNCTIONALITY Vaporshell #> [OutputType([GlueDatabaseDatabaseInput])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] [object] $LocationUri, [parameter(Mandatory = $false)] [object] $CreateTableDefaultPermissions, [parameter(Mandatory = $false)] [object] $Description, [parameter(Mandatory = $false)] [VSJson] $Parameters, [parameter(Mandatory = $false)] $TargetDatabase, [parameter(Mandatory = $false)] [object] $Name ) Process { $obj = [GlueDatabaseDatabaseInput]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGlueDatabaseDatabaseInput' function Add-VSGlueDatabaseDataLakePrincipal { <# .SYNOPSIS Adds an AWS::Glue::Database.DataLakePrincipal resource property to the template. .DESCRIPTION Adds an AWS::Glue::Database.DataLakePrincipal resource property to the template. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-database-datalakeprincipal.html .PARAMETER DataLakePrincipalIdentifier Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-database-datalakeprincipal.html#cfn-glue-database-datalakeprincipal-datalakeprincipalidentifier PrimitiveType: String UpdateType: Mutable .FUNCTIONALITY Vaporshell #> [OutputType([GlueDatabaseDataLakePrincipal])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] [object] $DataLakePrincipalIdentifier ) Process { $obj = [GlueDatabaseDataLakePrincipal]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGlueDatabaseDataLakePrincipal' function Add-VSGlueDatabasePrincipalPrivileges { <# .SYNOPSIS Adds an AWS::Glue::Database.PrincipalPrivileges resource property to the template. .DESCRIPTION Adds an AWS::Glue::Database.PrincipalPrivileges resource property to the template. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-database-principalprivileges.html .PARAMETER Permissions PrimitiveItemType: String Type: List Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-database-principalprivileges.html#cfn-glue-database-principalprivileges-permissions UpdateType: Mutable .PARAMETER Principal Type: DataLakePrincipal Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-database-principalprivileges.html#cfn-glue-database-principalprivileges-principal UpdateType: Mutable .FUNCTIONALITY Vaporshell #> [OutputType([GlueDatabasePrincipalPrivileges])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] $Permissions, [parameter(Mandatory = $false)] $Principal ) Process { $obj = [GlueDatabasePrincipalPrivileges]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGlueDatabasePrincipalPrivileges' function Add-VSGlueDataCatalogEncryptionSettingsConnectionPasswordEncryption { <# .SYNOPSIS Adds an AWS::Glue::DataCatalogEncryptionSettings.ConnectionPasswordEncryption resource property to the template. The data structure used by the Data Catalog to encrypt the password as part of CreateConnection or UpdateConnection and store it in the ENCRYPTED_PASSWORD field in the connection properties. You can enable catalog encryption or only password encryption. .DESCRIPTION Adds an AWS::Glue::DataCatalogEncryptionSettings.ConnectionPasswordEncryption resource property to the template. The data structure used by the Data Catalog to encrypt the password as part of CreateConnection or UpdateConnection and store it in the ENCRYPTED_PASSWORD field in the connection properties. You can enable catalog encryption or only password encryption. When a CreationConnection request arrives containing a password, the Data Catalog first encrypts the password using your AWS KMS key. It then encrypts the whole connection object again if catalog encryption is also enabled. This encryption requires that you set AWS KMS key permissions to enable or restrict access on the password key according to your security requirements. For example, you might want only administrators to have decrypt permission on the password key. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-datacatalogencryptionsettings-connectionpasswordencryption.html .PARAMETER ReturnConnectionPasswordEncrypted When the ReturnConnectionPasswordEncrypted flag is set to "true", passwords remain encrypted in the responses of GetConnection and GetConnections. This encryption takes effect independently from catalog encryption. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-datacatalogencryptionsettings-connectionpasswordencryption.html#cfn-glue-datacatalogencryptionsettings-connectionpasswordencryption-returnconnectionpasswordencrypted PrimitiveType: Boolean UpdateType: Mutable .PARAMETER KmsKeyId An AWS KMS key that is used to encrypt the connection password. If connection password protection is enabled, the caller of CreateConnection and UpdateConnection needs at least kms:Encrypt permission on the specified AWS KMS key, to encrypt passwords before storing them in the Data Catalog. You can set the decrypt permission to enable or restrict access on the password key according to your security requirements. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-datacatalogencryptionsettings-connectionpasswordencryption.html#cfn-glue-datacatalogencryptionsettings-connectionpasswordencryption-kmskeyid PrimitiveType: String UpdateType: Mutable .FUNCTIONALITY Vaporshell #> [OutputType([GlueDataCatalogEncryptionSettingsConnectionPasswordEncryption])] [cmdletbinding()] [Diagnostics.CodeAnalysis.SuppressMessageAttribute("PSAvoidUsingPlainTextForPassword","ReturnConnectionPasswordEncrypted")] [Diagnostics.CodeAnalysis.SuppressMessageAttribute("PSAvoidUsingUserNameAndPasswordParams","ReturnConnectionPasswordEncrypted")] Param( [parameter(Mandatory = $false)] [object] $ReturnConnectionPasswordEncrypted, [parameter(Mandatory = $false)] [object] $KmsKeyId ) Process { $obj = [GlueDataCatalogEncryptionSettingsConnectionPasswordEncryption]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGlueDataCatalogEncryptionSettingsConnectionPasswordEncryption' function Add-VSGlueDataCatalogEncryptionSettingsDataCatalogEncryptionSettings { <# .SYNOPSIS Adds an AWS::Glue::DataCatalogEncryptionSettings.DataCatalogEncryptionSettings resource property to the template. Contains configuration information for maintaining Data Catalog security. .DESCRIPTION Adds an AWS::Glue::DataCatalogEncryptionSettings.DataCatalogEncryptionSettings resource property to the template. Contains configuration information for maintaining Data Catalog security. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-datacatalogencryptionsettings-datacatalogencryptionsettings.html .PARAMETER ConnectionPasswordEncryption When connection password protection is enabled, the Data Catalog uses a customer-provided key to encrypt the password as part of CreateConnection or UpdateConnection and store it in the ENCRYPTED_PASSWORD field in the connection properties. You can enable catalog encryption or only password encryption. Type: ConnectionPasswordEncryption Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-datacatalogencryptionsettings-datacatalogencryptionsettings.html#cfn-glue-datacatalogencryptionsettings-datacatalogencryptionsettings-connectionpasswordencryption UpdateType: Mutable .PARAMETER EncryptionAtRest Specifies the encryption-at-rest configuration for the Data Catalog. Type: EncryptionAtRest Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-datacatalogencryptionsettings-datacatalogencryptionsettings.html#cfn-glue-datacatalogencryptionsettings-datacatalogencryptionsettings-encryptionatrest UpdateType: Mutable .FUNCTIONALITY Vaporshell #> [OutputType([GlueDataCatalogEncryptionSettingsDataCatalogEncryptionSettings])] [cmdletbinding()] [Diagnostics.CodeAnalysis.SuppressMessageAttribute("PSAvoidUsingPlainTextForPassword","ConnectionPasswordEncryption")] [Diagnostics.CodeAnalysis.SuppressMessageAttribute("PSAvoidUsingUserNameAndPasswordParams","ConnectionPasswordEncryption")] Param( [parameter(Mandatory = $false)] $ConnectionPasswordEncryption, [parameter(Mandatory = $false)] $EncryptionAtRest ) Process { $obj = [GlueDataCatalogEncryptionSettingsDataCatalogEncryptionSettings]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGlueDataCatalogEncryptionSettingsDataCatalogEncryptionSettings' function Add-VSGlueDataCatalogEncryptionSettingsEncryptionAtRest { <# .SYNOPSIS Adds an AWS::Glue::DataCatalogEncryptionSettings.EncryptionAtRest resource property to the template. Specifies the encryption-at-rest configuration for the Data Catalog. .DESCRIPTION Adds an AWS::Glue::DataCatalogEncryptionSettings.EncryptionAtRest resource property to the template. Specifies the encryption-at-rest configuration for the Data Catalog. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-datacatalogencryptionsettings-encryptionatrest.html .PARAMETER CatalogEncryptionMode The encryption-at-rest mode for encrypting Data Catalog data. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-datacatalogencryptionsettings-encryptionatrest.html#cfn-glue-datacatalogencryptionsettings-encryptionatrest-catalogencryptionmode PrimitiveType: String UpdateType: Mutable .PARAMETER SseAwsKmsKeyId The ID of the AWS KMS key to use for encryption at rest. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-datacatalogencryptionsettings-encryptionatrest.html#cfn-glue-datacatalogencryptionsettings-encryptionatrest-sseawskmskeyid PrimitiveType: String UpdateType: Mutable .FUNCTIONALITY Vaporshell #> [OutputType([GlueDataCatalogEncryptionSettingsEncryptionAtRest])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] [object] $CatalogEncryptionMode, [parameter(Mandatory = $false)] [object] $SseAwsKmsKeyId ) Process { $obj = [GlueDataCatalogEncryptionSettingsEncryptionAtRest]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGlueDataCatalogEncryptionSettingsEncryptionAtRest' function Add-VSGlueJobConnectionsList { <# .SYNOPSIS Adds an AWS::Glue::Job.ConnectionsList resource property to the template. Specifies the connections used by a job. .DESCRIPTION Adds an AWS::Glue::Job.ConnectionsList resource property to the template. Specifies the connections used by a job. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-job-connectionslist.html .PARAMETER Connections A list of connections used by the job. PrimitiveItemType: String Type: List Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-job-connectionslist.html#cfn-glue-job-connectionslist-connections UpdateType: Mutable .FUNCTIONALITY Vaporshell #> [OutputType([GlueJobConnectionsList])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] $Connections ) Process { $obj = [GlueJobConnectionsList]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGlueJobConnectionsList' function Add-VSGlueJobExecutionProperty { <# .SYNOPSIS Adds an AWS::Glue::Job.ExecutionProperty resource property to the template. An execution property of a job. .DESCRIPTION Adds an AWS::Glue::Job.ExecutionProperty resource property to the template. An execution property of a job. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-job-executionproperty.html .PARAMETER MaxConcurrentRuns The maximum number of concurrent runs allowed for the job. The default is 1. An error is returned when this threshold is reached. The maximum value you can specify is controlled by a service limit. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-job-executionproperty.html#cfn-glue-job-executionproperty-maxconcurrentruns PrimitiveType: Double UpdateType: Mutable .FUNCTIONALITY Vaporshell #> [OutputType([GlueJobExecutionProperty])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] [object] $MaxConcurrentRuns ) Process { $obj = [GlueJobExecutionProperty]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGlueJobExecutionProperty' function Add-VSGlueJobJobCommand { <# .SYNOPSIS Adds an AWS::Glue::Job.JobCommand resource property to the template. Specifies code executed when a job is run. .DESCRIPTION Adds an AWS::Glue::Job.JobCommand resource property to the template. Specifies code executed when a job is run. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-job-jobcommand.html .PARAMETER PythonVersion The Python version being used to execute a Python shell job. Allowed values are 2 or 3. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-job-jobcommand.html#cfn-glue-job-jobcommand-pythonversion PrimitiveType: String UpdateType: Mutable .PARAMETER ScriptLocation Specifies the Amazon Simple Storage Service Amazon S3 path to a script that executes a job required. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-job-jobcommand.html#cfn-glue-job-jobcommand-scriptlocation PrimitiveType: String UpdateType: Mutable .PARAMETER Name The name of the job command. For an Apache Spark ETL job, this must be glueetl. For a Python shell job, it must be pythonshell. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-job-jobcommand.html#cfn-glue-job-jobcommand-name PrimitiveType: String UpdateType: Mutable .FUNCTIONALITY Vaporshell #> [OutputType([GlueJobJobCommand])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] [object] $PythonVersion, [parameter(Mandatory = $false)] [object] $ScriptLocation, [parameter(Mandatory = $false)] [object] $Name ) Process { $obj = [GlueJobJobCommand]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGlueJobJobCommand' function Add-VSGlueJobNotificationProperty { <# .SYNOPSIS Adds an AWS::Glue::Job.NotificationProperty resource property to the template. Specifies configuration properties of a notification. .DESCRIPTION Adds an AWS::Glue::Job.NotificationProperty resource property to the template. Specifies configuration properties of a notification. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-job-notificationproperty.html .PARAMETER NotifyDelayAfter After a job run starts, the number of minutes to wait before sending a job run delay notification. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-job-notificationproperty.html#cfn-glue-job-notificationproperty-notifydelayafter PrimitiveType: Integer UpdateType: Mutable .FUNCTIONALITY Vaporshell #> [OutputType([GlueJobNotificationProperty])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] [object] $NotifyDelayAfter ) Process { $obj = [GlueJobNotificationProperty]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGlueJobNotificationProperty' function Add-VSGlueMLTransformFindMatchesParameters { <# .SYNOPSIS Adds an AWS::Glue::MLTransform.FindMatchesParameters resource property to the template. The parameters to configure the find matches transform. .DESCRIPTION Adds an AWS::Glue::MLTransform.FindMatchesParameters resource property to the template. The parameters to configure the find matches transform. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-transformparameters-findmatchesparameters.html .PARAMETER PrecisionRecallTradeoff The value selected when tuning your transform for a balance between precision and recall. A value of 0.5 means no preference; a value of 1.0 means a bias purely for precision, and a value of 0.0 means a bias for recall. Because this is a tradeoff, choosing values close to 1.0 means very low recall, and choosing values close to 0.0 results in very low precision. The precision metric indicates how often your model is correct when it predicts a match. The recall metric indicates that for an actual match, how often your model predicts the match. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-transformparameters-findmatchesparameters.html#cfn-glue-mltransform-transformparameters-findmatchesparameters-precisionrecalltradeoff PrimitiveType: Double UpdateType: Mutable .PARAMETER EnforceProvidedLabels The value to switch on or off to force the output to match the provided labels from users. If the value is True, the find matches transform forces the output to match the provided labels. The results override the normal conflation results. If the value is False, the find matches transform does not ensure all the labels provided are respected, and the results rely on the trained model. Note that setting this value to true may increase the conflation execution time. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-transformparameters-findmatchesparameters.html#cfn-glue-mltransform-transformparameters-findmatchesparameters-enforceprovidedlabels PrimitiveType: Boolean UpdateType: Mutable .PARAMETER PrimaryKeyColumnName The name of a column that uniquely identifies rows in the source table. Used to help identify matching records. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-transformparameters-findmatchesparameters.html#cfn-glue-mltransform-transformparameters-findmatchesparameters-primarykeycolumnname PrimitiveType: String UpdateType: Immutable .PARAMETER AccuracyCostTradeoff The value that is selected when tuning your transform for a balance between accuracy and cost. A value of 0.5 means that the system balances accuracy and cost concerns. A value of 1.0 means a bias purely for accuracy, which typically results in a higher cost, sometimes substantially higher. A value of 0.0 means a bias purely for cost, which results in a less accurate FindMatches transform, sometimes with unacceptable accuracy. Accuracy measures how well the transform finds true positives and true negatives. Increasing accuracy requires more machine resources and cost. But it also results in increased recall. Cost measures how many compute resources, and thus money, are consumed to run the transform. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-transformparameters-findmatchesparameters.html#cfn-glue-mltransform-transformparameters-findmatchesparameters-accuracycosttradeoff PrimitiveType: Double UpdateType: Mutable .FUNCTIONALITY Vaporshell #> [OutputType([GlueMLTransformFindMatchesParameters])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] [object] $PrecisionRecallTradeoff, [parameter(Mandatory = $false)] [object] $EnforceProvidedLabels, [parameter(Mandatory = $true)] [object] $PrimaryKeyColumnName, [parameter(Mandatory = $false)] [object] $AccuracyCostTradeoff ) Process { $obj = [GlueMLTransformFindMatchesParameters]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGlueMLTransformFindMatchesParameters' function Add-VSGlueMLTransformGlueTables { <# .SYNOPSIS Adds an AWS::Glue::MLTransform.GlueTables resource property to the template. The database and table in the AWS Glue Data Catalog that is used for input or output data. .DESCRIPTION Adds an AWS::Glue::MLTransform.GlueTables resource property to the template. The database and table in the AWS Glue Data Catalog that is used for input or output data. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-inputrecordtables-gluetables.html .PARAMETER ConnectionName The name of the connection to the AWS Glue Data Catalog. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-inputrecordtables-gluetables.html#cfn-glue-mltransform-inputrecordtables-gluetables-connectionname PrimitiveType: String UpdateType: Mutable .PARAMETER TableName A table name in the AWS Glue Data Catalog. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-inputrecordtables-gluetables.html#cfn-glue-mltransform-inputrecordtables-gluetables-tablename PrimitiveType: String UpdateType: Mutable .PARAMETER DatabaseName A database name in the AWS Glue Data Catalog. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-inputrecordtables-gluetables.html#cfn-glue-mltransform-inputrecordtables-gluetables-databasename PrimitiveType: String UpdateType: Mutable .PARAMETER CatalogId A unique identifier for the AWS Glue Data Catalog. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-inputrecordtables-gluetables.html#cfn-glue-mltransform-inputrecordtables-gluetables-catalogid PrimitiveType: String UpdateType: Mutable .FUNCTIONALITY Vaporshell #> [OutputType([GlueMLTransformGlueTables])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] [object] $ConnectionName, [parameter(Mandatory = $true)] [object] $TableName, [parameter(Mandatory = $true)] [object] $DatabaseName, [parameter(Mandatory = $false)] [object] $CatalogId ) Process { $obj = [GlueMLTransformGlueTables]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGlueMLTransformGlueTables' function Add-VSGlueMLTransformInputRecordTables { <# .SYNOPSIS Adds an AWS::Glue::MLTransform.InputRecordTables resource property to the template. A list of AWS Glue table definitions used by the transform. .DESCRIPTION Adds an AWS::Glue::MLTransform.InputRecordTables resource property to the template. A list of AWS Glue table definitions used by the transform. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-inputrecordtables.html .PARAMETER GlueTables The database and table in the AWS Glue Data Catalog that is used for input or output data. Type: List Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-inputrecordtables.html#cfn-glue-mltransform-inputrecordtables-gluetables ItemType: GlueTables UpdateType: Mutable .FUNCTIONALITY Vaporshell #> [OutputType([GlueMLTransformInputRecordTables])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] [object] $GlueTables ) Process { $obj = [GlueMLTransformInputRecordTables]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGlueMLTransformInputRecordTables' function Add-VSGlueMLTransformMLUserDataEncryption { <# .SYNOPSIS Adds an AWS::Glue::MLTransform.MLUserDataEncryption resource property to the template. .DESCRIPTION Adds an AWS::Glue::MLTransform.MLUserDataEncryption resource property to the template. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-transformencryption-mluserdataencryption.html .PARAMETER MLUserDataEncryptionMode Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-transformencryption-mluserdataencryption.html#cfn-glue-mltransform-transformencryption-mluserdataencryption-mluserdataencryptionmode PrimitiveType: String UpdateType: Mutable .PARAMETER KmsKeyId Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-transformencryption-mluserdataencryption.html#cfn-glue-mltransform-transformencryption-mluserdataencryption-kmskeyid PrimitiveType: String UpdateType: Mutable .FUNCTIONALITY Vaporshell #> [OutputType([GlueMLTransformMLUserDataEncryption])] [cmdletbinding()] Param( [parameter(Mandatory = $true)] [object] $MLUserDataEncryptionMode, [parameter(Mandatory = $false)] [object] $KmsKeyId ) Process { $obj = [GlueMLTransformMLUserDataEncryption]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGlueMLTransformMLUserDataEncryption' function Add-VSGlueMLTransformTransformEncryption { <# .SYNOPSIS Adds an AWS::Glue::MLTransform.TransformEncryption resource property to the template. .DESCRIPTION Adds an AWS::Glue::MLTransform.TransformEncryption resource property to the template. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-transformencryption.html .PARAMETER MLUserDataEncryption Type: MLUserDataEncryption Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-transformencryption.html#cfn-glue-mltransform-transformencryption-mluserdataencryption UpdateType: Mutable .PARAMETER TaskRunSecurityConfigurationName Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-transformencryption.html#cfn-glue-mltransform-transformencryption-taskrunsecurityconfigurationname PrimitiveType: String UpdateType: Mutable .FUNCTIONALITY Vaporshell #> [OutputType([GlueMLTransformTransformEncryption])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] $MLUserDataEncryption, [parameter(Mandatory = $false)] [object] $TaskRunSecurityConfigurationName ) Process { $obj = [GlueMLTransformTransformEncryption]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGlueMLTransformTransformEncryption' function Add-VSGlueMLTransformTransformParameters { <# .SYNOPSIS Adds an AWS::Glue::MLTransform.TransformParameters resource property to the template. The algorithm-specific parameters that are associated with the machine learning transform. .DESCRIPTION Adds an AWS::Glue::MLTransform.TransformParameters resource property to the template. The algorithm-specific parameters that are associated with the machine learning transform. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-transformparameters.html .PARAMETER TransformType The type of machine learning transform. FIND_MATCHES is the only option. For information about the types of machine learning transforms, see Creating Machine Learning Transforms: https://docs.aws.amazon.com/glue/latest/dg/add-job-machine-learning-transform.html. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-transformparameters.html#cfn-glue-mltransform-transformparameters-transformtype PrimitiveType: String UpdateType: Mutable .PARAMETER FindMatchesParameters The parameters for the find matches algorithm. Type: FindMatchesParameters Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-transformparameters.html#cfn-glue-mltransform-transformparameters-findmatchesparameters UpdateType: Mutable .FUNCTIONALITY Vaporshell #> [OutputType([GlueMLTransformTransformParameters])] [cmdletbinding()] Param( [parameter(Mandatory = $true)] [object] $TransformType, [parameter(Mandatory = $false)] $FindMatchesParameters ) Process { $obj = [GlueMLTransformTransformParameters]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGlueMLTransformTransformParameters' function Add-VSGluePartitionColumn { <# .SYNOPSIS Adds an AWS::Glue::Partition.Column resource property to the template. A column in a Table. .DESCRIPTION Adds an AWS::Glue::Partition.Column resource property to the template. A column in a Table. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-column.html .PARAMETER Comment A free-form text comment. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-column.html#cfn-glue-partition-column-comment PrimitiveType: String UpdateType: Mutable .PARAMETER Type The data type of the Column. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-column.html#cfn-glue-partition-column-type PrimitiveType: String UpdateType: Mutable .PARAMETER Name The name of the Column. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-column.html#cfn-glue-partition-column-name PrimitiveType: String UpdateType: Mutable .FUNCTIONALITY Vaporshell #> [OutputType([GluePartitionColumn])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] [object] $Comment, [parameter(Mandatory = $false)] [object] $Type, [parameter(Mandatory = $true)] [object] $Name ) Process { $obj = [GluePartitionColumn]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGluePartitionColumn' function Add-VSGluePartitionOrder { <# .SYNOPSIS Adds an AWS::Glue::Partition.Order resource property to the template. Specifies the sort order of a sorted column. .DESCRIPTION Adds an AWS::Glue::Partition.Order resource property to the template. Specifies the sort order of a sorted column. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-order.html .PARAMETER Column The name of the column. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-order.html#cfn-glue-partition-order-column PrimitiveType: String UpdateType: Mutable .PARAMETER SortOrder Indicates that the column is sorted in ascending order == 1, or in descending order ==0. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-order.html#cfn-glue-partition-order-sortorder PrimitiveType: Integer UpdateType: Mutable .FUNCTIONALITY Vaporshell #> [OutputType([GluePartitionOrder])] [cmdletbinding()] Param( [parameter(Mandatory = $true)] [object] $Column, [parameter(Mandatory = $false)] [object] $SortOrder ) Process { $obj = [GluePartitionOrder]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGluePartitionOrder' function Add-VSGluePartitionPartitionInput { <# .SYNOPSIS Adds an AWS::Glue::Partition.PartitionInput resource property to the template. The structure used to create and update a partition. .DESCRIPTION Adds an AWS::Glue::Partition.PartitionInput resource property to the template. The structure used to create and update a partition. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-partitioninput.html .PARAMETER Parameters These key-value pairs define partition parameters. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-partitioninput.html#cfn-glue-partition-partitioninput-parameters PrimitiveType: Json UpdateType: Mutable .PARAMETER StorageDescriptor Provides information about the physical location where the partition is stored. Type: StorageDescriptor Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-partitioninput.html#cfn-glue-partition-partitioninput-storagedescriptor UpdateType: Mutable .PARAMETER Values The values of the partition. Although this parameter is not required by the SDK, you must specify this parameter for a valid input. The values for the keys for the new partition must be passed as an array of String objects that must be ordered in the same order as the partition keys appearing in the Amazon S3 prefix. Otherwise AWS Glue will add the values to the wrong keys. PrimitiveItemType: String Type: List Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-partitioninput.html#cfn-glue-partition-partitioninput-values UpdateType: Immutable .FUNCTIONALITY Vaporshell #> [OutputType([GluePartitionPartitionInput])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] [VSJson] $Parameters, [parameter(Mandatory = $false)] $StorageDescriptor, [parameter(Mandatory = $true)] $Values ) Process { $obj = [GluePartitionPartitionInput]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGluePartitionPartitionInput' function Add-VSGluePartitionSchemaId { <# .SYNOPSIS Adds an AWS::Glue::Partition.SchemaId resource property to the template. .DESCRIPTION Adds an AWS::Glue::Partition.SchemaId resource property to the template. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-schemaid.html .PARAMETER RegistryName Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-schemaid.html#cfn-glue-partition-schemaid-registryname PrimitiveType: String UpdateType: Mutable .PARAMETER SchemaName Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-schemaid.html#cfn-glue-partition-schemaid-schemaname PrimitiveType: String UpdateType: Mutable .PARAMETER SchemaArn Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-schemaid.html#cfn-glue-partition-schemaid-schemaarn PrimitiveType: String UpdateType: Mutable .FUNCTIONALITY Vaporshell #> [OutputType([GluePartitionSchemaId])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] [object] $RegistryName, [parameter(Mandatory = $false)] [object] $SchemaName, [parameter(Mandatory = $false)] [object] $SchemaArn ) Process { $obj = [GluePartitionSchemaId]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGluePartitionSchemaId' function Add-VSGluePartitionSchemaReference { <# .SYNOPSIS Adds an AWS::Glue::Partition.SchemaReference resource property to the template. .DESCRIPTION Adds an AWS::Glue::Partition.SchemaReference resource property to the template. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-schemareference.html .PARAMETER SchemaVersionId Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-schemareference.html#cfn-glue-partition-schemareference-schemaversionid PrimitiveType: String UpdateType: Mutable .PARAMETER SchemaId Type: SchemaId Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-schemareference.html#cfn-glue-partition-schemareference-schemaid UpdateType: Mutable .PARAMETER SchemaVersionNumber Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-schemareference.html#cfn-glue-partition-schemareference-schemaversionnumber PrimitiveType: Integer UpdateType: Mutable .FUNCTIONALITY Vaporshell #> [OutputType([GluePartitionSchemaReference])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] [object] $SchemaVersionId, [parameter(Mandatory = $false)] $SchemaId, [parameter(Mandatory = $false)] [object] $SchemaVersionNumber ) Process { $obj = [GluePartitionSchemaReference]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGluePartitionSchemaReference' function Add-VSGluePartitionSerdeInfo { <# .SYNOPSIS Adds an AWS::Glue::Partition.SerdeInfo resource property to the template. Information about a serialization/deserialization program (SerDe that serves as an extractor and loader. .DESCRIPTION Adds an AWS::Glue::Partition.SerdeInfo resource property to the template. Information about a serialization/deserialization program (SerDe that serves as an extractor and loader. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-serdeinfo.html .PARAMETER Parameters These key-value pairs define initialization parameters for the SerDe. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-serdeinfo.html#cfn-glue-partition-serdeinfo-parameters PrimitiveType: Json UpdateType: Mutable .PARAMETER SerializationLibrary Usually the class that implements the SerDe. An example is org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-serdeinfo.html#cfn-glue-partition-serdeinfo-serializationlibrary PrimitiveType: String UpdateType: Mutable .PARAMETER Name Name of the SerDe. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-serdeinfo.html#cfn-glue-partition-serdeinfo-name PrimitiveType: String UpdateType: Mutable .FUNCTIONALITY Vaporshell #> [OutputType([GluePartitionSerdeInfo])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] [VSJson] $Parameters, [parameter(Mandatory = $false)] [object] $SerializationLibrary, [parameter(Mandatory = $false)] [object] $Name ) Process { $obj = [GluePartitionSerdeInfo]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGluePartitionSerdeInfo' function Add-VSGluePartitionSkewedInfo { <# .SYNOPSIS Adds an AWS::Glue::Partition.SkewedInfo resource property to the template. Specifies skewed values in a table. Skewed values are those that occur with very high frequency. .DESCRIPTION Adds an AWS::Glue::Partition.SkewedInfo resource property to the template. Specifies skewed values in a table. Skewed values are those that occur with very high frequency. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-skewedinfo.html .PARAMETER SkewedColumnNames A list of names of columns that contain skewed values. PrimitiveItemType: String Type: List Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-skewedinfo.html#cfn-glue-partition-skewedinfo-skewedcolumnnames UpdateType: Mutable .PARAMETER SkewedColumnValues A list of values that appear so frequently as to be considered skewed. PrimitiveItemType: String Type: List Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-skewedinfo.html#cfn-glue-partition-skewedinfo-skewedcolumnvalues UpdateType: Mutable .PARAMETER SkewedColumnValueLocationMaps A mapping of skewed values to the columns that contain them. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-skewedinfo.html#cfn-glue-partition-skewedinfo-skewedcolumnvaluelocationmaps PrimitiveType: Json UpdateType: Mutable .FUNCTIONALITY Vaporshell #> [OutputType([GluePartitionSkewedInfo])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] $SkewedColumnNames, [parameter(Mandatory = $false)] $SkewedColumnValues, [parameter(Mandatory = $false)] [VSJson] $SkewedColumnValueLocationMaps ) Process { $obj = [GluePartitionSkewedInfo]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGluePartitionSkewedInfo' function Add-VSGluePartitionStorageDescriptor { <# .SYNOPSIS Adds an AWS::Glue::Partition.StorageDescriptor resource property to the template. Describes the physical storage of table data. .DESCRIPTION Adds an AWS::Glue::Partition.StorageDescriptor resource property to the template. Describes the physical storage of table data. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-storagedescriptor.html .PARAMETER StoredAsSubDirectories True if the table data is stored in subdirectories, or False if not. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-storagedescriptor.html#cfn-glue-partition-storagedescriptor-storedassubdirectories PrimitiveType: Boolean UpdateType: Mutable .PARAMETER Parameters The user-supplied properties in key-value form. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-storagedescriptor.html#cfn-glue-partition-storagedescriptor-parameters PrimitiveType: Json UpdateType: Mutable .PARAMETER BucketColumns A list of reducer grouping columns, clustering columns, and bucketing columns in the table. PrimitiveItemType: String Type: List Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-storagedescriptor.html#cfn-glue-partition-storagedescriptor-bucketcolumns UpdateType: Mutable .PARAMETER NumberOfBuckets The number of buckets. You must specify this property if the partition contains any dimension columns. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-storagedescriptor.html#cfn-glue-partition-storagedescriptor-numberofbuckets PrimitiveType: Integer UpdateType: Mutable .PARAMETER OutputFormat The output format: SequenceFileOutputFormat binary, or IgnoreKeyTextOutputFormat, or a custom format. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-storagedescriptor.html#cfn-glue-partition-storagedescriptor-outputformat PrimitiveType: String UpdateType: Mutable .PARAMETER Columns A list of the Columns in the table. Type: List Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-storagedescriptor.html#cfn-glue-partition-storagedescriptor-columns ItemType: Column UpdateType: Mutable .PARAMETER SerdeInfo The serialization/deserialization SerDe information. Type: SerdeInfo Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-storagedescriptor.html#cfn-glue-partition-storagedescriptor-serdeinfo UpdateType: Mutable .PARAMETER SortColumns A list specifying the sort order of each bucket in the table. Type: List Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-storagedescriptor.html#cfn-glue-partition-storagedescriptor-sortcolumns ItemType: Order UpdateType: Mutable .PARAMETER Compressed True if the data in the table is compressed, or False if not. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-storagedescriptor.html#cfn-glue-partition-storagedescriptor-compressed PrimitiveType: Boolean UpdateType: Mutable .PARAMETER SchemaReference *Update requires*: No interruption: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt Type: SchemaReference Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-storagedescriptor.html#cfn-glue-partition-storagedescriptor-schemareference UpdateType: Mutable .PARAMETER SkewedInfo The information about values that appear frequently in a column skewed values. Type: SkewedInfo Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-storagedescriptor.html#cfn-glue-partition-storagedescriptor-skewedinfo UpdateType: Mutable .PARAMETER InputFormat The input format: SequenceFileInputFormat binary, or TextInputFormat, or a custom format. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-storagedescriptor.html#cfn-glue-partition-storagedescriptor-inputformat PrimitiveType: String UpdateType: Mutable .PARAMETER Location The physical location of the table. By default, this takes the form of the warehouse location, followed by the database location in the warehouse, followed by the table name. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-storagedescriptor.html#cfn-glue-partition-storagedescriptor-location PrimitiveType: String UpdateType: Mutable .FUNCTIONALITY Vaporshell #> [OutputType([GluePartitionStorageDescriptor])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] [object] $StoredAsSubDirectories, [parameter(Mandatory = $false)] [VSJson] $Parameters, [parameter(Mandatory = $false)] $BucketColumns, [parameter(Mandatory = $false)] [object] $NumberOfBuckets, [parameter(Mandatory = $false)] [object] $OutputFormat, [parameter(Mandatory = $false)] [object] $Columns, [parameter(Mandatory = $false)] $SerdeInfo, [parameter(Mandatory = $false)] [object] $SortColumns, [parameter(Mandatory = $false)] [object] $Compressed, [parameter(Mandatory = $false)] $SchemaReference, [parameter(Mandatory = $false)] $SkewedInfo, [parameter(Mandatory = $false)] [object] $InputFormat, [parameter(Mandatory = $false)] [object] $Location ) Process { $obj = [GluePartitionStorageDescriptor]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGluePartitionStorageDescriptor' function Add-VSGlueSchemaRegistry { <# .SYNOPSIS Adds an AWS::Glue::Schema.Registry resource property to the template. .DESCRIPTION Adds an AWS::Glue::Schema.Registry resource property to the template. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-schema-registry.html .PARAMETER Name Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-schema-registry.html#cfn-glue-schema-registry-name UpdateType: Immutable PrimitiveType: String .PARAMETER Arn Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-schema-registry.html#cfn-glue-schema-registry-arn UpdateType: Immutable PrimitiveType: String .FUNCTIONALITY Vaporshell #> [OutputType([GlueSchemaRegistry])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] [object] $Name, [parameter(Mandatory = $false)] [object] $Arn ) Process { $obj = [GlueSchemaRegistry]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGlueSchemaRegistry' function Add-VSGlueSchemaSchemaVersion { <# .SYNOPSIS Adds an AWS::Glue::Schema.SchemaVersion resource property to the template. .DESCRIPTION Adds an AWS::Glue::Schema.SchemaVersion resource property to the template. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-schema-schemaversion.html .PARAMETER IsLatest Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-schema-schemaversion.html#cfn-glue-schema-schemaversion-islatest UpdateType: Mutable PrimitiveType: Boolean .PARAMETER VersionNumber Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-schema-schemaversion.html#cfn-glue-schema-schemaversion-versionnumber UpdateType: Mutable PrimitiveType: Integer .FUNCTIONALITY Vaporshell #> [OutputType([GlueSchemaSchemaVersion])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] [object] $IsLatest, [parameter(Mandatory = $false)] [object] $VersionNumber ) Process { $obj = [GlueSchemaSchemaVersion]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGlueSchemaSchemaVersion' function Add-VSGlueSchemaVersionSchema { <# .SYNOPSIS Adds an AWS::Glue::SchemaVersion.Schema resource property to the template. .DESCRIPTION Adds an AWS::Glue::SchemaVersion.Schema resource property to the template. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-schemaversion-schema.html .PARAMETER SchemaArn Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-schemaversion-schema.html#cfn-glue-schemaversion-schema-schemaarn UpdateType: Immutable PrimitiveType: String .PARAMETER SchemaName Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-schemaversion-schema.html#cfn-glue-schemaversion-schema-schemaname UpdateType: Immutable PrimitiveType: String .PARAMETER RegistryName Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-schemaversion-schema.html#cfn-glue-schemaversion-schema-registryname UpdateType: Immutable PrimitiveType: String .FUNCTIONALITY Vaporshell #> [OutputType([GlueSchemaVersionSchema])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] [object] $SchemaArn, [parameter(Mandatory = $false)] [object] $SchemaName, [parameter(Mandatory = $false)] [object] $RegistryName ) Process { $obj = [GlueSchemaVersionSchema]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGlueSchemaVersionSchema' function Add-VSGlueSecurityConfigurationCloudWatchEncryption { <# .SYNOPSIS Adds an AWS::Glue::SecurityConfiguration.CloudWatchEncryption resource property to the template. Specifies how Amazon CloudWatch data should be encrypted. .DESCRIPTION Adds an AWS::Glue::SecurityConfiguration.CloudWatchEncryption resource property to the template. Specifies how Amazon CloudWatch data should be encrypted. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-securityconfiguration-cloudwatchencryption.html .PARAMETER KmsKeyArn The Amazon Resource Name ARN of the KMS key to be used to encrypt the data. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-securityconfiguration-cloudwatchencryption.html#cfn-glue-securityconfiguration-cloudwatchencryption-kmskeyarn PrimitiveType: String UpdateType: Mutable .PARAMETER CloudWatchEncryptionMode The encryption mode to use for CloudWatch data. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-securityconfiguration-cloudwatchencryption.html#cfn-glue-securityconfiguration-cloudwatchencryption-cloudwatchencryptionmode PrimitiveType: String UpdateType: Mutable .FUNCTIONALITY Vaporshell #> [OutputType([GlueSecurityConfigurationCloudWatchEncryption])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] [object] $KmsKeyArn, [parameter(Mandatory = $false)] [object] $CloudWatchEncryptionMode ) Process { $obj = [GlueSecurityConfigurationCloudWatchEncryption]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGlueSecurityConfigurationCloudWatchEncryption' function Add-VSGlueSecurityConfigurationEncryptionConfiguration { <# .SYNOPSIS Adds an AWS::Glue::SecurityConfiguration.EncryptionConfiguration resource property to the template. Specifies an encryption configuration. .DESCRIPTION Adds an AWS::Glue::SecurityConfiguration.EncryptionConfiguration resource property to the template. Specifies an encryption configuration. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-securityconfiguration-encryptionconfiguration.html .PARAMETER S3Encryptions The encyption configuration for Amazon Simple Storage Service Amazon S3 data. Type: S3Encryptions Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-securityconfiguration-encryptionconfiguration.html#cfn-glue-securityconfiguration-encryptionconfiguration-s3encryptions UpdateType: Mutable .PARAMETER CloudWatchEncryption The encryption configuration for Amazon CloudWatch. Type: CloudWatchEncryption Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-securityconfiguration-encryptionconfiguration.html#cfn-glue-securityconfiguration-encryptionconfiguration-cloudwatchencryption UpdateType: Mutable .PARAMETER JobBookmarksEncryption The encryption configuration for job bookmarks. Type: JobBookmarksEncryption Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-securityconfiguration-encryptionconfiguration.html#cfn-glue-securityconfiguration-encryptionconfiguration-jobbookmarksencryption UpdateType: Mutable .FUNCTIONALITY Vaporshell #> [OutputType([GlueSecurityConfigurationEncryptionConfiguration])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] $S3Encryptions, [parameter(Mandatory = $false)] $CloudWatchEncryption, [parameter(Mandatory = $false)] $JobBookmarksEncryption ) Process { $obj = [GlueSecurityConfigurationEncryptionConfiguration]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGlueSecurityConfigurationEncryptionConfiguration' function Add-VSGlueSecurityConfigurationJobBookmarksEncryption { <# .SYNOPSIS Adds an AWS::Glue::SecurityConfiguration.JobBookmarksEncryption resource property to the template. Specifies how job bookmark data should be encrypted. .DESCRIPTION Adds an AWS::Glue::SecurityConfiguration.JobBookmarksEncryption resource property to the template. Specifies how job bookmark data should be encrypted. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-securityconfiguration-jobbookmarksencryption.html .PARAMETER KmsKeyArn The Amazon Resource Name ARN of the KMS key to be used to encrypt the data. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-securityconfiguration-jobbookmarksencryption.html#cfn-glue-securityconfiguration-jobbookmarksencryption-kmskeyarn PrimitiveType: String UpdateType: Mutable .PARAMETER JobBookmarksEncryptionMode The encryption mode to use for job bookmarks data. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-securityconfiguration-jobbookmarksencryption.html#cfn-glue-securityconfiguration-jobbookmarksencryption-jobbookmarksencryptionmode PrimitiveType: String UpdateType: Mutable .FUNCTIONALITY Vaporshell #> [OutputType([GlueSecurityConfigurationJobBookmarksEncryption])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] [object] $KmsKeyArn, [parameter(Mandatory = $false)] [object] $JobBookmarksEncryptionMode ) Process { $obj = [GlueSecurityConfigurationJobBookmarksEncryption]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGlueSecurityConfigurationJobBookmarksEncryption' function Add-VSGlueSecurityConfigurationS3Encryption { <# .SYNOPSIS Adds an AWS::Glue::SecurityConfiguration.S3Encryption resource property to the template. Specifies how Amazon Simple Storage Service (Amazon S3 data should be encrypted. .DESCRIPTION Adds an AWS::Glue::SecurityConfiguration.S3Encryption resource property to the template. Specifies how Amazon Simple Storage Service (Amazon S3 data should be encrypted. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-securityconfiguration-s3encryption.html .PARAMETER KmsKeyArn The Amazon Resource Name ARN of the KMS key to be used to encrypt the data. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-securityconfiguration-s3encryption.html#cfn-glue-securityconfiguration-s3encryption-kmskeyarn PrimitiveType: String UpdateType: Mutable .PARAMETER S3EncryptionMode The encryption mode to use for Amazon S3 data. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-securityconfiguration-s3encryption.html#cfn-glue-securityconfiguration-s3encryption-s3encryptionmode PrimitiveType: String UpdateType: Mutable .FUNCTIONALITY Vaporshell #> [OutputType([GlueSecurityConfigurationS3Encryption])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] [object] $KmsKeyArn, [parameter(Mandatory = $false)] [object] $S3EncryptionMode ) Process { $obj = [GlueSecurityConfigurationS3Encryption]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGlueSecurityConfigurationS3Encryption' function Add-VSGlueSecurityConfigurationS3Encryptions { <# .SYNOPSIS Adds an AWS::Glue::SecurityConfiguration.S3Encryptions resource property to the template. The S3Encryptions property type specifies the encyption configuration for Amazon Simple Storage Service (Amazon S3 data for a security configuration. .DESCRIPTION Adds an AWS::Glue::SecurityConfiguration.S3Encryptions resource property to the template. The S3Encryptions property type specifies the encyption configuration for Amazon Simple Storage Service (Amazon S3 data for a security configuration. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-securityconfiguration-s3encryptions.html .FUNCTIONALITY Vaporshell #> [OutputType([GlueSecurityConfigurationS3Encryptions])] [cmdletbinding()] Param( ) Process { $obj = [GlueSecurityConfigurationS3Encryptions]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGlueSecurityConfigurationS3Encryptions' function Add-VSGlueTableColumn { <# .SYNOPSIS Adds an AWS::Glue::Table.Column resource property to the template. A column in a Table. .DESCRIPTION Adds an AWS::Glue::Table.Column resource property to the template. A column in a Table. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-column.html .PARAMETER Comment A free-form text comment. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-column.html#cfn-glue-table-column-comment PrimitiveType: String UpdateType: Mutable .PARAMETER Type The data type of the Column. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-column.html#cfn-glue-table-column-type PrimitiveType: String UpdateType: Mutable .PARAMETER Name The name of the Column. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-column.html#cfn-glue-table-column-name PrimitiveType: String UpdateType: Mutable .FUNCTIONALITY Vaporshell #> [OutputType([GlueTableColumn])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] [object] $Comment, [parameter(Mandatory = $false)] [object] $Type, [parameter(Mandatory = $true)] [object] $Name ) Process { $obj = [GlueTableColumn]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGlueTableColumn' function Add-VSGlueTableOrder { <# .SYNOPSIS Adds an AWS::Glue::Table.Order resource property to the template. Specifies the sort order of a sorted column. .DESCRIPTION Adds an AWS::Glue::Table.Order resource property to the template. Specifies the sort order of a sorted column. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-order.html .PARAMETER Column The name of the column. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-order.html#cfn-glue-table-order-column PrimitiveType: String UpdateType: Mutable .PARAMETER SortOrder Indicates that the column is sorted in ascending order == 1, or in descending order ==0. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-order.html#cfn-glue-table-order-sortorder PrimitiveType: Integer UpdateType: Mutable .FUNCTIONALITY Vaporshell #> [OutputType([GlueTableOrder])] [cmdletbinding()] Param( [parameter(Mandatory = $true)] [object] $Column, [parameter(Mandatory = $true)] [object] $SortOrder ) Process { $obj = [GlueTableOrder]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGlueTableOrder' function Add-VSGlueTableSchemaId { <# .SYNOPSIS Adds an AWS::Glue::Table.SchemaId resource property to the template. .DESCRIPTION Adds an AWS::Glue::Table.SchemaId resource property to the template. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-schemaid.html .PARAMETER RegistryName Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-schemaid.html#cfn-glue-table-schemaid-registryname PrimitiveType: String UpdateType: Mutable .PARAMETER SchemaName Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-schemaid.html#cfn-glue-table-schemaid-schemaname PrimitiveType: String UpdateType: Mutable .PARAMETER SchemaArn Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-schemaid.html#cfn-glue-table-schemaid-schemaarn PrimitiveType: String UpdateType: Mutable .FUNCTIONALITY Vaporshell #> [OutputType([GlueTableSchemaId])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] [object] $RegistryName, [parameter(Mandatory = $false)] [object] $SchemaName, [parameter(Mandatory = $false)] [object] $SchemaArn ) Process { $obj = [GlueTableSchemaId]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGlueTableSchemaId' function Add-VSGlueTableSchemaReference { <# .SYNOPSIS Adds an AWS::Glue::Table.SchemaReference resource property to the template. .DESCRIPTION Adds an AWS::Glue::Table.SchemaReference resource property to the template. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-schemareference.html .PARAMETER SchemaVersionId Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-schemareference.html#cfn-glue-table-schemareference-schemaversionid PrimitiveType: String UpdateType: Mutable .PARAMETER SchemaId Type: SchemaId Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-schemareference.html#cfn-glue-table-schemareference-schemaid UpdateType: Mutable .PARAMETER SchemaVersionNumber Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-schemareference.html#cfn-glue-table-schemareference-schemaversionnumber PrimitiveType: Integer UpdateType: Mutable .FUNCTIONALITY Vaporshell #> [OutputType([GlueTableSchemaReference])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] [object] $SchemaVersionId, [parameter(Mandatory = $false)] $SchemaId, [parameter(Mandatory = $false)] [object] $SchemaVersionNumber ) Process { $obj = [GlueTableSchemaReference]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGlueTableSchemaReference' function Add-VSGlueTableSerdeInfo { <# .SYNOPSIS Adds an AWS::Glue::Table.SerdeInfo resource property to the template. Information about a serialization/deserialization program (SerDe that serves as an extractor and loader. .DESCRIPTION Adds an AWS::Glue::Table.SerdeInfo resource property to the template. Information about a serialization/deserialization program (SerDe that serves as an extractor and loader. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-serdeinfo.html .PARAMETER Parameters These key-value pairs define initialization parameters for the SerDe. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-serdeinfo.html#cfn-glue-table-serdeinfo-parameters PrimitiveType: Json UpdateType: Mutable .PARAMETER SerializationLibrary Usually the class that implements the SerDe. An example is org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-serdeinfo.html#cfn-glue-table-serdeinfo-serializationlibrary PrimitiveType: String UpdateType: Mutable .PARAMETER Name Name of the SerDe. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-serdeinfo.html#cfn-glue-table-serdeinfo-name PrimitiveType: String UpdateType: Mutable .FUNCTIONALITY Vaporshell #> [OutputType([GlueTableSerdeInfo])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] [VSJson] $Parameters, [parameter(Mandatory = $false)] [object] $SerializationLibrary, [parameter(Mandatory = $false)] [object] $Name ) Process { $obj = [GlueTableSerdeInfo]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGlueTableSerdeInfo' function Add-VSGlueTableSkewedInfo { <# .SYNOPSIS Adds an AWS::Glue::Table.SkewedInfo resource property to the template. Specifies skewed values in a table. Skewed values are those that occur with very high frequency. .DESCRIPTION Adds an AWS::Glue::Table.SkewedInfo resource property to the template. Specifies skewed values in a table. Skewed values are those that occur with very high frequency. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-skewedinfo.html .PARAMETER SkewedColumnNames A list of names of columns that contain skewed values. PrimitiveItemType: String Type: List Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-skewedinfo.html#cfn-glue-table-skewedinfo-skewedcolumnnames UpdateType: Mutable .PARAMETER SkewedColumnValues A list of values that appear so frequently as to be considered skewed. PrimitiveItemType: String Type: List Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-skewedinfo.html#cfn-glue-table-skewedinfo-skewedcolumnvalues UpdateType: Mutable .PARAMETER SkewedColumnValueLocationMaps A mapping of skewed values to the columns that contain them. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-skewedinfo.html#cfn-glue-table-skewedinfo-skewedcolumnvaluelocationmaps PrimitiveType: Json UpdateType: Mutable .FUNCTIONALITY Vaporshell #> [OutputType([GlueTableSkewedInfo])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] $SkewedColumnNames, [parameter(Mandatory = $false)] $SkewedColumnValues, [parameter(Mandatory = $false)] [VSJson] $SkewedColumnValueLocationMaps ) Process { $obj = [GlueTableSkewedInfo]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGlueTableSkewedInfo' function Add-VSGlueTableStorageDescriptor { <# .SYNOPSIS Adds an AWS::Glue::Table.StorageDescriptor resource property to the template. Describes the physical storage of table data. .DESCRIPTION Adds an AWS::Glue::Table.StorageDescriptor resource property to the template. Describes the physical storage of table data. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-storagedescriptor.html .PARAMETER StoredAsSubDirectories True if the table data is stored in subdirectories, or False if not. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-storagedescriptor.html#cfn-glue-table-storagedescriptor-storedassubdirectories PrimitiveType: Boolean UpdateType: Mutable .PARAMETER Parameters The user-supplied properties in key-value form. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-storagedescriptor.html#cfn-glue-table-storagedescriptor-parameters PrimitiveType: Json UpdateType: Mutable .PARAMETER BucketColumns A list of reducer grouping columns, clustering columns, and bucketing columns in the table. PrimitiveItemType: String Type: List Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-storagedescriptor.html#cfn-glue-table-storagedescriptor-bucketcolumns UpdateType: Mutable .PARAMETER NumberOfBuckets Must be specified if the table contains any dimension columns. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-storagedescriptor.html#cfn-glue-table-storagedescriptor-numberofbuckets PrimitiveType: Integer UpdateType: Mutable .PARAMETER OutputFormat The output format: SequenceFileOutputFormat binary, or IgnoreKeyTextOutputFormat, or a custom format. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-storagedescriptor.html#cfn-glue-table-storagedescriptor-outputformat PrimitiveType: String UpdateType: Mutable .PARAMETER Columns A list of the Columns in the table. Type: List Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-storagedescriptor.html#cfn-glue-table-storagedescriptor-columns ItemType: Column UpdateType: Mutable .PARAMETER SerdeInfo The serialization/deserialization SerDe information. Type: SerdeInfo Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-storagedescriptor.html#cfn-glue-table-storagedescriptor-serdeinfo UpdateType: Mutable .PARAMETER SortColumns A list specifying the sort order of each bucket in the table. Type: List Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-storagedescriptor.html#cfn-glue-table-storagedescriptor-sortcolumns ItemType: Order UpdateType: Mutable .PARAMETER Compressed True if the data in the table is compressed, or False if not. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-storagedescriptor.html#cfn-glue-table-storagedescriptor-compressed PrimitiveType: Boolean UpdateType: Mutable .PARAMETER SchemaReference + StorageDescriptor Structure: https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-tables.html#aws-glue-api-catalog-tables-StorageDescriptor in the *AWS Glue Developer Guide* Type: SchemaReference Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-storagedescriptor.html#cfn-glue-table-storagedescriptor-schemareference UpdateType: Mutable .PARAMETER SkewedInfo The information about values that appear frequently in a column skewed values. Type: SkewedInfo Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-storagedescriptor.html#cfn-glue-table-storagedescriptor-skewedinfo UpdateType: Mutable .PARAMETER InputFormat The input format: SequenceFileInputFormat binary, or TextInputFormat, or a custom format. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-storagedescriptor.html#cfn-glue-table-storagedescriptor-inputformat PrimitiveType: String UpdateType: Mutable .PARAMETER Location The physical location of the table. By default, this takes the form of the warehouse location, followed by the database location in the warehouse, followed by the table name. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-storagedescriptor.html#cfn-glue-table-storagedescriptor-location PrimitiveType: String UpdateType: Mutable .FUNCTIONALITY Vaporshell #> [OutputType([GlueTableStorageDescriptor])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] [object] $StoredAsSubDirectories, [parameter(Mandatory = $false)] [VSJson] $Parameters, [parameter(Mandatory = $false)] $BucketColumns, [parameter(Mandatory = $false)] [object] $NumberOfBuckets, [parameter(Mandatory = $false)] [object] $OutputFormat, [parameter(Mandatory = $false)] [object] $Columns, [parameter(Mandatory = $false)] $SerdeInfo, [parameter(Mandatory = $false)] [object] $SortColumns, [parameter(Mandatory = $false)] [object] $Compressed, [parameter(Mandatory = $false)] $SchemaReference, [parameter(Mandatory = $false)] $SkewedInfo, [parameter(Mandatory = $false)] [object] $InputFormat, [parameter(Mandatory = $false)] [object] $Location ) Process { $obj = [GlueTableStorageDescriptor]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGlueTableStorageDescriptor' function Add-VSGlueTableTableIdentifier { <# .SYNOPSIS Adds an AWS::Glue::Table.TableIdentifier resource property to the template. .DESCRIPTION Adds an AWS::Glue::Table.TableIdentifier resource property to the template. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableidentifier.html .PARAMETER DatabaseName Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableidentifier.html#cfn-glue-table-tableidentifier-databasename PrimitiveType: String UpdateType: Mutable .PARAMETER CatalogId Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableidentifier.html#cfn-glue-table-tableidentifier-catalogid PrimitiveType: String UpdateType: Mutable .PARAMETER Name Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableidentifier.html#cfn-glue-table-tableidentifier-name PrimitiveType: String UpdateType: Mutable .FUNCTIONALITY Vaporshell #> [OutputType([GlueTableTableIdentifier])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] [object] $DatabaseName, [parameter(Mandatory = $false)] [object] $CatalogId, [parameter(Mandatory = $false)] [object] $Name ) Process { $obj = [GlueTableTableIdentifier]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGlueTableTableIdentifier' function Add-VSGlueTableTableInput { <# .SYNOPSIS Adds an AWS::Glue::Table.TableInput resource property to the template. A structure used to define a table. .DESCRIPTION Adds an AWS::Glue::Table.TableInput resource property to the template. A structure used to define a table. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html .PARAMETER Owner The table owner. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-owner PrimitiveType: String UpdateType: Mutable .PARAMETER ViewOriginalText If the table is a view, the original text of the view; otherwise null. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-vieworiginaltext PrimitiveType: String UpdateType: Mutable .PARAMETER Description A description of the table. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-description PrimitiveType: String UpdateType: Mutable .PARAMETER TableType The type of this table EXTERNAL_TABLE, VIRTUAL_VIEW, etc.. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-tabletype PrimitiveType: String UpdateType: Mutable .PARAMETER Parameters These key-value pairs define properties associated with the table. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-parameters PrimitiveType: Json UpdateType: Mutable .PARAMETER ViewExpandedText If the table is a view, the expanded text of the view; otherwise null. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-viewexpandedtext PrimitiveType: String UpdateType: Mutable .PARAMETER StorageDescriptor A storage descriptor containing information about the physical storage of this table. Type: StorageDescriptor Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-storagedescriptor UpdateType: Mutable .PARAMETER TargetTable *Update requires*: No interruption: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt Type: TableIdentifier Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-targettable UpdateType: Mutable .PARAMETER PartitionKeys A list of columns by which the table is partitioned. Only primitive types are supported as partition keys. When you create a table used by Amazon Athena, and you do not specify any partitionKeys, you must at least set the value of partitionKeys to an empty list. For example: "PartitionKeys": ] Type: List Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-partitionkeys ItemType: Column UpdateType: Mutable .PARAMETER Retention The retention time for this table. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-retention PrimitiveType: Integer UpdateType: Mutable .PARAMETER Name The table name. For Hive compatibility, this is folded to lowercase when it is stored. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-name PrimitiveType: String UpdateType: Immutable .FUNCTIONALITY Vaporshell #> [OutputType([GlueTableTableInput])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] [object] $Owner, [parameter(Mandatory = $false)] [object] $ViewOriginalText, [parameter(Mandatory = $false)] [object] $Description, [parameter(Mandatory = $false)] [object] $TableType, [parameter(Mandatory = $false)] [VSJson] $Parameters, [parameter(Mandatory = $false)] [object] $ViewExpandedText, [parameter(Mandatory = $false)] $StorageDescriptor, [parameter(Mandatory = $false)] $TargetTable, [parameter(Mandatory = $false)] [object] $PartitionKeys, [parameter(Mandatory = $false)] [object] $Retention, [parameter(Mandatory = $false)] [object] $Name ) Process { $obj = [GlueTableTableInput]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGlueTableTableInput' function Add-VSGlueTriggerAction { <# .SYNOPSIS Adds an AWS::Glue::Trigger.Action resource property to the template. Defines an action to be initiated by a trigger. .DESCRIPTION Adds an AWS::Glue::Trigger.Action resource property to the template. Defines an action to be initiated by a trigger. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-action.html .PARAMETER NotificationProperty Specifies configuration properties of a job run notification. Type: NotificationProperty Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-action.html#cfn-glue-trigger-action-notificationproperty UpdateType: Mutable .PARAMETER CrawlerName The name of the crawler to be used with this action. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-action.html#cfn-glue-trigger-action-crawlername PrimitiveType: String UpdateType: Mutable .PARAMETER Timeout The JobRun timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes 48 hours. This overrides the timeout value set in the parent job. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-action.html#cfn-glue-trigger-action-timeout PrimitiveType: Integer UpdateType: Mutable .PARAMETER JobName The name of a job to be executed. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-action.html#cfn-glue-trigger-action-jobname PrimitiveType: String UpdateType: Mutable .PARAMETER Arguments The job arguments used when this trigger fires. For this job run, they replace the default arguments set in the job definition itself. You can specify arguments here that your own job-execution script consumes, in addition to arguments that AWS Glue itself consumes. For information about how to specify and consume your own job arguments, see Calling AWS Glue APIs in Python: https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-calling.html in the *AWS Glue Developer Guide*. For information about the key-value pairs that AWS Glue consumes to set up your job, see the Special Parameters Used by AWS Glue: https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html topic in the developer guide. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-action.html#cfn-glue-trigger-action-arguments PrimitiveType: Json UpdateType: Mutable .PARAMETER SecurityConfiguration The name of the SecurityConfiguration structure to be used with this action. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-action.html#cfn-glue-trigger-action-securityconfiguration PrimitiveType: String UpdateType: Mutable .FUNCTIONALITY Vaporshell #> [OutputType([GlueTriggerAction])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] $NotificationProperty, [parameter(Mandatory = $false)] [object] $CrawlerName, [parameter(Mandatory = $false)] [object] $Timeout, [parameter(Mandatory = $false)] [object] $JobName, [parameter(Mandatory = $false)] [VSJson] $Arguments, [parameter(Mandatory = $false)] [object] $SecurityConfiguration ) Process { $obj = [GlueTriggerAction]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGlueTriggerAction' function Add-VSGlueTriggerCondition { <# .SYNOPSIS Adds an AWS::Glue::Trigger.Condition resource property to the template. Defines a condition under which a trigger fires. .DESCRIPTION Adds an AWS::Glue::Trigger.Condition resource property to the template. Defines a condition under which a trigger fires. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-condition.html .PARAMETER CrawlerName The name of the crawler to which this condition applies. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-condition.html#cfn-glue-trigger-condition-crawlername PrimitiveType: String UpdateType: Mutable .PARAMETER State The condition state. Currently, the values supported are SUCCEEDED, STOPPED, TIMEOUT, and FAILED. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-condition.html#cfn-glue-trigger-condition-state PrimitiveType: String UpdateType: Mutable .PARAMETER CrawlState The state of the crawler to which this condition applies. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-condition.html#cfn-glue-trigger-condition-crawlstate PrimitiveType: String UpdateType: Mutable .PARAMETER LogicalOperator A logical operator. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-condition.html#cfn-glue-trigger-condition-logicaloperator PrimitiveType: String UpdateType: Mutable .PARAMETER JobName The name of the job whose JobRuns this condition applies to, and on which this trigger waits. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-condition.html#cfn-glue-trigger-condition-jobname PrimitiveType: String UpdateType: Mutable .FUNCTIONALITY Vaporshell #> [OutputType([GlueTriggerCondition])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] [object] $CrawlerName, [parameter(Mandatory = $false)] [object] $State, [parameter(Mandatory = $false)] [object] $CrawlState, [parameter(Mandatory = $false)] [object] $LogicalOperator, [parameter(Mandatory = $false)] [object] $JobName ) Process { $obj = [GlueTriggerCondition]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGlueTriggerCondition' function Add-VSGlueTriggerNotificationProperty { <# .SYNOPSIS Adds an AWS::Glue::Trigger.NotificationProperty resource property to the template. Specifies configuration properties of a job run notification. .DESCRIPTION Adds an AWS::Glue::Trigger.NotificationProperty resource property to the template. Specifies configuration properties of a job run notification. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-notificationproperty.html .PARAMETER NotifyDelayAfter After a job run starts, the number of minutes to wait before sending a job run delay notification Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-notificationproperty.html#cfn-glue-trigger-notificationproperty-notifydelayafter PrimitiveType: Integer UpdateType: Mutable .FUNCTIONALITY Vaporshell #> [OutputType([GlueTriggerNotificationProperty])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] [object] $NotifyDelayAfter ) Process { $obj = [GlueTriggerNotificationProperty]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGlueTriggerNotificationProperty' function Add-VSGlueTriggerPredicate { <# .SYNOPSIS Adds an AWS::Glue::Trigger.Predicate resource property to the template. Defines the predicate of the trigger, which determines when it fires. .DESCRIPTION Adds an AWS::Glue::Trigger.Predicate resource property to the template. Defines the predicate of the trigger, which determines when it fires. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-predicate.html .PARAMETER Logical An optional field if only one condition is listed. If multiple conditions are listed, then this field is required. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-predicate.html#cfn-glue-trigger-predicate-logical PrimitiveType: String UpdateType: Mutable .PARAMETER Conditions A list of the conditions that determine when the trigger will fire. Type: List Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-predicate.html#cfn-glue-trigger-predicate-conditions ItemType: Condition UpdateType: Mutable .FUNCTIONALITY Vaporshell #> [OutputType([GlueTriggerPredicate])] [cmdletbinding()] Param( [parameter(Mandatory = $false)] [object] $Logical, [parameter(Mandatory = $false)] [object] $Conditions ) Process { $obj = [GlueTriggerPredicate]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'Add-VSGlueTriggerPredicate' function New-VSGlueClassifier { <# .SYNOPSIS Adds an AWS::Glue::Classifier resource to the template. The AWS::Glue::Classifier resource creates an AWS Glue classifier that categorizes data sources and specifies schemas. For more information, see Adding Classifiers to a Crawler: https://docs.aws.amazon.com/glue/latest/dg/add-classifier.html and Classifier Structure: https://docs.aws.amazon.com/glue/latest/aws-glue-api-crawler-classifiers.html#aws-glue-api-crawler-classifiers-Classifier in the *AWS Glue Developer Guide*. .DESCRIPTION Adds an AWS::Glue::Classifier resource to the template. The AWS::Glue::Classifier resource creates an AWS Glue classifier that categorizes data sources and specifies schemas. For more information, see Adding Classifiers to a Crawler: https://docs.aws.amazon.com/glue/latest/dg/add-classifier.html and Classifier Structure: https://docs.aws.amazon.com/glue/latest/aws-glue-api-crawler-classifiers.html#aws-glue-api-crawler-classifiers-Classifier in the *AWS Glue Developer Guide*. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-classifier.html .PARAMETER LogicalId The logical ID must be alphanumeric (A-Za-z0-9) and unique within the template. Use the logical name to reference the resource in other parts of the template. For example, if you want to map an Amazon Elastic Block Store volume to an Amazon EC2 instance, you reference the logical IDs to associate the block stores with the instance. .PARAMETER XMLClassifier A classifier for XML content. Type: XMLClassifier Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-classifier.html#cfn-glue-classifier-xmlclassifier UpdateType: Mutable .PARAMETER JsonClassifier A classifier for JSON content. Type: JsonClassifier Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-classifier.html#cfn-glue-classifier-jsonclassifier UpdateType: Mutable .PARAMETER CsvClassifier A classifier for comma-separated values CSV. Type: CsvClassifier Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-classifier.html#cfn-glue-classifier-csvclassifier UpdateType: Mutable .PARAMETER GrokClassifier A classifier that uses grok. Type: GrokClassifier Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-classifier.html#cfn-glue-classifier-grokclassifier UpdateType: Mutable .PARAMETER DeletionPolicy With the DeletionPolicy attribute you can preserve or (in some cases) backup a resource when its stack is deleted. You specify a DeletionPolicy attribute for each resource that you want to control. If a resource has no DeletionPolicy attribute, AWS CloudFormation deletes the resource by default. To keep a resource when its stack is deleted, specify Retain for that resource. You can use retain for any resource. For example, you can retain a nested stack, S3 bucket, or EC2 instance so that you can continue to use or modify those resources after you delete their stacks. You must use one of the following options: "Delete","Retain","Snapshot" .PARAMETER UpdateReplacePolicy Use the UpdateReplacePolicy attribute to retain or (in some cases) backup the existing physical instance of a resource when it is replaced during a stack update operation. When you initiate a stack update, AWS CloudFormation updates resources based on differences between what you submit and the stack's current template and parameters. If you update a resource property that requires that the resource be replaced, AWS CloudFormation recreates the resource during the update. Recreating the resource generates a new physical ID. AWS CloudFormation creates the replacement resource first, and then changes references from other dependent resources to point to the replacement resource. By default, AWS CloudFormation then deletes the old resource. Using the UpdateReplacePolicy, you can specify that AWS CloudFormation retain or (in some cases) create a snapshot of the old resource. For resources that support snapshots, such as AWS::EC2::Volume, specify Snapshot to have AWS CloudFormation create a snapshot before deleting the old resource instance. You can apply the UpdateReplacePolicy attribute to any resource. UpdateReplacePolicy is only executed if you update a resource property whose update behavior is specified as Replacement, thereby causing AWS CloudFormation to replace the old resource with a new one with a new physical ID. For example, if you update the Engine property of an AWS::RDS::DBInstance resource type, AWS CloudFormation creates a new resource and replaces the current DB instance resource with the new one. The UpdateReplacePolicy attribute would then dictate whether AWS CloudFormation deleted, retained, or created a snapshot of the old DB instance. The update behavior for each property of a resource is specified in the reference topic for that resource in the AWS Resource and Property Types Reference. For more information on resource update behavior, see Update Behaviors of Stack Resources. The UpdateReplacePolicy attribute applies to stack updates you perform directly, as well as stack updates performed using change sets. Note Resources that are retained continue to exist and continue to incur applicable charges until you delete those resources. Snapshots that are created with this policy continue to exist and continue to incur applicable charges until you delete those snapshots. UpdateReplacePolicy retains the old physical resource or snapshot, but removes it from AWS CloudFormation's scope. UpdateReplacePolicy differs from the DeletionPolicy attribute in that it only applies to resources replaced during stack updates. Use DeletionPolicy for resources deleted when a stack is deleted, or when the resource definition itself is deleted from the template as part of a stack update. You must use one of the following options: "Delete","Retain","Snapshot" .PARAMETER DependsOn With the DependsOn attribute you can specify that the creation of a specific resource follows another. When you add a DependsOn attribute to a resource, that resource is created only after the creation of the resource specified in the DependsOn attribute. This parameter takes a string or list of strings representing Logical IDs of resources that must be created prior to this resource being created. .PARAMETER Metadata The Metadata attribute enables you to associate structured data with a resource. By adding a Metadata attribute to a resource, you can add data in JSON or YAML to the resource declaration. In addition, you can use intrinsic functions (such as GetAtt and Ref), parameters, and pseudo parameters within the Metadata attribute to add those interpreted values. This will be returned when describing the resource using AWS CLI. .PARAMETER UpdatePolicy Use the UpdatePolicy attribute to specify how AWS CloudFormation handles updates to the AWS::AutoScaling::AutoScalingGroup resource. AWS CloudFormation invokes one of three update policies depending on the type of change you make or whether a scheduled action is associated with the Auto Scaling group. You must use the "Add-UpdatePolicy" function or the [UpdatePolicy] class here. .PARAMETER Condition Logical ID of the condition that this resource needs to be true in order for this resource to be provisioned. .FUNCTIONALITY Vaporshell #> [OutputType([GlueClassifier])] [cmdletbinding()] Param( [parameter(Mandatory = $true,Position = 0)] [ValidateLogicalId()] [string] $LogicalId, [parameter(Mandatory = $false)] $XMLClassifier, [parameter(Mandatory = $false)] $JsonClassifier, [parameter(Mandatory = $false)] $CsvClassifier, [parameter(Mandatory = $false)] $GrokClassifier, [parameter()] [DeletionPolicy] $DeletionPolicy, [parameter()] [UpdateReplacePolicy] $UpdateReplacePolicy, [parameter(Mandatory = $false)] [string[]] $DependsOn, [parameter(Mandatory = $false)] [VSJson] $Metadata, [parameter(Mandatory = $false)] [UpdatePolicy] $UpdatePolicy, [parameter(Mandatory = $false)] [string] $Condition ) Process { $obj = [GlueClassifier]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'New-VSGlueClassifier' function New-VSGlueConnection { <# .SYNOPSIS Adds an AWS::Glue::Connection resource to the template. The AWS::Glue::Connection resource specifies an AWS Glue connection to a data source. For more information, see Adding a Connection to Your Data Store: https://docs.aws.amazon.com/dg/populate-add-connection.html and Connection Structure: https://docs.aws.amazon.com/dg/aws-glue-api-catalog-connections.html#aws-glue-api-catalog-connections-Connection in the *AWS Glue Developer Guide*. .DESCRIPTION Adds an AWS::Glue::Connection resource to the template. The AWS::Glue::Connection resource specifies an AWS Glue connection to a data source. For more information, see Adding a Connection to Your Data Store: https://docs.aws.amazon.com/dg/populate-add-connection.html and Connection Structure: https://docs.aws.amazon.com/dg/aws-glue-api-catalog-connections.html#aws-glue-api-catalog-connections-Connection in the *AWS Glue Developer Guide*. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-connection.html .PARAMETER LogicalId The logical ID must be alphanumeric (A-Za-z0-9) and unique within the template. Use the logical name to reference the resource in other parts of the template. For example, if you want to map an Amazon Elastic Block Store volume to an Amazon EC2 instance, you reference the logical IDs to associate the block stores with the instance. .PARAMETER ConnectionInput The connection that you want to create. Type: ConnectionInput Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-connection.html#cfn-glue-connection-connectioninput UpdateType: Mutable .PARAMETER CatalogId The ID of the data catalog to create the catalog object in. Currently, this should be the AWS account ID. To specify the account ID, you can use the Ref intrinsic function with the AWS::AccountId pseudo parameter. For example: !Ref AWS::AccountId. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-connection.html#cfn-glue-connection-catalogid PrimitiveType: String UpdateType: Immutable .PARAMETER DeletionPolicy With the DeletionPolicy attribute you can preserve or (in some cases) backup a resource when its stack is deleted. You specify a DeletionPolicy attribute for each resource that you want to control. If a resource has no DeletionPolicy attribute, AWS CloudFormation deletes the resource by default. To keep a resource when its stack is deleted, specify Retain for that resource. You can use retain for any resource. For example, you can retain a nested stack, S3 bucket, or EC2 instance so that you can continue to use or modify those resources after you delete their stacks. You must use one of the following options: "Delete","Retain","Snapshot" .PARAMETER UpdateReplacePolicy Use the UpdateReplacePolicy attribute to retain or (in some cases) backup the existing physical instance of a resource when it is replaced during a stack update operation. When you initiate a stack update, AWS CloudFormation updates resources based on differences between what you submit and the stack's current template and parameters. If you update a resource property that requires that the resource be replaced, AWS CloudFormation recreates the resource during the update. Recreating the resource generates a new physical ID. AWS CloudFormation creates the replacement resource first, and then changes references from other dependent resources to point to the replacement resource. By default, AWS CloudFormation then deletes the old resource. Using the UpdateReplacePolicy, you can specify that AWS CloudFormation retain or (in some cases) create a snapshot of the old resource. For resources that support snapshots, such as AWS::EC2::Volume, specify Snapshot to have AWS CloudFormation create a snapshot before deleting the old resource instance. You can apply the UpdateReplacePolicy attribute to any resource. UpdateReplacePolicy is only executed if you update a resource property whose update behavior is specified as Replacement, thereby causing AWS CloudFormation to replace the old resource with a new one with a new physical ID. For example, if you update the Engine property of an AWS::RDS::DBInstance resource type, AWS CloudFormation creates a new resource and replaces the current DB instance resource with the new one. The UpdateReplacePolicy attribute would then dictate whether AWS CloudFormation deleted, retained, or created a snapshot of the old DB instance. The update behavior for each property of a resource is specified in the reference topic for that resource in the AWS Resource and Property Types Reference. For more information on resource update behavior, see Update Behaviors of Stack Resources. The UpdateReplacePolicy attribute applies to stack updates you perform directly, as well as stack updates performed using change sets. Note Resources that are retained continue to exist and continue to incur applicable charges until you delete those resources. Snapshots that are created with this policy continue to exist and continue to incur applicable charges until you delete those snapshots. UpdateReplacePolicy retains the old physical resource or snapshot, but removes it from AWS CloudFormation's scope. UpdateReplacePolicy differs from the DeletionPolicy attribute in that it only applies to resources replaced during stack updates. Use DeletionPolicy for resources deleted when a stack is deleted, or when the resource definition itself is deleted from the template as part of a stack update. You must use one of the following options: "Delete","Retain","Snapshot" .PARAMETER DependsOn With the DependsOn attribute you can specify that the creation of a specific resource follows another. When you add a DependsOn attribute to a resource, that resource is created only after the creation of the resource specified in the DependsOn attribute. This parameter takes a string or list of strings representing Logical IDs of resources that must be created prior to this resource being created. .PARAMETER Metadata The Metadata attribute enables you to associate structured data with a resource. By adding a Metadata attribute to a resource, you can add data in JSON or YAML to the resource declaration. In addition, you can use intrinsic functions (such as GetAtt and Ref), parameters, and pseudo parameters within the Metadata attribute to add those interpreted values. This will be returned when describing the resource using AWS CLI. .PARAMETER UpdatePolicy Use the UpdatePolicy attribute to specify how AWS CloudFormation handles updates to the AWS::AutoScaling::AutoScalingGroup resource. AWS CloudFormation invokes one of three update policies depending on the type of change you make or whether a scheduled action is associated with the Auto Scaling group. You must use the "Add-UpdatePolicy" function or the [UpdatePolicy] class here. .PARAMETER Condition Logical ID of the condition that this resource needs to be true in order for this resource to be provisioned. .FUNCTIONALITY Vaporshell #> [OutputType([GlueConnection])] [cmdletbinding()] Param( [parameter(Mandatory = $true,Position = 0)] [ValidateLogicalId()] [string] $LogicalId, [parameter(Mandatory = $true)] $ConnectionInput, [parameter(Mandatory = $true)] [object] $CatalogId, [parameter()] [DeletionPolicy] $DeletionPolicy, [parameter()] [UpdateReplacePolicy] $UpdateReplacePolicy, [parameter(Mandatory = $false)] [string[]] $DependsOn, [parameter(Mandatory = $false)] [VSJson] $Metadata, [parameter(Mandatory = $false)] [UpdatePolicy] $UpdatePolicy, [parameter(Mandatory = $false)] [string] $Condition ) Process { $obj = [GlueConnection]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'New-VSGlueConnection' function New-VSGlueCrawler { <# .SYNOPSIS Adds an AWS::Glue::Crawler resource to the template. The AWS::Glue::Crawler resource specifies an AWS Glue crawler. For more information, see Cataloging Tables with a Crawler: https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html and Crawler Structure: https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-crawler-crawling.html#aws-glue-api-crawler-crawling-Crawler in the *AWS Glue Developer Guide*. .DESCRIPTION Adds an AWS::Glue::Crawler resource to the template. The AWS::Glue::Crawler resource specifies an AWS Glue crawler. For more information, see Cataloging Tables with a Crawler: https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html and Crawler Structure: https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-crawler-crawling.html#aws-glue-api-crawler-crawling-Crawler in the *AWS Glue Developer Guide*. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html .PARAMETER LogicalId The logical ID must be alphanumeric (A-Za-z0-9) and unique within the template. Use the logical name to reference the resource in other parts of the template. For example, if you want to map an Amazon Elastic Block Store volume to an Amazon EC2 instance, you reference the logical IDs to associate the block stores with the instance. .PARAMETER Classifiers A list of UTF-8 strings that specify the custom classifiers that are associated with the crawler. PrimitiveItemType: String Type: List Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#cfn-glue-crawler-classifiers UpdateType: Mutable .PARAMETER Description A description of the crawler. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#cfn-glue-crawler-description PrimitiveType: String UpdateType: Mutable .PARAMETER SchemaChangePolicy The policy that specifies update and delete behaviors for the crawler. Type: SchemaChangePolicy Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#cfn-glue-crawler-schemachangepolicy UpdateType: Mutable .PARAMETER Configuration Crawler configuration information. This versioned JSON string allows users to specify aspects of a crawler's behavior. For more information, see Configuring a Crawler: https://docs.aws.amazon.com/glue/latest/dg/crawler-configuration.html. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#cfn-glue-crawler-configuration PrimitiveType: String UpdateType: Mutable .PARAMETER RecrawlPolicy Type: RecrawlPolicy Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#cfn-glue-crawler-recrawlpolicy UpdateType: Mutable .PARAMETER DatabaseName The name of the database in which the crawler's output is stored. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#cfn-glue-crawler-databasename PrimitiveType: String UpdateType: Mutable .PARAMETER Targets A collection of targets to crawl. Type: Targets Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#cfn-glue-crawler-targets UpdateType: Mutable .PARAMETER CrawlerSecurityConfiguration The name of the SecurityConfiguration structure to be used by this crawler. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#cfn-glue-crawler-crawlersecurityconfiguration PrimitiveType: String UpdateType: Mutable .PARAMETER Name The name of the crawler. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#cfn-glue-crawler-name PrimitiveType: String UpdateType: Immutable .PARAMETER Role The Amazon Resource Name ARN of an IAM role that's used to access customer resources, such as Amazon Simple Storage Service Amazon S3 data. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#cfn-glue-crawler-role PrimitiveType: String UpdateType: Mutable .PARAMETER Schedule For scheduled crawlers, the schedule when the crawler runs. Type: Schedule Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#cfn-glue-crawler-schedule UpdateType: Mutable .PARAMETER TablePrefix The prefix added to the names of tables that are created. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#cfn-glue-crawler-tableprefix PrimitiveType: String UpdateType: Mutable .PARAMETER Tags The tags to use with this crawler. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#cfn-glue-crawler-tags PrimitiveType: Json UpdateType: Mutable .PARAMETER DeletionPolicy With the DeletionPolicy attribute you can preserve or (in some cases) backup a resource when its stack is deleted. You specify a DeletionPolicy attribute for each resource that you want to control. If a resource has no DeletionPolicy attribute, AWS CloudFormation deletes the resource by default. To keep a resource when its stack is deleted, specify Retain for that resource. You can use retain for any resource. For example, you can retain a nested stack, S3 bucket, or EC2 instance so that you can continue to use or modify those resources after you delete their stacks. You must use one of the following options: "Delete","Retain","Snapshot" .PARAMETER UpdateReplacePolicy Use the UpdateReplacePolicy attribute to retain or (in some cases) backup the existing physical instance of a resource when it is replaced during a stack update operation. When you initiate a stack update, AWS CloudFormation updates resources based on differences between what you submit and the stack's current template and parameters. If you update a resource property that requires that the resource be replaced, AWS CloudFormation recreates the resource during the update. Recreating the resource generates a new physical ID. AWS CloudFormation creates the replacement resource first, and then changes references from other dependent resources to point to the replacement resource. By default, AWS CloudFormation then deletes the old resource. Using the UpdateReplacePolicy, you can specify that AWS CloudFormation retain or (in some cases) create a snapshot of the old resource. For resources that support snapshots, such as AWS::EC2::Volume, specify Snapshot to have AWS CloudFormation create a snapshot before deleting the old resource instance. You can apply the UpdateReplacePolicy attribute to any resource. UpdateReplacePolicy is only executed if you update a resource property whose update behavior is specified as Replacement, thereby causing AWS CloudFormation to replace the old resource with a new one with a new physical ID. For example, if you update the Engine property of an AWS::RDS::DBInstance resource type, AWS CloudFormation creates a new resource and replaces the current DB instance resource with the new one. The UpdateReplacePolicy attribute would then dictate whether AWS CloudFormation deleted, retained, or created a snapshot of the old DB instance. The update behavior for each property of a resource is specified in the reference topic for that resource in the AWS Resource and Property Types Reference. For more information on resource update behavior, see Update Behaviors of Stack Resources. The UpdateReplacePolicy attribute applies to stack updates you perform directly, as well as stack updates performed using change sets. Note Resources that are retained continue to exist and continue to incur applicable charges until you delete those resources. Snapshots that are created with this policy continue to exist and continue to incur applicable charges until you delete those snapshots. UpdateReplacePolicy retains the old physical resource or snapshot, but removes it from AWS CloudFormation's scope. UpdateReplacePolicy differs from the DeletionPolicy attribute in that it only applies to resources replaced during stack updates. Use DeletionPolicy for resources deleted when a stack is deleted, or when the resource definition itself is deleted from the template as part of a stack update. You must use one of the following options: "Delete","Retain","Snapshot" .PARAMETER DependsOn With the DependsOn attribute you can specify that the creation of a specific resource follows another. When you add a DependsOn attribute to a resource, that resource is created only after the creation of the resource specified in the DependsOn attribute. This parameter takes a string or list of strings representing Logical IDs of resources that must be created prior to this resource being created. .PARAMETER Metadata The Metadata attribute enables you to associate structured data with a resource. By adding a Metadata attribute to a resource, you can add data in JSON or YAML to the resource declaration. In addition, you can use intrinsic functions (such as GetAtt and Ref), parameters, and pseudo parameters within the Metadata attribute to add those interpreted values. This will be returned when describing the resource using AWS CLI. .PARAMETER UpdatePolicy Use the UpdatePolicy attribute to specify how AWS CloudFormation handles updates to the AWS::AutoScaling::AutoScalingGroup resource. AWS CloudFormation invokes one of three update policies depending on the type of change you make or whether a scheduled action is associated with the Auto Scaling group. You must use the "Add-UpdatePolicy" function or the [UpdatePolicy] class here. .PARAMETER Condition Logical ID of the condition that this resource needs to be true in order for this resource to be provisioned. .FUNCTIONALITY Vaporshell #> [OutputType([GlueCrawler])] [cmdletbinding()] Param( [parameter(Mandatory = $true,Position = 0)] [ValidateLogicalId()] [string] $LogicalId, [parameter(Mandatory = $false)] $Classifiers, [parameter(Mandatory = $false)] [object] $Description, [parameter(Mandatory = $false)] $SchemaChangePolicy, [parameter(Mandatory = $false)] [object] $Configuration, [parameter(Mandatory = $false)] $RecrawlPolicy, [parameter(Mandatory = $false)] [object] $DatabaseName, [parameter(Mandatory = $true)] $Targets, [parameter(Mandatory = $false)] [object] $CrawlerSecurityConfiguration, [parameter(Mandatory = $false)] [object] $Name, [parameter(Mandatory = $true)] [object] $Role, [parameter(Mandatory = $false)] $Schedule, [parameter(Mandatory = $false)] [object] $TablePrefix, [parameter(Mandatory = $false)] [VSJson] $Tags, [parameter()] [DeletionPolicy] $DeletionPolicy, [parameter()] [UpdateReplacePolicy] $UpdateReplacePolicy, [parameter(Mandatory = $false)] [string[]] $DependsOn, [parameter(Mandatory = $false)] [VSJson] $Metadata, [parameter(Mandatory = $false)] [UpdatePolicy] $UpdatePolicy, [parameter(Mandatory = $false)] [string] $Condition ) Process { $obj = [GlueCrawler]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'New-VSGlueCrawler' function New-VSGlueDatabase { <# .SYNOPSIS Adds an AWS::Glue::Database resource to the template. The AWS::Glue::Database resource specifies a logical grouping of tables in AWS Glue. For more information, see Defining a Database in Your Data Catalog: https://docs.aws.amazon.com/glue/latest/dg/define-database.html and Database Structure: https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-databases.html#aws-glue-api-catalog-databases-Database in the *AWS Glue Developer Guide*. .DESCRIPTION Adds an AWS::Glue::Database resource to the template. The AWS::Glue::Database resource specifies a logical grouping of tables in AWS Glue. For more information, see Defining a Database in Your Data Catalog: https://docs.aws.amazon.com/glue/latest/dg/define-database.html and Database Structure: https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-databases.html#aws-glue-api-catalog-databases-Database in the *AWS Glue Developer Guide*. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-database.html .PARAMETER LogicalId The logical ID must be alphanumeric (A-Za-z0-9) and unique within the template. Use the logical name to reference the resource in other parts of the template. For example, if you want to map an Amazon Elastic Block Store volume to an Amazon EC2 instance, you reference the logical IDs to associate the block stores with the instance. .PARAMETER DatabaseInput The metadata for the database. Type: DatabaseInput Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-database.html#cfn-glue-database-databaseinput UpdateType: Mutable .PARAMETER CatalogId The AWS account ID for the account in which to create the catalog object. To specify the account ID, you can use the Ref intrinsic function with the AWS::AccountId pseudo parameter. For example: !Ref AWS::AccountId Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-database.html#cfn-glue-database-catalogid PrimitiveType: String UpdateType: Immutable .PARAMETER DeletionPolicy With the DeletionPolicy attribute you can preserve or (in some cases) backup a resource when its stack is deleted. You specify a DeletionPolicy attribute for each resource that you want to control. If a resource has no DeletionPolicy attribute, AWS CloudFormation deletes the resource by default. To keep a resource when its stack is deleted, specify Retain for that resource. You can use retain for any resource. For example, you can retain a nested stack, S3 bucket, or EC2 instance so that you can continue to use or modify those resources after you delete their stacks. You must use one of the following options: "Delete","Retain","Snapshot" .PARAMETER UpdateReplacePolicy Use the UpdateReplacePolicy attribute to retain or (in some cases) backup the existing physical instance of a resource when it is replaced during a stack update operation. When you initiate a stack update, AWS CloudFormation updates resources based on differences between what you submit and the stack's current template and parameters. If you update a resource property that requires that the resource be replaced, AWS CloudFormation recreates the resource during the update. Recreating the resource generates a new physical ID. AWS CloudFormation creates the replacement resource first, and then changes references from other dependent resources to point to the replacement resource. By default, AWS CloudFormation then deletes the old resource. Using the UpdateReplacePolicy, you can specify that AWS CloudFormation retain or (in some cases) create a snapshot of the old resource. For resources that support snapshots, such as AWS::EC2::Volume, specify Snapshot to have AWS CloudFormation create a snapshot before deleting the old resource instance. You can apply the UpdateReplacePolicy attribute to any resource. UpdateReplacePolicy is only executed if you update a resource property whose update behavior is specified as Replacement, thereby causing AWS CloudFormation to replace the old resource with a new one with a new physical ID. For example, if you update the Engine property of an AWS::RDS::DBInstance resource type, AWS CloudFormation creates a new resource and replaces the current DB instance resource with the new one. The UpdateReplacePolicy attribute would then dictate whether AWS CloudFormation deleted, retained, or created a snapshot of the old DB instance. The update behavior for each property of a resource is specified in the reference topic for that resource in the AWS Resource and Property Types Reference. For more information on resource update behavior, see Update Behaviors of Stack Resources. The UpdateReplacePolicy attribute applies to stack updates you perform directly, as well as stack updates performed using change sets. Note Resources that are retained continue to exist and continue to incur applicable charges until you delete those resources. Snapshots that are created with this policy continue to exist and continue to incur applicable charges until you delete those snapshots. UpdateReplacePolicy retains the old physical resource or snapshot, but removes it from AWS CloudFormation's scope. UpdateReplacePolicy differs from the DeletionPolicy attribute in that it only applies to resources replaced during stack updates. Use DeletionPolicy for resources deleted when a stack is deleted, or when the resource definition itself is deleted from the template as part of a stack update. You must use one of the following options: "Delete","Retain","Snapshot" .PARAMETER DependsOn With the DependsOn attribute you can specify that the creation of a specific resource follows another. When you add a DependsOn attribute to a resource, that resource is created only after the creation of the resource specified in the DependsOn attribute. This parameter takes a string or list of strings representing Logical IDs of resources that must be created prior to this resource being created. .PARAMETER Metadata The Metadata attribute enables you to associate structured data with a resource. By adding a Metadata attribute to a resource, you can add data in JSON or YAML to the resource declaration. In addition, you can use intrinsic functions (such as GetAtt and Ref), parameters, and pseudo parameters within the Metadata attribute to add those interpreted values. This will be returned when describing the resource using AWS CLI. .PARAMETER UpdatePolicy Use the UpdatePolicy attribute to specify how AWS CloudFormation handles updates to the AWS::AutoScaling::AutoScalingGroup resource. AWS CloudFormation invokes one of three update policies depending on the type of change you make or whether a scheduled action is associated with the Auto Scaling group. You must use the "Add-UpdatePolicy" function or the [UpdatePolicy] class here. .PARAMETER Condition Logical ID of the condition that this resource needs to be true in order for this resource to be provisioned. .FUNCTIONALITY Vaporshell #> [OutputType([GlueDatabase])] [cmdletbinding()] Param( [parameter(Mandatory = $true,Position = 0)] [ValidateLogicalId()] [string] $LogicalId, [parameter(Mandatory = $true)] $DatabaseInput, [parameter(Mandatory = $true)] [object] $CatalogId, [parameter()] [DeletionPolicy] $DeletionPolicy, [parameter()] [UpdateReplacePolicy] $UpdateReplacePolicy, [parameter(Mandatory = $false)] [string[]] $DependsOn, [parameter(Mandatory = $false)] [VSJson] $Metadata, [parameter(Mandatory = $false)] [UpdatePolicy] $UpdatePolicy, [parameter(Mandatory = $false)] [string] $Condition ) Process { $obj = [GlueDatabase]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'New-VSGlueDatabase' function New-VSGlueDataCatalogEncryptionSettings { <# .SYNOPSIS Adds an AWS::Glue::DataCatalogEncryptionSettings resource to the template. Sets the security configuration for a specified catalog. After the configuration has been set, the specified encryption is applied to every catalog write thereafter. .DESCRIPTION Adds an AWS::Glue::DataCatalogEncryptionSettings resource to the template. Sets the security configuration for a specified catalog. After the configuration has been set, the specified encryption is applied to every catalog write thereafter. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-datacatalogencryptionsettings.html .PARAMETER LogicalId The logical ID must be alphanumeric (A-Za-z0-9) and unique within the template. Use the logical name to reference the resource in other parts of the template. For example, if you want to map an Amazon Elastic Block Store volume to an Amazon EC2 instance, you reference the logical IDs to associate the block stores with the instance. .PARAMETER DataCatalogEncryptionSettings Contains configuration information for maintaining Data Catalog security. Type: DataCatalogEncryptionSettings Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-datacatalogencryptionsettings.html#cfn-glue-datacatalogencryptionsettings-datacatalogencryptionsettings UpdateType: Mutable .PARAMETER CatalogId The ID of the Data Catalog in which the settings are created. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-datacatalogencryptionsettings.html#cfn-glue-datacatalogencryptionsettings-catalogid PrimitiveType: String UpdateType: Immutable .PARAMETER DeletionPolicy With the DeletionPolicy attribute you can preserve or (in some cases) backup a resource when its stack is deleted. You specify a DeletionPolicy attribute for each resource that you want to control. If a resource has no DeletionPolicy attribute, AWS CloudFormation deletes the resource by default. To keep a resource when its stack is deleted, specify Retain for that resource. You can use retain for any resource. For example, you can retain a nested stack, S3 bucket, or EC2 instance so that you can continue to use or modify those resources after you delete their stacks. You must use one of the following options: "Delete","Retain","Snapshot" .PARAMETER UpdateReplacePolicy Use the UpdateReplacePolicy attribute to retain or (in some cases) backup the existing physical instance of a resource when it is replaced during a stack update operation. When you initiate a stack update, AWS CloudFormation updates resources based on differences between what you submit and the stack's current template and parameters. If you update a resource property that requires that the resource be replaced, AWS CloudFormation recreates the resource during the update. Recreating the resource generates a new physical ID. AWS CloudFormation creates the replacement resource first, and then changes references from other dependent resources to point to the replacement resource. By default, AWS CloudFormation then deletes the old resource. Using the UpdateReplacePolicy, you can specify that AWS CloudFormation retain or (in some cases) create a snapshot of the old resource. For resources that support snapshots, such as AWS::EC2::Volume, specify Snapshot to have AWS CloudFormation create a snapshot before deleting the old resource instance. You can apply the UpdateReplacePolicy attribute to any resource. UpdateReplacePolicy is only executed if you update a resource property whose update behavior is specified as Replacement, thereby causing AWS CloudFormation to replace the old resource with a new one with a new physical ID. For example, if you update the Engine property of an AWS::RDS::DBInstance resource type, AWS CloudFormation creates a new resource and replaces the current DB instance resource with the new one. The UpdateReplacePolicy attribute would then dictate whether AWS CloudFormation deleted, retained, or created a snapshot of the old DB instance. The update behavior for each property of a resource is specified in the reference topic for that resource in the AWS Resource and Property Types Reference. For more information on resource update behavior, see Update Behaviors of Stack Resources. The UpdateReplacePolicy attribute applies to stack updates you perform directly, as well as stack updates performed using change sets. Note Resources that are retained continue to exist and continue to incur applicable charges until you delete those resources. Snapshots that are created with this policy continue to exist and continue to incur applicable charges until you delete those snapshots. UpdateReplacePolicy retains the old physical resource or snapshot, but removes it from AWS CloudFormation's scope. UpdateReplacePolicy differs from the DeletionPolicy attribute in that it only applies to resources replaced during stack updates. Use DeletionPolicy for resources deleted when a stack is deleted, or when the resource definition itself is deleted from the template as part of a stack update. You must use one of the following options: "Delete","Retain","Snapshot" .PARAMETER DependsOn With the DependsOn attribute you can specify that the creation of a specific resource follows another. When you add a DependsOn attribute to a resource, that resource is created only after the creation of the resource specified in the DependsOn attribute. This parameter takes a string or list of strings representing Logical IDs of resources that must be created prior to this resource being created. .PARAMETER Metadata The Metadata attribute enables you to associate structured data with a resource. By adding a Metadata attribute to a resource, you can add data in JSON or YAML to the resource declaration. In addition, you can use intrinsic functions (such as GetAtt and Ref), parameters, and pseudo parameters within the Metadata attribute to add those interpreted values. This will be returned when describing the resource using AWS CLI. .PARAMETER UpdatePolicy Use the UpdatePolicy attribute to specify how AWS CloudFormation handles updates to the AWS::AutoScaling::AutoScalingGroup resource. AWS CloudFormation invokes one of three update policies depending on the type of change you make or whether a scheduled action is associated with the Auto Scaling group. You must use the "Add-UpdatePolicy" function or the [UpdatePolicy] class here. .PARAMETER Condition Logical ID of the condition that this resource needs to be true in order for this resource to be provisioned. .FUNCTIONALITY Vaporshell #> [OutputType([GlueDataCatalogEncryptionSettings])] [cmdletbinding()] Param( [parameter(Mandatory = $true,Position = 0)] [ValidateLogicalId()] [string] $LogicalId, [parameter(Mandatory = $true)] $DataCatalogEncryptionSettings, [parameter(Mandatory = $true)] [object] $CatalogId, [parameter()] [DeletionPolicy] $DeletionPolicy, [parameter()] [UpdateReplacePolicy] $UpdateReplacePolicy, [parameter(Mandatory = $false)] [string[]] $DependsOn, [parameter(Mandatory = $false)] [VSJson] $Metadata, [parameter(Mandatory = $false)] [UpdatePolicy] $UpdatePolicy, [parameter(Mandatory = $false)] [string] $Condition ) Process { $obj = [GlueDataCatalogEncryptionSettings]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'New-VSGlueDataCatalogEncryptionSettings' function New-VSGlueDevEndpoint { <# .SYNOPSIS Adds an AWS::Glue::DevEndpoint resource to the template. The AWS::Glue::DevEndpoint resource specifies a development endpoint where a developer can remotely debug ETL scripts for AWS Glue. For more information, see DevEndpoint Structure: https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-jobs-dev-endpoint.html#aws-glue-api-jobs-dev-endpoint-DevEndpoint in the AWS Glue Developer Guide. .DESCRIPTION Adds an AWS::Glue::DevEndpoint resource to the template. The AWS::Glue::DevEndpoint resource specifies a development endpoint where a developer can remotely debug ETL scripts for AWS Glue. For more information, see DevEndpoint Structure: https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-jobs-dev-endpoint.html#aws-glue-api-jobs-dev-endpoint-DevEndpoint in the AWS Glue Developer Guide. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html .PARAMETER LogicalId The logical ID must be alphanumeric (A-Za-z0-9) and unique within the template. Use the logical name to reference the resource in other parts of the template. For example, if you want to map an Amazon Elastic Block Store volume to an Amazon EC2 instance, you reference the logical IDs to associate the block stores with the instance. .PARAMETER ExtraJarsS3Path The path to one or more Java .jar files in an S3 bucket that should be loaded in your DevEndpoint. You can only use pure Java/Scala libraries with a DevEndpoint. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-extrajarss3path PrimitiveType: String UpdateType: Mutable .PARAMETER PublicKey The public key to be used by this DevEndpoint for authentication. This attribute is provided for backward compatibility because the recommended attribute to use is public keys. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-publickey PrimitiveType: String UpdateType: Mutable .PARAMETER NumberOfNodes The number of AWS Glue Data Processing Units DPUs allocated to this DevEndpoint. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-numberofnodes PrimitiveType: Integer UpdateType: Mutable .PARAMETER Arguments A map of arguments used to configure the DevEndpoint. Valid arguments are: + "--enable-glue-datacatalog": "" + "GLUE_PYTHON_VERSION": "3" + "GLUE_PYTHON_VERSION": "2" You can specify a version of Python support for development endpoints by using the Arguments parameter in the CreateDevEndpoint or UpdateDevEndpoint APIs. If no arguments are provided, the version defaults to Python 2. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-arguments PrimitiveType: Json UpdateType: Mutable .PARAMETER SubnetId The subnet ID for this DevEndpoint. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-subnetid PrimitiveType: String UpdateType: Mutable .PARAMETER PublicKeys A list of public keys to be used by the DevEndpoints for authentication. Using this attribute is preferred over a single public key because the public keys allow you to have a different private key per client. If you previously created an endpoint with a public key, you must remove that key to be able to set a list of public keys. Call the UpdateDevEndpoint API operation with the public key content in the deletePublicKeys attribute, and the list of new keys in the addPublicKeys attribute. PrimitiveItemType: String Type: List Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-publickeys UpdateType: Mutable .PARAMETER SecurityGroupIds A list of security group identifiers used in this DevEndpoint. PrimitiveItemType: String Type: List Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-securitygroupids UpdateType: Mutable .PARAMETER RoleArn The Amazon Resource Name ARN of the IAM role used in this DevEndpoint. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-rolearn PrimitiveType: String UpdateType: Mutable .PARAMETER WorkerType The type of predefined worker that is allocated to the development endpoint. Accepts a value of Standard, G.1X, or G.2X. + For the Standard worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker. + For the G.1X worker type, each worker maps to 1 DPU 4 vCPU, 16 GB of memory, 64 GB disk, and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs. + For the G.2X worker type, each worker maps to 2 DPU 8 vCPU, 32 GB of memory, 128 GB disk, and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs. Known issue: when a development endpoint is created with the G.2X WorkerType configuration, the Spark drivers for the development endpoint will run on 4 vCPU, 16 GB of memory, and a 64 GB disk. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-workertype PrimitiveType: String UpdateType: Mutable .PARAMETER EndpointName The name of the DevEndpoint. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-endpointname PrimitiveType: String UpdateType: Immutable .PARAMETER GlueVersion Glue version determines the versions of Apache Spark and Python that AWS Glue supports. The Python version indicates the version supported for running your ETL scripts on development endpoints. For more information about the available AWS Glue versions and corresponding Spark and Python versions, see Glue version: https://docs.aws.amazon.com/glue/latest/dg/add-job.html in the developer guide. Development endpoints that are created without specifying a Glue version default to Glue 0.9. You can specify a version of Python support for development endpoints by using the Arguments parameter in the CreateDevEndpoint or UpdateDevEndpoint APIs. If no arguments are provided, the version defaults to Python 2. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-glueversion PrimitiveType: String UpdateType: Mutable .PARAMETER ExtraPythonLibsS3Path The paths to one or more Python libraries in an Amazon S3 bucket that should be loaded in your DevEndpoint. Multiple values must be complete paths separated by a comma. You can only use pure Python libraries with a DevEndpoint. Libraries that rely on C extensions, such as the pandas: http://pandas.pydata.org/ Python data analysis library, are not currently supported. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-extrapythonlibss3path PrimitiveType: String UpdateType: Mutable .PARAMETER SecurityConfiguration The name of the SecurityConfiguration structure to be used with this DevEndpoint. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-securityconfiguration PrimitiveType: String UpdateType: Mutable .PARAMETER NumberOfWorkers The number of workers of a defined workerType that are allocated to the development endpoint. The maximum number of workers you can define are 299 for G.1X, and 149 for G.2X. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-numberofworkers PrimitiveType: Integer UpdateType: Mutable .PARAMETER Tags The tags to use with this DevEndpoint. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-tags PrimitiveType: Json UpdateType: Mutable .PARAMETER DeletionPolicy With the DeletionPolicy attribute you can preserve or (in some cases) backup a resource when its stack is deleted. You specify a DeletionPolicy attribute for each resource that you want to control. If a resource has no DeletionPolicy attribute, AWS CloudFormation deletes the resource by default. To keep a resource when its stack is deleted, specify Retain for that resource. You can use retain for any resource. For example, you can retain a nested stack, S3 bucket, or EC2 instance so that you can continue to use or modify those resources after you delete their stacks. You must use one of the following options: "Delete","Retain","Snapshot" .PARAMETER UpdateReplacePolicy Use the UpdateReplacePolicy attribute to retain or (in some cases) backup the existing physical instance of a resource when it is replaced during a stack update operation. When you initiate a stack update, AWS CloudFormation updates resources based on differences between what you submit and the stack's current template and parameters. If you update a resource property that requires that the resource be replaced, AWS CloudFormation recreates the resource during the update. Recreating the resource generates a new physical ID. AWS CloudFormation creates the replacement resource first, and then changes references from other dependent resources to point to the replacement resource. By default, AWS CloudFormation then deletes the old resource. Using the UpdateReplacePolicy, you can specify that AWS CloudFormation retain or (in some cases) create a snapshot of the old resource. For resources that support snapshots, such as AWS::EC2::Volume, specify Snapshot to have AWS CloudFormation create a snapshot before deleting the old resource instance. You can apply the UpdateReplacePolicy attribute to any resource. UpdateReplacePolicy is only executed if you update a resource property whose update behavior is specified as Replacement, thereby causing AWS CloudFormation to replace the old resource with a new one with a new physical ID. For example, if you update the Engine property of an AWS::RDS::DBInstance resource type, AWS CloudFormation creates a new resource and replaces the current DB instance resource with the new one. The UpdateReplacePolicy attribute would then dictate whether AWS CloudFormation deleted, retained, or created a snapshot of the old DB instance. The update behavior for each property of a resource is specified in the reference topic for that resource in the AWS Resource and Property Types Reference. For more information on resource update behavior, see Update Behaviors of Stack Resources. The UpdateReplacePolicy attribute applies to stack updates you perform directly, as well as stack updates performed using change sets. Note Resources that are retained continue to exist and continue to incur applicable charges until you delete those resources. Snapshots that are created with this policy continue to exist and continue to incur applicable charges until you delete those snapshots. UpdateReplacePolicy retains the old physical resource or snapshot, but removes it from AWS CloudFormation's scope. UpdateReplacePolicy differs from the DeletionPolicy attribute in that it only applies to resources replaced during stack updates. Use DeletionPolicy for resources deleted when a stack is deleted, or when the resource definition itself is deleted from the template as part of a stack update. You must use one of the following options: "Delete","Retain","Snapshot" .PARAMETER DependsOn With the DependsOn attribute you can specify that the creation of a specific resource follows another. When you add a DependsOn attribute to a resource, that resource is created only after the creation of the resource specified in the DependsOn attribute. This parameter takes a string or list of strings representing Logical IDs of resources that must be created prior to this resource being created. .PARAMETER Metadata The Metadata attribute enables you to associate structured data with a resource. By adding a Metadata attribute to a resource, you can add data in JSON or YAML to the resource declaration. In addition, you can use intrinsic functions (such as GetAtt and Ref), parameters, and pseudo parameters within the Metadata attribute to add those interpreted values. This will be returned when describing the resource using AWS CLI. .PARAMETER UpdatePolicy Use the UpdatePolicy attribute to specify how AWS CloudFormation handles updates to the AWS::AutoScaling::AutoScalingGroup resource. AWS CloudFormation invokes one of three update policies depending on the type of change you make or whether a scheduled action is associated with the Auto Scaling group. You must use the "Add-UpdatePolicy" function or the [UpdatePolicy] class here. .PARAMETER Condition Logical ID of the condition that this resource needs to be true in order for this resource to be provisioned. .FUNCTIONALITY Vaporshell #> [OutputType([GlueDevEndpoint])] [cmdletbinding()] Param( [parameter(Mandatory = $true,Position = 0)] [ValidateLogicalId()] [string] $LogicalId, [parameter(Mandatory = $false)] [object] $ExtraJarsS3Path, [parameter(Mandatory = $false)] [object] $PublicKey, [parameter(Mandatory = $false)] [object] $NumberOfNodes, [parameter(Mandatory = $false)] [VSJson] $Arguments, [parameter(Mandatory = $false)] [object] $SubnetId, [parameter(Mandatory = $false)] $PublicKeys, [parameter(Mandatory = $false)] $SecurityGroupIds, [parameter(Mandatory = $true)] [object] $RoleArn, [parameter(Mandatory = $false)] [object] $WorkerType, [parameter(Mandatory = $false)] [object] $EndpointName, [parameter(Mandatory = $false)] [object] $GlueVersion, [parameter(Mandatory = $false)] [object] $ExtraPythonLibsS3Path, [parameter(Mandatory = $false)] [object] $SecurityConfiguration, [parameter(Mandatory = $false)] [object] $NumberOfWorkers, [parameter(Mandatory = $false)] [VSJson] $Tags, [parameter()] [DeletionPolicy] $DeletionPolicy, [parameter()] [UpdateReplacePolicy] $UpdateReplacePolicy, [parameter(Mandatory = $false)] [string[]] $DependsOn, [parameter(Mandatory = $false)] [VSJson] $Metadata, [parameter(Mandatory = $false)] [UpdatePolicy] $UpdatePolicy, [parameter(Mandatory = $false)] [string] $Condition ) Process { $obj = [GlueDevEndpoint]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'New-VSGlueDevEndpoint' function New-VSGlueJob { <# .SYNOPSIS Adds an AWS::Glue::Job resource to the template. The AWS::Glue::Job resource specifies an AWS Glue job in the data catalog. For more information, see Adding Jobs in AWS Glue: https://docs.aws.amazon.com/glue/latest/dg/add-job.html and Job Structure: https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-jobs-job.html#aws-glue-api-jobs-job-Job in the *AWS Glue Developer Guide.* .DESCRIPTION Adds an AWS::Glue::Job resource to the template. The AWS::Glue::Job resource specifies an AWS Glue job in the data catalog. For more information, see Adding Jobs in AWS Glue: https://docs.aws.amazon.com/glue/latest/dg/add-job.html and Job Structure: https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-jobs-job.html#aws-glue-api-jobs-job-Job in the *AWS Glue Developer Guide.* .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html .PARAMETER LogicalId The logical ID must be alphanumeric (A-Za-z0-9) and unique within the template. Use the logical name to reference the resource in other parts of the template. For example, if you want to map an Amazon Elastic Block Store volume to an Amazon EC2 instance, you reference the logical IDs to associate the block stores with the instance. .PARAMETER Connections The connections used for this job. Type: ConnectionsList Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-connections UpdateType: Mutable .PARAMETER MaxRetries The maximum number of times to retry this job after a JobRun fails. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-maxretries PrimitiveType: Double UpdateType: Mutable .PARAMETER Description A description of the job. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-description PrimitiveType: String UpdateType: Mutable .PARAMETER Timeout The job timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes 48 hours. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-timeout PrimitiveType: Integer UpdateType: Mutable .PARAMETER AllocatedCapacity The number of capacity units that are allocated to this job. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-allocatedcapacity PrimitiveType: Double UpdateType: Mutable .PARAMETER Name The name you assign to this job definition. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-name PrimitiveType: String UpdateType: Immutable .PARAMETER Role The name or Amazon Resource Name ARN of the IAM role associated with this job. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-role PrimitiveType: String UpdateType: Mutable .PARAMETER DefaultArguments The default arguments for this job, specified as name-value pairs. You can specify arguments here that your own job-execution script consumes, in addition to arguments that AWS Glue itself consumes. For information about how to specify and consume your own job arguments, see Calling AWS Glue APIs in Python: https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-calling.html in the *AWS Glue Developer Guide*. For information about the key-value pairs that AWS Glue consumes to set up your job, see Special Parameters Used by AWS Glue: https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html in the *AWS Glue Developer Guide*. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-defaultarguments PrimitiveType: Json UpdateType: Mutable .PARAMETER NotificationProperty Specifies configuration properties of a notification. Type: NotificationProperty Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-notificationproperty UpdateType: Mutable .PARAMETER WorkerType The type of predefined worker that is allocated when a job runs. Accepts a value of Standard, G.1X, or G.2X. + For the Standard worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker. + For the G.1X worker type, each worker maps to 1 DPU 4 vCPU, 16 GB of memory, 64 GB disk, and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs. + For the G.2X worker type, each worker maps to 2 DPU 8 vCPU, 32 GB of memory, 128 GB disk, and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-workertype PrimitiveType: String UpdateType: Mutable .PARAMETER LogUri This field is reserved for future use. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-loguri PrimitiveType: String UpdateType: Mutable .PARAMETER Command The code that executes a job. Type: JobCommand Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-command UpdateType: Mutable .PARAMETER GlueVersion Glue version determines the versions of Apache Spark and Python that AWS Glue supports. The Python version indicates the version supported for jobs of type Spark. For more information about the available AWS Glue versions and corresponding Spark and Python versions, see Glue version: https://docs.aws.amazon.com/glue/latest/dg/add-job.html in the developer guide. Jobs that are created without specifying a Glue version default to Glue 0.9. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-glueversion PrimitiveType: String UpdateType: Mutable .PARAMETER ExecutionProperty The maximum number of concurrent runs that are allowed for this job. Type: ExecutionProperty Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-executionproperty UpdateType: Mutable .PARAMETER SecurityConfiguration The name of the SecurityConfiguration structure to be used with this job. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-securityconfiguration PrimitiveType: String UpdateType: Mutable .PARAMETER NumberOfWorkers The number of workers of a defined workerType that are allocated when a job runs. The maximum number of workers you can define are 299 for G.1X, and 149 for G.2X. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-numberofworkers PrimitiveType: Integer UpdateType: Mutable .PARAMETER Tags The tags to use with this job. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-tags PrimitiveType: Json UpdateType: Mutable .PARAMETER MaxCapacity The number of AWS Glue data processing units DPUs that can be allocated when this job runs. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. Do not set Max Capacity if using WorkerType and NumberOfWorkers. The value that can be allocated for MaxCapacity depends on whether you are running a Python shell job or an Apache Spark ETL job: + When you specify a Python shell job JobCommand.Name="pythonshell", you can allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU. + When you specify an Apache Spark ETL job JobCommand.Name="glueetl", you can allocate from 2 to 100 DPUs. The default is 10 DPUs. This job type cannot have a fractional DPU allocation. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-maxcapacity PrimitiveType: Double UpdateType: Mutable .PARAMETER DeletionPolicy With the DeletionPolicy attribute you can preserve or (in some cases) backup a resource when its stack is deleted. You specify a DeletionPolicy attribute for each resource that you want to control. If a resource has no DeletionPolicy attribute, AWS CloudFormation deletes the resource by default. To keep a resource when its stack is deleted, specify Retain for that resource. You can use retain for any resource. For example, you can retain a nested stack, S3 bucket, or EC2 instance so that you can continue to use or modify those resources after you delete their stacks. You must use one of the following options: "Delete","Retain","Snapshot" .PARAMETER UpdateReplacePolicy Use the UpdateReplacePolicy attribute to retain or (in some cases) backup the existing physical instance of a resource when it is replaced during a stack update operation. When you initiate a stack update, AWS CloudFormation updates resources based on differences between what you submit and the stack's current template and parameters. If you update a resource property that requires that the resource be replaced, AWS CloudFormation recreates the resource during the update. Recreating the resource generates a new physical ID. AWS CloudFormation creates the replacement resource first, and then changes references from other dependent resources to point to the replacement resource. By default, AWS CloudFormation then deletes the old resource. Using the UpdateReplacePolicy, you can specify that AWS CloudFormation retain or (in some cases) create a snapshot of the old resource. For resources that support snapshots, such as AWS::EC2::Volume, specify Snapshot to have AWS CloudFormation create a snapshot before deleting the old resource instance. You can apply the UpdateReplacePolicy attribute to any resource. UpdateReplacePolicy is only executed if you update a resource property whose update behavior is specified as Replacement, thereby causing AWS CloudFormation to replace the old resource with a new one with a new physical ID. For example, if you update the Engine property of an AWS::RDS::DBInstance resource type, AWS CloudFormation creates a new resource and replaces the current DB instance resource with the new one. The UpdateReplacePolicy attribute would then dictate whether AWS CloudFormation deleted, retained, or created a snapshot of the old DB instance. The update behavior for each property of a resource is specified in the reference topic for that resource in the AWS Resource and Property Types Reference. For more information on resource update behavior, see Update Behaviors of Stack Resources. The UpdateReplacePolicy attribute applies to stack updates you perform directly, as well as stack updates performed using change sets. Note Resources that are retained continue to exist and continue to incur applicable charges until you delete those resources. Snapshots that are created with this policy continue to exist and continue to incur applicable charges until you delete those snapshots. UpdateReplacePolicy retains the old physical resource or snapshot, but removes it from AWS CloudFormation's scope. UpdateReplacePolicy differs from the DeletionPolicy attribute in that it only applies to resources replaced during stack updates. Use DeletionPolicy for resources deleted when a stack is deleted, or when the resource definition itself is deleted from the template as part of a stack update. You must use one of the following options: "Delete","Retain","Snapshot" .PARAMETER DependsOn With the DependsOn attribute you can specify that the creation of a specific resource follows another. When you add a DependsOn attribute to a resource, that resource is created only after the creation of the resource specified in the DependsOn attribute. This parameter takes a string or list of strings representing Logical IDs of resources that must be created prior to this resource being created. .PARAMETER Metadata The Metadata attribute enables you to associate structured data with a resource. By adding a Metadata attribute to a resource, you can add data in JSON or YAML to the resource declaration. In addition, you can use intrinsic functions (such as GetAtt and Ref), parameters, and pseudo parameters within the Metadata attribute to add those interpreted values. This will be returned when describing the resource using AWS CLI. .PARAMETER UpdatePolicy Use the UpdatePolicy attribute to specify how AWS CloudFormation handles updates to the AWS::AutoScaling::AutoScalingGroup resource. AWS CloudFormation invokes one of three update policies depending on the type of change you make or whether a scheduled action is associated with the Auto Scaling group. You must use the "Add-UpdatePolicy" function or the [UpdatePolicy] class here. .PARAMETER Condition Logical ID of the condition that this resource needs to be true in order for this resource to be provisioned. .FUNCTIONALITY Vaporshell #> [OutputType([GlueJob])] [cmdletbinding()] Param( [parameter(Mandatory = $true,Position = 0)] [ValidateLogicalId()] [string] $LogicalId, [parameter(Mandatory = $false)] $Connections, [parameter(Mandatory = $false)] [object] $MaxRetries, [parameter(Mandatory = $false)] [object] $Description, [parameter(Mandatory = $false)] [object] $Timeout, [parameter(Mandatory = $false)] [object] $AllocatedCapacity, [parameter(Mandatory = $false)] [object] $Name, [parameter(Mandatory = $true)] [object] $Role, [parameter(Mandatory = $false)] [VSJson] $DefaultArguments, [parameter(Mandatory = $false)] $NotificationProperty, [parameter(Mandatory = $false)] [object] $WorkerType, [parameter(Mandatory = $false)] [object] $LogUri, [parameter(Mandatory = $true)] $Command, [parameter(Mandatory = $false)] [object] $GlueVersion, [parameter(Mandatory = $false)] $ExecutionProperty, [parameter(Mandatory = $false)] [object] $SecurityConfiguration, [parameter(Mandatory = $false)] [object] $NumberOfWorkers, [parameter(Mandatory = $false)] [VSJson] $Tags, [parameter(Mandatory = $false)] [object] $MaxCapacity, [parameter()] [DeletionPolicy] $DeletionPolicy, [parameter()] [UpdateReplacePolicy] $UpdateReplacePolicy, [parameter(Mandatory = $false)] [string[]] $DependsOn, [parameter(Mandatory = $false)] [VSJson] $Metadata, [parameter(Mandatory = $false)] [UpdatePolicy] $UpdatePolicy, [parameter(Mandatory = $false)] [string] $Condition ) Process { $obj = [GlueJob]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'New-VSGlueJob' function New-VSGlueMLTransform { <# .SYNOPSIS Adds an AWS::Glue::MLTransform resource to the template. The AWS::Glue::MLTransform is an AWS Glue resource type that manages machine learning transforms. .DESCRIPTION Adds an AWS::Glue::MLTransform resource to the template. The AWS::Glue::MLTransform is an AWS Glue resource type that manages machine learning transforms. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html .PARAMETER LogicalId The logical ID must be alphanumeric (A-Za-z0-9) and unique within the template. Use the logical name to reference the resource in other parts of the template. For example, if you want to map an Amazon Elastic Block Store volume to an Amazon EC2 instance, you reference the logical IDs to associate the block stores with the instance. .PARAMETER MaxRetries The maximum number of times to retry after an MLTaskRun of the machine learning transform fails. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-maxretries PrimitiveType: Integer UpdateType: Mutable .PARAMETER Description A user-defined, long-form description text for the machine learning transform. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-description PrimitiveType: String UpdateType: Mutable .PARAMETER TransformEncryption For more information about using the Ref function, see Ref: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html. Type: TransformEncryption Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-transformencryption UpdateType: Mutable .PARAMETER Timeout The timeout in minutes of the machine learning transform. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-timeout PrimitiveType: Integer UpdateType: Mutable .PARAMETER Name Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-name PrimitiveType: String UpdateType: Mutable .PARAMETER Role The name or Amazon Resource Name ARN of the IAM role with the required permissions. The required permissions include both AWS Glue service role permissions to AWS Glue resources, and Amazon S3 permissions required by the transform. + This role needs AWS Glue service role permissions to allow access to resources in AWS Glue. See Attach a Policy to IAM Users That Access AWS Glue: https://docs.aws.amazon.com/glue/latest/dg/attach-policy-iam-user.html. + This role needs permission to your Amazon Simple Storage Service Amazon S3 sources, targets, temporary directory, scripts, and any libraries used by the task run for this transform. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-role PrimitiveType: String UpdateType: Mutable .PARAMETER WorkerType The type of predefined worker that is allocated when a task of this transform runs. Accepts a value of Standard, G.1X, or G.2X. + For the Standard worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker. + For the G.1X worker type, each worker provides 4 vCPU, 16 GB of memory and a 64GB disk, and 1 executor per worker. + For the G.2X worker type, each worker provides 8 vCPU, 32 GB of memory and a 128GB disk, and 1 executor per worker. MaxCapacity is a mutually exclusive option with NumberOfWorkers and WorkerType. + If either NumberOfWorkers or WorkerType is set, then MaxCapacity cannot be set. + If MaxCapacity is set then neither NumberOfWorkers or WorkerType can be set. + If WorkerType is set, then NumberOfWorkers is required and vice versa. + MaxCapacity and NumberOfWorkers must both be at least 1. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-workertype PrimitiveType: String UpdateType: Mutable .PARAMETER GlueVersion This value determines which version of AWS Glue this machine learning transform is compatible with. Glue 1.0 is recommended for most customers. If the value is not set, the Glue compatibility defaults to Glue 0.9. For more information, see AWS Glue Versions: https://docs.aws.amazon.com/glue/latest/dg/release-notes.html#release-notes-versions in the developer guide. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-glueversion PrimitiveType: String UpdateType: Mutable .PARAMETER TransformParameters The algorithm-specific parameters that are associated with the machine learning transform. Type: TransformParameters Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-transformparameters UpdateType: Mutable .PARAMETER InputRecordTables A list of AWS Glue table definitions used by the transform. Type: InputRecordTables Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-inputrecordtables UpdateType: Immutable .PARAMETER NumberOfWorkers The number of workers of a defined workerType that are allocated when a task of the transform runs. If WorkerType is set, then NumberOfWorkers is required and vice versa. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-numberofworkers PrimitiveType: Integer UpdateType: Mutable .PARAMETER Tags The tags to use with this machine learning transform. You may use tags to limit access to the machine learning transform. For more information about tags in AWS Glue, see AWS Tags in AWS Glue: https://docs.aws.amazon.com/glue/latest/dg/monitor-tags.html in the developer guide. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-tags PrimitiveType: Json UpdateType: Mutable .PARAMETER MaxCapacity The number of AWS Glue data processing units DPUs that are allocated to task runs for this transform. You can allocate from 2 to 100 DPUs; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the AWS Glue pricing page: http://aws.amazon.com/glue/pricing/. MaxCapacity is a mutually exclusive option with NumberOfWorkers and WorkerType. + If either NumberOfWorkers or WorkerType is set, then MaxCapacity cannot be set. + If MaxCapacity is set then neither NumberOfWorkers or WorkerType can be set. + If WorkerType is set, then NumberOfWorkers is required and vice versa. + MaxCapacity and NumberOfWorkers must both be at least 1. When the WorkerType field is set to a value other than Standard, the MaxCapacity field is set automatically and becomes read-only. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-maxcapacity PrimitiveType: Double UpdateType: Mutable .PARAMETER DeletionPolicy With the DeletionPolicy attribute you can preserve or (in some cases) backup a resource when its stack is deleted. You specify a DeletionPolicy attribute for each resource that you want to control. If a resource has no DeletionPolicy attribute, AWS CloudFormation deletes the resource by default. To keep a resource when its stack is deleted, specify Retain for that resource. You can use retain for any resource. For example, you can retain a nested stack, S3 bucket, or EC2 instance so that you can continue to use or modify those resources after you delete their stacks. You must use one of the following options: "Delete","Retain","Snapshot" .PARAMETER UpdateReplacePolicy Use the UpdateReplacePolicy attribute to retain or (in some cases) backup the existing physical instance of a resource when it is replaced during a stack update operation. When you initiate a stack update, AWS CloudFormation updates resources based on differences between what you submit and the stack's current template and parameters. If you update a resource property that requires that the resource be replaced, AWS CloudFormation recreates the resource during the update. Recreating the resource generates a new physical ID. AWS CloudFormation creates the replacement resource first, and then changes references from other dependent resources to point to the replacement resource. By default, AWS CloudFormation then deletes the old resource. Using the UpdateReplacePolicy, you can specify that AWS CloudFormation retain or (in some cases) create a snapshot of the old resource. For resources that support snapshots, such as AWS::EC2::Volume, specify Snapshot to have AWS CloudFormation create a snapshot before deleting the old resource instance. You can apply the UpdateReplacePolicy attribute to any resource. UpdateReplacePolicy is only executed if you update a resource property whose update behavior is specified as Replacement, thereby causing AWS CloudFormation to replace the old resource with a new one with a new physical ID. For example, if you update the Engine property of an AWS::RDS::DBInstance resource type, AWS CloudFormation creates a new resource and replaces the current DB instance resource with the new one. The UpdateReplacePolicy attribute would then dictate whether AWS CloudFormation deleted, retained, or created a snapshot of the old DB instance. The update behavior for each property of a resource is specified in the reference topic for that resource in the AWS Resource and Property Types Reference. For more information on resource update behavior, see Update Behaviors of Stack Resources. The UpdateReplacePolicy attribute applies to stack updates you perform directly, as well as stack updates performed using change sets. Note Resources that are retained continue to exist and continue to incur applicable charges until you delete those resources. Snapshots that are created with this policy continue to exist and continue to incur applicable charges until you delete those snapshots. UpdateReplacePolicy retains the old physical resource or snapshot, but removes it from AWS CloudFormation's scope. UpdateReplacePolicy differs from the DeletionPolicy attribute in that it only applies to resources replaced during stack updates. Use DeletionPolicy for resources deleted when a stack is deleted, or when the resource definition itself is deleted from the template as part of a stack update. You must use one of the following options: "Delete","Retain","Snapshot" .PARAMETER DependsOn With the DependsOn attribute you can specify that the creation of a specific resource follows another. When you add a DependsOn attribute to a resource, that resource is created only after the creation of the resource specified in the DependsOn attribute. This parameter takes a string or list of strings representing Logical IDs of resources that must be created prior to this resource being created. .PARAMETER Metadata The Metadata attribute enables you to associate structured data with a resource. By adding a Metadata attribute to a resource, you can add data in JSON or YAML to the resource declaration. In addition, you can use intrinsic functions (such as GetAtt and Ref), parameters, and pseudo parameters within the Metadata attribute to add those interpreted values. This will be returned when describing the resource using AWS CLI. .PARAMETER UpdatePolicy Use the UpdatePolicy attribute to specify how AWS CloudFormation handles updates to the AWS::AutoScaling::AutoScalingGroup resource. AWS CloudFormation invokes one of three update policies depending on the type of change you make or whether a scheduled action is associated with the Auto Scaling group. You must use the "Add-UpdatePolicy" function or the [UpdatePolicy] class here. .PARAMETER Condition Logical ID of the condition that this resource needs to be true in order for this resource to be provisioned. .FUNCTIONALITY Vaporshell #> [OutputType([GlueMLTransform])] [cmdletbinding()] Param( [parameter(Mandatory = $true,Position = 0)] [ValidateLogicalId()] [string] $LogicalId, [parameter(Mandatory = $false)] [object] $MaxRetries, [parameter(Mandatory = $false)] [object] $Description, [parameter(Mandatory = $false)] $TransformEncryption, [parameter(Mandatory = $false)] [object] $Timeout, [parameter(Mandatory = $false)] [object] $Name, [parameter(Mandatory = $true)] [object] $Role, [parameter(Mandatory = $false)] [object] $WorkerType, [parameter(Mandatory = $false)] [object] $GlueVersion, [parameter(Mandatory = $true)] $TransformParameters, [parameter(Mandatory = $true)] $InputRecordTables, [parameter(Mandatory = $false)] [object] $NumberOfWorkers, [parameter(Mandatory = $false)] [VSJson] $Tags, [parameter(Mandatory = $false)] [object] $MaxCapacity, [parameter()] [DeletionPolicy] $DeletionPolicy, [parameter()] [UpdateReplacePolicy] $UpdateReplacePolicy, [parameter(Mandatory = $false)] [string[]] $DependsOn, [parameter(Mandatory = $false)] [VSJson] $Metadata, [parameter(Mandatory = $false)] [UpdatePolicy] $UpdatePolicy, [parameter(Mandatory = $false)] [string] $Condition ) Process { $obj = [GlueMLTransform]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'New-VSGlueMLTransform' function New-VSGluePartition { <# .SYNOPSIS Adds an AWS::Glue::Partition resource to the template. The AWS::Glue::Partition resource creates an AWS Glue partition, which represents a slice of table data. For more information, see CreatePartition Action: https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-partitions.html#aws-glue-api-catalog-partitions-CreatePartition and Partition Structure: https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-partitions.html#aws-glue-api-catalog-partitions-Partition in the *AWS Glue Developer Guide*. .DESCRIPTION Adds an AWS::Glue::Partition resource to the template. The AWS::Glue::Partition resource creates an AWS Glue partition, which represents a slice of table data. For more information, see CreatePartition Action: https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-partitions.html#aws-glue-api-catalog-partitions-CreatePartition and Partition Structure: https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-partitions.html#aws-glue-api-catalog-partitions-Partition in the *AWS Glue Developer Guide*. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-partition.html .PARAMETER LogicalId The logical ID must be alphanumeric (A-Za-z0-9) and unique within the template. Use the logical name to reference the resource in other parts of the template. For example, if you want to map an Amazon Elastic Block Store volume to an Amazon EC2 instance, you reference the logical IDs to associate the block stores with the instance. .PARAMETER TableName The name of the metadata table in which the partition is to be created. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-partition.html#cfn-glue-partition-tablename PrimitiveType: String UpdateType: Immutable .PARAMETER DatabaseName The name of the catalog database in which to create the partition. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-partition.html#cfn-glue-partition-databasename PrimitiveType: String UpdateType: Immutable .PARAMETER CatalogId The AWS account ID of the catalog in which the partion is to be created. To specify the account ID, you can use the Ref intrinsic function with the AWS::AccountId pseudo parameter. For example: !Ref AWS::AccountId Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-partition.html#cfn-glue-partition-catalogid PrimitiveType: String UpdateType: Immutable .PARAMETER PartitionInput The structure used to create and update a partition. Type: PartitionInput Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-partition.html#cfn-glue-partition-partitioninput UpdateType: Mutable .PARAMETER DeletionPolicy With the DeletionPolicy attribute you can preserve or (in some cases) backup a resource when its stack is deleted. You specify a DeletionPolicy attribute for each resource that you want to control. If a resource has no DeletionPolicy attribute, AWS CloudFormation deletes the resource by default. To keep a resource when its stack is deleted, specify Retain for that resource. You can use retain for any resource. For example, you can retain a nested stack, S3 bucket, or EC2 instance so that you can continue to use or modify those resources after you delete their stacks. You must use one of the following options: "Delete","Retain","Snapshot" .PARAMETER UpdateReplacePolicy Use the UpdateReplacePolicy attribute to retain or (in some cases) backup the existing physical instance of a resource when it is replaced during a stack update operation. When you initiate a stack update, AWS CloudFormation updates resources based on differences between what you submit and the stack's current template and parameters. If you update a resource property that requires that the resource be replaced, AWS CloudFormation recreates the resource during the update. Recreating the resource generates a new physical ID. AWS CloudFormation creates the replacement resource first, and then changes references from other dependent resources to point to the replacement resource. By default, AWS CloudFormation then deletes the old resource. Using the UpdateReplacePolicy, you can specify that AWS CloudFormation retain or (in some cases) create a snapshot of the old resource. For resources that support snapshots, such as AWS::EC2::Volume, specify Snapshot to have AWS CloudFormation create a snapshot before deleting the old resource instance. You can apply the UpdateReplacePolicy attribute to any resource. UpdateReplacePolicy is only executed if you update a resource property whose update behavior is specified as Replacement, thereby causing AWS CloudFormation to replace the old resource with a new one with a new physical ID. For example, if you update the Engine property of an AWS::RDS::DBInstance resource type, AWS CloudFormation creates a new resource and replaces the current DB instance resource with the new one. The UpdateReplacePolicy attribute would then dictate whether AWS CloudFormation deleted, retained, or created a snapshot of the old DB instance. The update behavior for each property of a resource is specified in the reference topic for that resource in the AWS Resource and Property Types Reference. For more information on resource update behavior, see Update Behaviors of Stack Resources. The UpdateReplacePolicy attribute applies to stack updates you perform directly, as well as stack updates performed using change sets. Note Resources that are retained continue to exist and continue to incur applicable charges until you delete those resources. Snapshots that are created with this policy continue to exist and continue to incur applicable charges until you delete those snapshots. UpdateReplacePolicy retains the old physical resource or snapshot, but removes it from AWS CloudFormation's scope. UpdateReplacePolicy differs from the DeletionPolicy attribute in that it only applies to resources replaced during stack updates. Use DeletionPolicy for resources deleted when a stack is deleted, or when the resource definition itself is deleted from the template as part of a stack update. You must use one of the following options: "Delete","Retain","Snapshot" .PARAMETER DependsOn With the DependsOn attribute you can specify that the creation of a specific resource follows another. When you add a DependsOn attribute to a resource, that resource is created only after the creation of the resource specified in the DependsOn attribute. This parameter takes a string or list of strings representing Logical IDs of resources that must be created prior to this resource being created. .PARAMETER Metadata The Metadata attribute enables you to associate structured data with a resource. By adding a Metadata attribute to a resource, you can add data in JSON or YAML to the resource declaration. In addition, you can use intrinsic functions (such as GetAtt and Ref), parameters, and pseudo parameters within the Metadata attribute to add those interpreted values. This will be returned when describing the resource using AWS CLI. .PARAMETER UpdatePolicy Use the UpdatePolicy attribute to specify how AWS CloudFormation handles updates to the AWS::AutoScaling::AutoScalingGroup resource. AWS CloudFormation invokes one of three update policies depending on the type of change you make or whether a scheduled action is associated with the Auto Scaling group. You must use the "Add-UpdatePolicy" function or the [UpdatePolicy] class here. .PARAMETER Condition Logical ID of the condition that this resource needs to be true in order for this resource to be provisioned. .FUNCTIONALITY Vaporshell #> [OutputType([GluePartition])] [cmdletbinding()] Param( [parameter(Mandatory = $true,Position = 0)] [ValidateLogicalId()] [string] $LogicalId, [parameter(Mandatory = $true)] [object] $TableName, [parameter(Mandatory = $true)] [object] $DatabaseName, [parameter(Mandatory = $true)] [object] $CatalogId, [parameter(Mandatory = $true)] $PartitionInput, [parameter()] [DeletionPolicy] $DeletionPolicy, [parameter()] [UpdateReplacePolicy] $UpdateReplacePolicy, [parameter(Mandatory = $false)] [string[]] $DependsOn, [parameter(Mandatory = $false)] [VSJson] $Metadata, [parameter(Mandatory = $false)] [UpdatePolicy] $UpdatePolicy, [parameter(Mandatory = $false)] [string] $Condition ) Process { $obj = [GluePartition]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'New-VSGluePartition' function New-VSGlueRegistry { <# .SYNOPSIS Adds an AWS::Glue::Registry resource to the template. .DESCRIPTION Adds an AWS::Glue::Registry resource to the template. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-registry.html .PARAMETER LogicalId The logical ID must be alphanumeric (A-Za-z0-9) and unique within the template. Use the logical name to reference the resource in other parts of the template. For example, if you want to map an Amazon Elastic Block Store volume to an Amazon EC2 instance, you reference the logical IDs to associate the block stores with the instance. .PARAMETER Name Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-registry.html#cfn-glue-registry-name UpdateType: Immutable PrimitiveType: String .PARAMETER Description Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-registry.html#cfn-glue-registry-description UpdateType: Mutable PrimitiveType: String .PARAMETER Tags Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-registry.html#cfn-glue-registry-tags UpdateType: Mutable Type: List ItemType: Tag .PARAMETER DeletionPolicy With the DeletionPolicy attribute you can preserve or (in some cases) backup a resource when its stack is deleted. You specify a DeletionPolicy attribute for each resource that you want to control. If a resource has no DeletionPolicy attribute, AWS CloudFormation deletes the resource by default. To keep a resource when its stack is deleted, specify Retain for that resource. You can use retain for any resource. For example, you can retain a nested stack, S3 bucket, or EC2 instance so that you can continue to use or modify those resources after you delete their stacks. You must use one of the following options: "Delete","Retain","Snapshot" .PARAMETER UpdateReplacePolicy Use the UpdateReplacePolicy attribute to retain or (in some cases) backup the existing physical instance of a resource when it is replaced during a stack update operation. When you initiate a stack update, AWS CloudFormation updates resources based on differences between what you submit and the stack's current template and parameters. If you update a resource property that requires that the resource be replaced, AWS CloudFormation recreates the resource during the update. Recreating the resource generates a new physical ID. AWS CloudFormation creates the replacement resource first, and then changes references from other dependent resources to point to the replacement resource. By default, AWS CloudFormation then deletes the old resource. Using the UpdateReplacePolicy, you can specify that AWS CloudFormation retain or (in some cases) create a snapshot of the old resource. For resources that support snapshots, such as AWS::EC2::Volume, specify Snapshot to have AWS CloudFormation create a snapshot before deleting the old resource instance. You can apply the UpdateReplacePolicy attribute to any resource. UpdateReplacePolicy is only executed if you update a resource property whose update behavior is specified as Replacement, thereby causing AWS CloudFormation to replace the old resource with a new one with a new physical ID. For example, if you update the Engine property of an AWS::RDS::DBInstance resource type, AWS CloudFormation creates a new resource and replaces the current DB instance resource with the new one. The UpdateReplacePolicy attribute would then dictate whether AWS CloudFormation deleted, retained, or created a snapshot of the old DB instance. The update behavior for each property of a resource is specified in the reference topic for that resource in the AWS Resource and Property Types Reference. For more information on resource update behavior, see Update Behaviors of Stack Resources. The UpdateReplacePolicy attribute applies to stack updates you perform directly, as well as stack updates performed using change sets. Note Resources that are retained continue to exist and continue to incur applicable charges until you delete those resources. Snapshots that are created with this policy continue to exist and continue to incur applicable charges until you delete those snapshots. UpdateReplacePolicy retains the old physical resource or snapshot, but removes it from AWS CloudFormation's scope. UpdateReplacePolicy differs from the DeletionPolicy attribute in that it only applies to resources replaced during stack updates. Use DeletionPolicy for resources deleted when a stack is deleted, or when the resource definition itself is deleted from the template as part of a stack update. You must use one of the following options: "Delete","Retain","Snapshot" .PARAMETER DependsOn With the DependsOn attribute you can specify that the creation of a specific resource follows another. When you add a DependsOn attribute to a resource, that resource is created only after the creation of the resource specified in the DependsOn attribute. This parameter takes a string or list of strings representing Logical IDs of resources that must be created prior to this resource being created. .PARAMETER Metadata The Metadata attribute enables you to associate structured data with a resource. By adding a Metadata attribute to a resource, you can add data in JSON or YAML to the resource declaration. In addition, you can use intrinsic functions (such as GetAtt and Ref), parameters, and pseudo parameters within the Metadata attribute to add those interpreted values. This will be returned when describing the resource using AWS CLI. .PARAMETER UpdatePolicy Use the UpdatePolicy attribute to specify how AWS CloudFormation handles updates to the AWS::AutoScaling::AutoScalingGroup resource. AWS CloudFormation invokes one of three update policies depending on the type of change you make or whether a scheduled action is associated with the Auto Scaling group. You must use the "Add-UpdatePolicy" function or the [UpdatePolicy] class here. .PARAMETER Condition Logical ID of the condition that this resource needs to be true in order for this resource to be provisioned. .FUNCTIONALITY Vaporshell #> [OutputType([GlueRegistry])] [cmdletbinding()] Param( [parameter(Mandatory = $true,Position = 0)] [ValidateLogicalId()] [string] $LogicalId, [parameter(Mandatory = $true)] [object] $Name, [parameter(Mandatory = $false)] [object] $Description, [TransformTag()] [object] [parameter(Mandatory = $false)] $Tags, [parameter()] [DeletionPolicy] $DeletionPolicy, [parameter()] [UpdateReplacePolicy] $UpdateReplacePolicy, [parameter(Mandatory = $false)] [string[]] $DependsOn, [parameter(Mandatory = $false)] [VSJson] $Metadata, [parameter(Mandatory = $false)] [UpdatePolicy] $UpdatePolicy, [parameter(Mandatory = $false)] [string] $Condition ) Process { $obj = [GlueRegistry]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'New-VSGlueRegistry' function New-VSGlueSchema { <# .SYNOPSIS Adds an AWS::Glue::Schema resource to the template. .DESCRIPTION Adds an AWS::Glue::Schema resource to the template. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schema.html .PARAMETER LogicalId The logical ID must be alphanumeric (A-Za-z0-9) and unique within the template. Use the logical name to reference the resource in other parts of the template. For example, if you want to map an Amazon Elastic Block Store volume to an Amazon EC2 instance, you reference the logical IDs to associate the block stores with the instance. .PARAMETER Registry Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schema.html#cfn-glue-schema-registry UpdateType: Immutable Type: Registry .PARAMETER Name Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schema.html#cfn-glue-schema-name UpdateType: Immutable PrimitiveType: String .PARAMETER Description Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schema.html#cfn-glue-schema-description UpdateType: Mutable PrimitiveType: String .PARAMETER DataFormat Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schema.html#cfn-glue-schema-dataformat UpdateType: Immutable PrimitiveType: String .PARAMETER Compatibility Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schema.html#cfn-glue-schema-compatibility UpdateType: Mutable PrimitiveType: String .PARAMETER SchemaDefinition Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schema.html#cfn-glue-schema-schemadefinition UpdateType: Immutable PrimitiveType: String .PARAMETER CheckpointVersion Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schema.html#cfn-glue-schema-checkpointversion UpdateType: Mutable Type: SchemaVersion .PARAMETER Tags Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schema.html#cfn-glue-schema-tags UpdateType: Mutable Type: List ItemType: Tag .PARAMETER DeletionPolicy With the DeletionPolicy attribute you can preserve or (in some cases) backup a resource when its stack is deleted. You specify a DeletionPolicy attribute for each resource that you want to control. If a resource has no DeletionPolicy attribute, AWS CloudFormation deletes the resource by default. To keep a resource when its stack is deleted, specify Retain for that resource. You can use retain for any resource. For example, you can retain a nested stack, S3 bucket, or EC2 instance so that you can continue to use or modify those resources after you delete their stacks. You must use one of the following options: "Delete","Retain","Snapshot" .PARAMETER UpdateReplacePolicy Use the UpdateReplacePolicy attribute to retain or (in some cases) backup the existing physical instance of a resource when it is replaced during a stack update operation. When you initiate a stack update, AWS CloudFormation updates resources based on differences between what you submit and the stack's current template and parameters. If you update a resource property that requires that the resource be replaced, AWS CloudFormation recreates the resource during the update. Recreating the resource generates a new physical ID. AWS CloudFormation creates the replacement resource first, and then changes references from other dependent resources to point to the replacement resource. By default, AWS CloudFormation then deletes the old resource. Using the UpdateReplacePolicy, you can specify that AWS CloudFormation retain or (in some cases) create a snapshot of the old resource. For resources that support snapshots, such as AWS::EC2::Volume, specify Snapshot to have AWS CloudFormation create a snapshot before deleting the old resource instance. You can apply the UpdateReplacePolicy attribute to any resource. UpdateReplacePolicy is only executed if you update a resource property whose update behavior is specified as Replacement, thereby causing AWS CloudFormation to replace the old resource with a new one with a new physical ID. For example, if you update the Engine property of an AWS::RDS::DBInstance resource type, AWS CloudFormation creates a new resource and replaces the current DB instance resource with the new one. The UpdateReplacePolicy attribute would then dictate whether AWS CloudFormation deleted, retained, or created a snapshot of the old DB instance. The update behavior for each property of a resource is specified in the reference topic for that resource in the AWS Resource and Property Types Reference. For more information on resource update behavior, see Update Behaviors of Stack Resources. The UpdateReplacePolicy attribute applies to stack updates you perform directly, as well as stack updates performed using change sets. Note Resources that are retained continue to exist and continue to incur applicable charges until you delete those resources. Snapshots that are created with this policy continue to exist and continue to incur applicable charges until you delete those snapshots. UpdateReplacePolicy retains the old physical resource or snapshot, but removes it from AWS CloudFormation's scope. UpdateReplacePolicy differs from the DeletionPolicy attribute in that it only applies to resources replaced during stack updates. Use DeletionPolicy for resources deleted when a stack is deleted, or when the resource definition itself is deleted from the template as part of a stack update. You must use one of the following options: "Delete","Retain","Snapshot" .PARAMETER DependsOn With the DependsOn attribute you can specify that the creation of a specific resource follows another. When you add a DependsOn attribute to a resource, that resource is created only after the creation of the resource specified in the DependsOn attribute. This parameter takes a string or list of strings representing Logical IDs of resources that must be created prior to this resource being created. .PARAMETER Metadata The Metadata attribute enables you to associate structured data with a resource. By adding a Metadata attribute to a resource, you can add data in JSON or YAML to the resource declaration. In addition, you can use intrinsic functions (such as GetAtt and Ref), parameters, and pseudo parameters within the Metadata attribute to add those interpreted values. This will be returned when describing the resource using AWS CLI. .PARAMETER UpdatePolicy Use the UpdatePolicy attribute to specify how AWS CloudFormation handles updates to the AWS::AutoScaling::AutoScalingGroup resource. AWS CloudFormation invokes one of three update policies depending on the type of change you make or whether a scheduled action is associated with the Auto Scaling group. You must use the "Add-UpdatePolicy" function or the [UpdatePolicy] class here. .PARAMETER Condition Logical ID of the condition that this resource needs to be true in order for this resource to be provisioned. .FUNCTIONALITY Vaporshell #> [OutputType([GlueSchema])] [cmdletbinding()] Param( [parameter(Mandatory = $true,Position = 0)] [ValidateLogicalId()] [string] $LogicalId, [parameter(Mandatory = $false)] $Registry, [parameter(Mandatory = $true)] [object] $Name, [parameter(Mandatory = $false)] [object] $Description, [parameter(Mandatory = $true)] [object] $DataFormat, [parameter(Mandatory = $true)] [object] $Compatibility, [parameter(Mandatory = $true)] [object] $SchemaDefinition, [parameter(Mandatory = $false)] $CheckpointVersion, [TransformTag()] [object] [parameter(Mandatory = $false)] $Tags, [parameter()] [DeletionPolicy] $DeletionPolicy, [parameter()] [UpdateReplacePolicy] $UpdateReplacePolicy, [parameter(Mandatory = $false)] [string[]] $DependsOn, [parameter(Mandatory = $false)] [VSJson] $Metadata, [parameter(Mandatory = $false)] [UpdatePolicy] $UpdatePolicy, [parameter(Mandatory = $false)] [string] $Condition ) Process { $obj = [GlueSchema]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'New-VSGlueSchema' function New-VSGlueSchemaVersion { <# .SYNOPSIS Adds an AWS::Glue::SchemaVersion resource to the template. .DESCRIPTION Adds an AWS::Glue::SchemaVersion resource to the template. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schemaversion.html .PARAMETER LogicalId The logical ID must be alphanumeric (A-Za-z0-9) and unique within the template. Use the logical name to reference the resource in other parts of the template. For example, if you want to map an Amazon Elastic Block Store volume to an Amazon EC2 instance, you reference the logical IDs to associate the block stores with the instance. .PARAMETER Schema Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schemaversion.html#cfn-glue-schemaversion-schema UpdateType: Immutable Type: Schema .PARAMETER SchemaDefinition Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schemaversion.html#cfn-glue-schemaversion-schemadefinition UpdateType: Immutable PrimitiveType: String .PARAMETER DeletionPolicy With the DeletionPolicy attribute you can preserve or (in some cases) backup a resource when its stack is deleted. You specify a DeletionPolicy attribute for each resource that you want to control. If a resource has no DeletionPolicy attribute, AWS CloudFormation deletes the resource by default. To keep a resource when its stack is deleted, specify Retain for that resource. You can use retain for any resource. For example, you can retain a nested stack, S3 bucket, or EC2 instance so that you can continue to use or modify those resources after you delete their stacks. You must use one of the following options: "Delete","Retain","Snapshot" .PARAMETER UpdateReplacePolicy Use the UpdateReplacePolicy attribute to retain or (in some cases) backup the existing physical instance of a resource when it is replaced during a stack update operation. When you initiate a stack update, AWS CloudFormation updates resources based on differences between what you submit and the stack's current template and parameters. If you update a resource property that requires that the resource be replaced, AWS CloudFormation recreates the resource during the update. Recreating the resource generates a new physical ID. AWS CloudFormation creates the replacement resource first, and then changes references from other dependent resources to point to the replacement resource. By default, AWS CloudFormation then deletes the old resource. Using the UpdateReplacePolicy, you can specify that AWS CloudFormation retain or (in some cases) create a snapshot of the old resource. For resources that support snapshots, such as AWS::EC2::Volume, specify Snapshot to have AWS CloudFormation create a snapshot before deleting the old resource instance. You can apply the UpdateReplacePolicy attribute to any resource. UpdateReplacePolicy is only executed if you update a resource property whose update behavior is specified as Replacement, thereby causing AWS CloudFormation to replace the old resource with a new one with a new physical ID. For example, if you update the Engine property of an AWS::RDS::DBInstance resource type, AWS CloudFormation creates a new resource and replaces the current DB instance resource with the new one. The UpdateReplacePolicy attribute would then dictate whether AWS CloudFormation deleted, retained, or created a snapshot of the old DB instance. The update behavior for each property of a resource is specified in the reference topic for that resource in the AWS Resource and Property Types Reference. For more information on resource update behavior, see Update Behaviors of Stack Resources. The UpdateReplacePolicy attribute applies to stack updates you perform directly, as well as stack updates performed using change sets. Note Resources that are retained continue to exist and continue to incur applicable charges until you delete those resources. Snapshots that are created with this policy continue to exist and continue to incur applicable charges until you delete those snapshots. UpdateReplacePolicy retains the old physical resource or snapshot, but removes it from AWS CloudFormation's scope. UpdateReplacePolicy differs from the DeletionPolicy attribute in that it only applies to resources replaced during stack updates. Use DeletionPolicy for resources deleted when a stack is deleted, or when the resource definition itself is deleted from the template as part of a stack update. You must use one of the following options: "Delete","Retain","Snapshot" .PARAMETER DependsOn With the DependsOn attribute you can specify that the creation of a specific resource follows another. When you add a DependsOn attribute to a resource, that resource is created only after the creation of the resource specified in the DependsOn attribute. This parameter takes a string or list of strings representing Logical IDs of resources that must be created prior to this resource being created. .PARAMETER Metadata The Metadata attribute enables you to associate structured data with a resource. By adding a Metadata attribute to a resource, you can add data in JSON or YAML to the resource declaration. In addition, you can use intrinsic functions (such as GetAtt and Ref), parameters, and pseudo parameters within the Metadata attribute to add those interpreted values. This will be returned when describing the resource using AWS CLI. .PARAMETER UpdatePolicy Use the UpdatePolicy attribute to specify how AWS CloudFormation handles updates to the AWS::AutoScaling::AutoScalingGroup resource. AWS CloudFormation invokes one of three update policies depending on the type of change you make or whether a scheduled action is associated with the Auto Scaling group. You must use the "Add-UpdatePolicy" function or the [UpdatePolicy] class here. .PARAMETER Condition Logical ID of the condition that this resource needs to be true in order for this resource to be provisioned. .FUNCTIONALITY Vaporshell #> [OutputType([GlueSchemaVersion])] [cmdletbinding()] Param( [parameter(Mandatory = $true,Position = 0)] [ValidateLogicalId()] [string] $LogicalId, [parameter(Mandatory = $true)] $Schema, [parameter(Mandatory = $true)] [object] $SchemaDefinition, [parameter()] [DeletionPolicy] $DeletionPolicy, [parameter()] [UpdateReplacePolicy] $UpdateReplacePolicy, [parameter(Mandatory = $false)] [string[]] $DependsOn, [parameter(Mandatory = $false)] [VSJson] $Metadata, [parameter(Mandatory = $false)] [UpdatePolicy] $UpdatePolicy, [parameter(Mandatory = $false)] [string] $Condition ) Process { $obj = [GlueSchemaVersion]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'New-VSGlueSchemaVersion' function New-VSGlueSchemaVersionMetadata { <# .SYNOPSIS Adds an AWS::Glue::SchemaVersionMetadata resource to the template. .DESCRIPTION Adds an AWS::Glue::SchemaVersionMetadata resource to the template. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schemaversionmetadata.html .PARAMETER LogicalId The logical ID must be alphanumeric (A-Za-z0-9) and unique within the template. Use the logical name to reference the resource in other parts of the template. For example, if you want to map an Amazon Elastic Block Store volume to an Amazon EC2 instance, you reference the logical IDs to associate the block stores with the instance. .PARAMETER SchemaVersionId Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schemaversionmetadata.html#cfn-glue-schemaversionmetadata-schemaversionid UpdateType: Immutable PrimitiveType: String .PARAMETER Key Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schemaversionmetadata.html#cfn-glue-schemaversionmetadata-key UpdateType: Immutable PrimitiveType: String .PARAMETER Value Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schemaversionmetadata.html#cfn-glue-schemaversionmetadata-value UpdateType: Immutable PrimitiveType: String .PARAMETER DeletionPolicy With the DeletionPolicy attribute you can preserve or (in some cases) backup a resource when its stack is deleted. You specify a DeletionPolicy attribute for each resource that you want to control. If a resource has no DeletionPolicy attribute, AWS CloudFormation deletes the resource by default. To keep a resource when its stack is deleted, specify Retain for that resource. You can use retain for any resource. For example, you can retain a nested stack, S3 bucket, or EC2 instance so that you can continue to use or modify those resources after you delete their stacks. You must use one of the following options: "Delete","Retain","Snapshot" .PARAMETER UpdateReplacePolicy Use the UpdateReplacePolicy attribute to retain or (in some cases) backup the existing physical instance of a resource when it is replaced during a stack update operation. When you initiate a stack update, AWS CloudFormation updates resources based on differences between what you submit and the stack's current template and parameters. If you update a resource property that requires that the resource be replaced, AWS CloudFormation recreates the resource during the update. Recreating the resource generates a new physical ID. AWS CloudFormation creates the replacement resource first, and then changes references from other dependent resources to point to the replacement resource. By default, AWS CloudFormation then deletes the old resource. Using the UpdateReplacePolicy, you can specify that AWS CloudFormation retain or (in some cases) create a snapshot of the old resource. For resources that support snapshots, such as AWS::EC2::Volume, specify Snapshot to have AWS CloudFormation create a snapshot before deleting the old resource instance. You can apply the UpdateReplacePolicy attribute to any resource. UpdateReplacePolicy is only executed if you update a resource property whose update behavior is specified as Replacement, thereby causing AWS CloudFormation to replace the old resource with a new one with a new physical ID. For example, if you update the Engine property of an AWS::RDS::DBInstance resource type, AWS CloudFormation creates a new resource and replaces the current DB instance resource with the new one. The UpdateReplacePolicy attribute would then dictate whether AWS CloudFormation deleted, retained, or created a snapshot of the old DB instance. The update behavior for each property of a resource is specified in the reference topic for that resource in the AWS Resource and Property Types Reference. For more information on resource update behavior, see Update Behaviors of Stack Resources. The UpdateReplacePolicy attribute applies to stack updates you perform directly, as well as stack updates performed using change sets. Note Resources that are retained continue to exist and continue to incur applicable charges until you delete those resources. Snapshots that are created with this policy continue to exist and continue to incur applicable charges until you delete those snapshots. UpdateReplacePolicy retains the old physical resource or snapshot, but removes it from AWS CloudFormation's scope. UpdateReplacePolicy differs from the DeletionPolicy attribute in that it only applies to resources replaced during stack updates. Use DeletionPolicy for resources deleted when a stack is deleted, or when the resource definition itself is deleted from the template as part of a stack update. You must use one of the following options: "Delete","Retain","Snapshot" .PARAMETER DependsOn With the DependsOn attribute you can specify that the creation of a specific resource follows another. When you add a DependsOn attribute to a resource, that resource is created only after the creation of the resource specified in the DependsOn attribute. This parameter takes a string or list of strings representing Logical IDs of resources that must be created prior to this resource being created. .PARAMETER Metadata The Metadata attribute enables you to associate structured data with a resource. By adding a Metadata attribute to a resource, you can add data in JSON or YAML to the resource declaration. In addition, you can use intrinsic functions (such as GetAtt and Ref), parameters, and pseudo parameters within the Metadata attribute to add those interpreted values. This will be returned when describing the resource using AWS CLI. .PARAMETER UpdatePolicy Use the UpdatePolicy attribute to specify how AWS CloudFormation handles updates to the AWS::AutoScaling::AutoScalingGroup resource. AWS CloudFormation invokes one of three update policies depending on the type of change you make or whether a scheduled action is associated with the Auto Scaling group. You must use the "Add-UpdatePolicy" function or the [UpdatePolicy] class here. .PARAMETER Condition Logical ID of the condition that this resource needs to be true in order for this resource to be provisioned. .FUNCTIONALITY Vaporshell #> [OutputType([GlueSchemaVersionMetadata])] [cmdletbinding()] Param( [parameter(Mandatory = $true,Position = 0)] [ValidateLogicalId()] [string] $LogicalId, [parameter(Mandatory = $true)] [object] $SchemaVersionId, [parameter(Mandatory = $true)] [object] $Key, [parameter(Mandatory = $true)] [object] $Value, [parameter()] [DeletionPolicy] $DeletionPolicy, [parameter()] [UpdateReplacePolicy] $UpdateReplacePolicy, [parameter(Mandatory = $false)] [string[]] $DependsOn, [parameter(Mandatory = $false)] [VSJson] $Metadata, [parameter(Mandatory = $false)] [UpdatePolicy] $UpdatePolicy, [parameter(Mandatory = $false)] [string] $Condition ) Process { $obj = [GlueSchemaVersionMetadata]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'New-VSGlueSchemaVersionMetadata' function New-VSGlueSecurityConfiguration { <# .SYNOPSIS Adds an AWS::Glue::SecurityConfiguration resource to the template. Creates a new security configuration. A security configuration is a set of security properties that can be used by AWS Glue. You can use a security configuration to encrypt data at rest. For information about using security configurations in AWS Glue, see Encrypting Data Written by Crawlers, Jobs, and Development Endpoints: https://docs.aws.amazon.com/glue/latest/dg/encryption-security-configuration.html. .DESCRIPTION Adds an AWS::Glue::SecurityConfiguration resource to the template. Creates a new security configuration. A security configuration is a set of security properties that can be used by AWS Glue. You can use a security configuration to encrypt data at rest. For information about using security configurations in AWS Glue, see Encrypting Data Written by Crawlers, Jobs, and Development Endpoints: https://docs.aws.amazon.com/glue/latest/dg/encryption-security-configuration.html. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-securityconfiguration.html .PARAMETER LogicalId The logical ID must be alphanumeric (A-Za-z0-9) and unique within the template. Use the logical name to reference the resource in other parts of the template. For example, if you want to map an Amazon Elastic Block Store volume to an Amazon EC2 instance, you reference the logical IDs to associate the block stores with the instance. .PARAMETER EncryptionConfiguration The encryption configuration associated with this security configuration. Type: EncryptionConfiguration Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-securityconfiguration.html#cfn-glue-securityconfiguration-encryptionconfiguration UpdateType: Mutable .PARAMETER Name The name of the security configuration. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-securityconfiguration.html#cfn-glue-securityconfiguration-name PrimitiveType: String UpdateType: Immutable .PARAMETER DeletionPolicy With the DeletionPolicy attribute you can preserve or (in some cases) backup a resource when its stack is deleted. You specify a DeletionPolicy attribute for each resource that you want to control. If a resource has no DeletionPolicy attribute, AWS CloudFormation deletes the resource by default. To keep a resource when its stack is deleted, specify Retain for that resource. You can use retain for any resource. For example, you can retain a nested stack, S3 bucket, or EC2 instance so that you can continue to use or modify those resources after you delete their stacks. You must use one of the following options: "Delete","Retain","Snapshot" .PARAMETER UpdateReplacePolicy Use the UpdateReplacePolicy attribute to retain or (in some cases) backup the existing physical instance of a resource when it is replaced during a stack update operation. When you initiate a stack update, AWS CloudFormation updates resources based on differences between what you submit and the stack's current template and parameters. If you update a resource property that requires that the resource be replaced, AWS CloudFormation recreates the resource during the update. Recreating the resource generates a new physical ID. AWS CloudFormation creates the replacement resource first, and then changes references from other dependent resources to point to the replacement resource. By default, AWS CloudFormation then deletes the old resource. Using the UpdateReplacePolicy, you can specify that AWS CloudFormation retain or (in some cases) create a snapshot of the old resource. For resources that support snapshots, such as AWS::EC2::Volume, specify Snapshot to have AWS CloudFormation create a snapshot before deleting the old resource instance. You can apply the UpdateReplacePolicy attribute to any resource. UpdateReplacePolicy is only executed if you update a resource property whose update behavior is specified as Replacement, thereby causing AWS CloudFormation to replace the old resource with a new one with a new physical ID. For example, if you update the Engine property of an AWS::RDS::DBInstance resource type, AWS CloudFormation creates a new resource and replaces the current DB instance resource with the new one. The UpdateReplacePolicy attribute would then dictate whether AWS CloudFormation deleted, retained, or created a snapshot of the old DB instance. The update behavior for each property of a resource is specified in the reference topic for that resource in the AWS Resource and Property Types Reference. For more information on resource update behavior, see Update Behaviors of Stack Resources. The UpdateReplacePolicy attribute applies to stack updates you perform directly, as well as stack updates performed using change sets. Note Resources that are retained continue to exist and continue to incur applicable charges until you delete those resources. Snapshots that are created with this policy continue to exist and continue to incur applicable charges until you delete those snapshots. UpdateReplacePolicy retains the old physical resource or snapshot, but removes it from AWS CloudFormation's scope. UpdateReplacePolicy differs from the DeletionPolicy attribute in that it only applies to resources replaced during stack updates. Use DeletionPolicy for resources deleted when a stack is deleted, or when the resource definition itself is deleted from the template as part of a stack update. You must use one of the following options: "Delete","Retain","Snapshot" .PARAMETER DependsOn With the DependsOn attribute you can specify that the creation of a specific resource follows another. When you add a DependsOn attribute to a resource, that resource is created only after the creation of the resource specified in the DependsOn attribute. This parameter takes a string or list of strings representing Logical IDs of resources that must be created prior to this resource being created. .PARAMETER Metadata The Metadata attribute enables you to associate structured data with a resource. By adding a Metadata attribute to a resource, you can add data in JSON or YAML to the resource declaration. In addition, you can use intrinsic functions (such as GetAtt and Ref), parameters, and pseudo parameters within the Metadata attribute to add those interpreted values. This will be returned when describing the resource using AWS CLI. .PARAMETER UpdatePolicy Use the UpdatePolicy attribute to specify how AWS CloudFormation handles updates to the AWS::AutoScaling::AutoScalingGroup resource. AWS CloudFormation invokes one of three update policies depending on the type of change you make or whether a scheduled action is associated with the Auto Scaling group. You must use the "Add-UpdatePolicy" function or the [UpdatePolicy] class here. .PARAMETER Condition Logical ID of the condition that this resource needs to be true in order for this resource to be provisioned. .FUNCTIONALITY Vaporshell #> [OutputType([GlueSecurityConfiguration])] [cmdletbinding()] Param( [parameter(Mandatory = $true,Position = 0)] [ValidateLogicalId()] [string] $LogicalId, [parameter(Mandatory = $true)] $EncryptionConfiguration, [parameter(Mandatory = $true)] [object] $Name, [parameter()] [DeletionPolicy] $DeletionPolicy, [parameter()] [UpdateReplacePolicy] $UpdateReplacePolicy, [parameter(Mandatory = $false)] [string[]] $DependsOn, [parameter(Mandatory = $false)] [VSJson] $Metadata, [parameter(Mandatory = $false)] [UpdatePolicy] $UpdatePolicy, [parameter(Mandatory = $false)] [string] $Condition ) Process { $obj = [GlueSecurityConfiguration]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'New-VSGlueSecurityConfiguration' function New-VSGlueTable { <# .SYNOPSIS Adds an AWS::Glue::Table resource to the template. The AWS::Glue::Table resource specifies tabular data in the AWS Glue data catalog. For more information, see Defining Tables in the AWS Glue Data Catalog: https://docs.aws.amazon.com/glue/latest/dg/tables-described.html and Table Structure : https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-tables.html#aws-glue-api-catalog-tables-Table in the *AWS Glue Developer Guide*. .DESCRIPTION Adds an AWS::Glue::Table resource to the template. The AWS::Glue::Table resource specifies tabular data in the AWS Glue data catalog. For more information, see Defining Tables in the AWS Glue Data Catalog: https://docs.aws.amazon.com/glue/latest/dg/tables-described.html and Table Structure : https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-tables.html#aws-glue-api-catalog-tables-Table in the *AWS Glue Developer Guide*. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-table.html .PARAMETER LogicalId The logical ID must be alphanumeric (A-Za-z0-9) and unique within the template. Use the logical name to reference the resource in other parts of the template. For example, if you want to map an Amazon Elastic Block Store volume to an Amazon EC2 instance, you reference the logical IDs to associate the block stores with the instance. .PARAMETER TableInput A structure used to define a table. Type: TableInput Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-table.html#cfn-glue-table-tableinput UpdateType: Mutable .PARAMETER DatabaseName The name of the database where the table metadata resides. For Hive compatibility, this must be all lowercase. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-table.html#cfn-glue-table-databasename PrimitiveType: String UpdateType: Immutable .PARAMETER CatalogId The ID of the Data Catalog in which to create the Table. If none is supplied, the AWS account ID is used by default. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-table.html#cfn-glue-table-catalogid PrimitiveType: String UpdateType: Immutable .PARAMETER DeletionPolicy With the DeletionPolicy attribute you can preserve or (in some cases) backup a resource when its stack is deleted. You specify a DeletionPolicy attribute for each resource that you want to control. If a resource has no DeletionPolicy attribute, AWS CloudFormation deletes the resource by default. To keep a resource when its stack is deleted, specify Retain for that resource. You can use retain for any resource. For example, you can retain a nested stack, S3 bucket, or EC2 instance so that you can continue to use or modify those resources after you delete their stacks. You must use one of the following options: "Delete","Retain","Snapshot" .PARAMETER UpdateReplacePolicy Use the UpdateReplacePolicy attribute to retain or (in some cases) backup the existing physical instance of a resource when it is replaced during a stack update operation. When you initiate a stack update, AWS CloudFormation updates resources based on differences between what you submit and the stack's current template and parameters. If you update a resource property that requires that the resource be replaced, AWS CloudFormation recreates the resource during the update. Recreating the resource generates a new physical ID. AWS CloudFormation creates the replacement resource first, and then changes references from other dependent resources to point to the replacement resource. By default, AWS CloudFormation then deletes the old resource. Using the UpdateReplacePolicy, you can specify that AWS CloudFormation retain or (in some cases) create a snapshot of the old resource. For resources that support snapshots, such as AWS::EC2::Volume, specify Snapshot to have AWS CloudFormation create a snapshot before deleting the old resource instance. You can apply the UpdateReplacePolicy attribute to any resource. UpdateReplacePolicy is only executed if you update a resource property whose update behavior is specified as Replacement, thereby causing AWS CloudFormation to replace the old resource with a new one with a new physical ID. For example, if you update the Engine property of an AWS::RDS::DBInstance resource type, AWS CloudFormation creates a new resource and replaces the current DB instance resource with the new one. The UpdateReplacePolicy attribute would then dictate whether AWS CloudFormation deleted, retained, or created a snapshot of the old DB instance. The update behavior for each property of a resource is specified in the reference topic for that resource in the AWS Resource and Property Types Reference. For more information on resource update behavior, see Update Behaviors of Stack Resources. The UpdateReplacePolicy attribute applies to stack updates you perform directly, as well as stack updates performed using change sets. Note Resources that are retained continue to exist and continue to incur applicable charges until you delete those resources. Snapshots that are created with this policy continue to exist and continue to incur applicable charges until you delete those snapshots. UpdateReplacePolicy retains the old physical resource or snapshot, but removes it from AWS CloudFormation's scope. UpdateReplacePolicy differs from the DeletionPolicy attribute in that it only applies to resources replaced during stack updates. Use DeletionPolicy for resources deleted when a stack is deleted, or when the resource definition itself is deleted from the template as part of a stack update. You must use one of the following options: "Delete","Retain","Snapshot" .PARAMETER DependsOn With the DependsOn attribute you can specify that the creation of a specific resource follows another. When you add a DependsOn attribute to a resource, that resource is created only after the creation of the resource specified in the DependsOn attribute. This parameter takes a string or list of strings representing Logical IDs of resources that must be created prior to this resource being created. .PARAMETER Metadata The Metadata attribute enables you to associate structured data with a resource. By adding a Metadata attribute to a resource, you can add data in JSON or YAML to the resource declaration. In addition, you can use intrinsic functions (such as GetAtt and Ref), parameters, and pseudo parameters within the Metadata attribute to add those interpreted values. This will be returned when describing the resource using AWS CLI. .PARAMETER UpdatePolicy Use the UpdatePolicy attribute to specify how AWS CloudFormation handles updates to the AWS::AutoScaling::AutoScalingGroup resource. AWS CloudFormation invokes one of three update policies depending on the type of change you make or whether a scheduled action is associated with the Auto Scaling group. You must use the "Add-UpdatePolicy" function or the [UpdatePolicy] class here. .PARAMETER Condition Logical ID of the condition that this resource needs to be true in order for this resource to be provisioned. .FUNCTIONALITY Vaporshell #> [OutputType([GlueTable])] [cmdletbinding()] Param( [parameter(Mandatory = $true,Position = 0)] [ValidateLogicalId()] [string] $LogicalId, [parameter(Mandatory = $true)] $TableInput, [parameter(Mandatory = $true)] [object] $DatabaseName, [parameter(Mandatory = $true)] [object] $CatalogId, [parameter()] [DeletionPolicy] $DeletionPolicy, [parameter()] [UpdateReplacePolicy] $UpdateReplacePolicy, [parameter(Mandatory = $false)] [string[]] $DependsOn, [parameter(Mandatory = $false)] [VSJson] $Metadata, [parameter(Mandatory = $false)] [UpdatePolicy] $UpdatePolicy, [parameter(Mandatory = $false)] [string] $Condition ) Process { $obj = [GlueTable]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'New-VSGlueTable' function New-VSGlueTrigger { <# .SYNOPSIS Adds an AWS::Glue::Trigger resource to the template. The AWS::Glue::Trigger resource specifies triggers that run AWS Glue jobs. For more information, see Triggering Jobs in AWS Glue: https://docs.aws.amazon.com/glue/latest/dg/trigger-job.html and Trigger Structure: https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-jobs-trigger.html#aws-glue-api-jobs-trigger-Trigger in the *AWS Glue Developer Guide*. .DESCRIPTION Adds an AWS::Glue::Trigger resource to the template. The AWS::Glue::Trigger resource specifies triggers that run AWS Glue jobs. For more information, see Triggering Jobs in AWS Glue: https://docs.aws.amazon.com/glue/latest/dg/trigger-job.html and Trigger Structure: https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-jobs-trigger.html#aws-glue-api-jobs-trigger-Trigger in the *AWS Glue Developer Guide*. .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html .PARAMETER LogicalId The logical ID must be alphanumeric (A-Za-z0-9) and unique within the template. Use the logical name to reference the resource in other parts of the template. For example, if you want to map an Amazon Elastic Block Store volume to an Amazon EC2 instance, you reference the logical IDs to associate the block stores with the instance. .PARAMETER Type The type of trigger that this is. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html#cfn-glue-trigger-type PrimitiveType: String UpdateType: Mutable .PARAMETER StartOnCreation Set to true to start SCHEDULED and CONDITIONAL triggers when created. True is not supported for ON_DEMAND triggers. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html#cfn-glue-trigger-startoncreation PrimitiveType: Boolean UpdateType: Mutable .PARAMETER Description A description of this trigger. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html#cfn-glue-trigger-description PrimitiveType: String UpdateType: Mutable .PARAMETER Actions The actions initiated by this trigger. Type: List Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html#cfn-glue-trigger-actions ItemType: Action UpdateType: Mutable .PARAMETER WorkflowName The name of the workflow associated with the trigger. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html#cfn-glue-trigger-workflowname PrimitiveType: String UpdateType: Immutable .PARAMETER Schedule A cron expression used to specify the schedule. For more information, see Time-Based Schedules for Jobs and Crawlers: https://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html in the *AWS Glue Developer Guide*. For example, to run something every day at 12:15 UTC, specify cron15 12 * * ? *. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html#cfn-glue-trigger-schedule PrimitiveType: String UpdateType: Mutable .PARAMETER Tags The tags to use with this trigger. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html#cfn-glue-trigger-tags PrimitiveType: Json UpdateType: Mutable .PARAMETER Name The name of the trigger. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html#cfn-glue-trigger-name PrimitiveType: String UpdateType: Immutable .PARAMETER Predicate The predicate of this trigger, which defines when it will fire. Type: Predicate Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html#cfn-glue-trigger-predicate UpdateType: Mutable .PARAMETER DeletionPolicy With the DeletionPolicy attribute you can preserve or (in some cases) backup a resource when its stack is deleted. You specify a DeletionPolicy attribute for each resource that you want to control. If a resource has no DeletionPolicy attribute, AWS CloudFormation deletes the resource by default. To keep a resource when its stack is deleted, specify Retain for that resource. You can use retain for any resource. For example, you can retain a nested stack, S3 bucket, or EC2 instance so that you can continue to use or modify those resources after you delete their stacks. You must use one of the following options: "Delete","Retain","Snapshot" .PARAMETER UpdateReplacePolicy Use the UpdateReplacePolicy attribute to retain or (in some cases) backup the existing physical instance of a resource when it is replaced during a stack update operation. When you initiate a stack update, AWS CloudFormation updates resources based on differences between what you submit and the stack's current template and parameters. If you update a resource property that requires that the resource be replaced, AWS CloudFormation recreates the resource during the update. Recreating the resource generates a new physical ID. AWS CloudFormation creates the replacement resource first, and then changes references from other dependent resources to point to the replacement resource. By default, AWS CloudFormation then deletes the old resource. Using the UpdateReplacePolicy, you can specify that AWS CloudFormation retain or (in some cases) create a snapshot of the old resource. For resources that support snapshots, such as AWS::EC2::Volume, specify Snapshot to have AWS CloudFormation create a snapshot before deleting the old resource instance. You can apply the UpdateReplacePolicy attribute to any resource. UpdateReplacePolicy is only executed if you update a resource property whose update behavior is specified as Replacement, thereby causing AWS CloudFormation to replace the old resource with a new one with a new physical ID. For example, if you update the Engine property of an AWS::RDS::DBInstance resource type, AWS CloudFormation creates a new resource and replaces the current DB instance resource with the new one. The UpdateReplacePolicy attribute would then dictate whether AWS CloudFormation deleted, retained, or created a snapshot of the old DB instance. The update behavior for each property of a resource is specified in the reference topic for that resource in the AWS Resource and Property Types Reference. For more information on resource update behavior, see Update Behaviors of Stack Resources. The UpdateReplacePolicy attribute applies to stack updates you perform directly, as well as stack updates performed using change sets. Note Resources that are retained continue to exist and continue to incur applicable charges until you delete those resources. Snapshots that are created with this policy continue to exist and continue to incur applicable charges until you delete those snapshots. UpdateReplacePolicy retains the old physical resource or snapshot, but removes it from AWS CloudFormation's scope. UpdateReplacePolicy differs from the DeletionPolicy attribute in that it only applies to resources replaced during stack updates. Use DeletionPolicy for resources deleted when a stack is deleted, or when the resource definition itself is deleted from the template as part of a stack update. You must use one of the following options: "Delete","Retain","Snapshot" .PARAMETER DependsOn With the DependsOn attribute you can specify that the creation of a specific resource follows another. When you add a DependsOn attribute to a resource, that resource is created only after the creation of the resource specified in the DependsOn attribute. This parameter takes a string or list of strings representing Logical IDs of resources that must be created prior to this resource being created. .PARAMETER Metadata The Metadata attribute enables you to associate structured data with a resource. By adding a Metadata attribute to a resource, you can add data in JSON or YAML to the resource declaration. In addition, you can use intrinsic functions (such as GetAtt and Ref), parameters, and pseudo parameters within the Metadata attribute to add those interpreted values. This will be returned when describing the resource using AWS CLI. .PARAMETER UpdatePolicy Use the UpdatePolicy attribute to specify how AWS CloudFormation handles updates to the AWS::AutoScaling::AutoScalingGroup resource. AWS CloudFormation invokes one of three update policies depending on the type of change you make or whether a scheduled action is associated with the Auto Scaling group. You must use the "Add-UpdatePolicy" function or the [UpdatePolicy] class here. .PARAMETER Condition Logical ID of the condition that this resource needs to be true in order for this resource to be provisioned. .FUNCTIONALITY Vaporshell #> [OutputType([GlueTrigger])] [cmdletbinding()] Param( [parameter(Mandatory = $true,Position = 0)] [ValidateLogicalId()] [string] $LogicalId, [parameter(Mandatory = $true)] [object] $Type, [parameter(Mandatory = $false)] [object] $StartOnCreation, [parameter(Mandatory = $false)] [object] $Description, [parameter(Mandatory = $true)] [object] $Actions, [parameter(Mandatory = $false)] [object] $WorkflowName, [parameter(Mandatory = $false)] [object] $Schedule, [parameter(Mandatory = $false)] [VSJson] $Tags, [parameter(Mandatory = $false)] [object] $Name, [parameter(Mandatory = $false)] $Predicate, [parameter()] [DeletionPolicy] $DeletionPolicy, [parameter()] [UpdateReplacePolicy] $UpdateReplacePolicy, [parameter(Mandatory = $false)] [string[]] $DependsOn, [parameter(Mandatory = $false)] [VSJson] $Metadata, [parameter(Mandatory = $false)] [UpdatePolicy] $UpdatePolicy, [parameter(Mandatory = $false)] [string] $Condition ) Process { $obj = [GlueTrigger]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'New-VSGlueTrigger' function New-VSGlueWorkflow { <# .SYNOPSIS Adds an AWS::Glue::Workflow resource to the template. The AWS::Glue::Workflow is an AWS Glue resource type that manages AWS Glue workflows. A workflow is a container for a set of related jobs, crawlers, and triggers in AWS Glue. Using a workflow, you can design a complex multi-job extract, transform, and load (ETL activity that AWS Glue can execute and track as single entity .DESCRIPTION Adds an AWS::Glue::Workflow resource to the template. The AWS::Glue::Workflow is an AWS Glue resource type that manages AWS Glue workflows. A workflow is a container for a set of related jobs, crawlers, and triggers in AWS Glue. Using a workflow, you can design a complex multi-job extract, transform, and load (ETL activity that AWS Glue can execute and track as single entity .LINK http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-workflow.html .PARAMETER LogicalId The logical ID must be alphanumeric (A-Za-z0-9) and unique within the template. Use the logical name to reference the resource in other parts of the template. For example, if you want to map an Amazon Elastic Block Store volume to an Amazon EC2 instance, you reference the logical IDs to associate the block stores with the instance. .PARAMETER Description A description of the workflow Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-workflow.html#cfn-glue-workflow-description PrimitiveType: String UpdateType: Mutable .PARAMETER DefaultRunProperties A collection of properties to be used as part of each execution of the workflow Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-workflow.html#cfn-glue-workflow-defaultrunproperties PrimitiveType: Json UpdateType: Mutable .PARAMETER Tags The tags to use with this workflow. Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-workflow.html#cfn-glue-workflow-tags PrimitiveType: Json UpdateType: Mutable .PARAMETER Name The name of the workflow representing the flow Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-workflow.html#cfn-glue-workflow-name PrimitiveType: String UpdateType: Immutable .PARAMETER DeletionPolicy With the DeletionPolicy attribute you can preserve or (in some cases) backup a resource when its stack is deleted. You specify a DeletionPolicy attribute for each resource that you want to control. If a resource has no DeletionPolicy attribute, AWS CloudFormation deletes the resource by default. To keep a resource when its stack is deleted, specify Retain for that resource. You can use retain for any resource. For example, you can retain a nested stack, S3 bucket, or EC2 instance so that you can continue to use or modify those resources after you delete their stacks. You must use one of the following options: "Delete","Retain","Snapshot" .PARAMETER UpdateReplacePolicy Use the UpdateReplacePolicy attribute to retain or (in some cases) backup the existing physical instance of a resource when it is replaced during a stack update operation. When you initiate a stack update, AWS CloudFormation updates resources based on differences between what you submit and the stack's current template and parameters. If you update a resource property that requires that the resource be replaced, AWS CloudFormation recreates the resource during the update. Recreating the resource generates a new physical ID. AWS CloudFormation creates the replacement resource first, and then changes references from other dependent resources to point to the replacement resource. By default, AWS CloudFormation then deletes the old resource. Using the UpdateReplacePolicy, you can specify that AWS CloudFormation retain or (in some cases) create a snapshot of the old resource. For resources that support snapshots, such as AWS::EC2::Volume, specify Snapshot to have AWS CloudFormation create a snapshot before deleting the old resource instance. You can apply the UpdateReplacePolicy attribute to any resource. UpdateReplacePolicy is only executed if you update a resource property whose update behavior is specified as Replacement, thereby causing AWS CloudFormation to replace the old resource with a new one with a new physical ID. For example, if you update the Engine property of an AWS::RDS::DBInstance resource type, AWS CloudFormation creates a new resource and replaces the current DB instance resource with the new one. The UpdateReplacePolicy attribute would then dictate whether AWS CloudFormation deleted, retained, or created a snapshot of the old DB instance. The update behavior for each property of a resource is specified in the reference topic for that resource in the AWS Resource and Property Types Reference. For more information on resource update behavior, see Update Behaviors of Stack Resources. The UpdateReplacePolicy attribute applies to stack updates you perform directly, as well as stack updates performed using change sets. Note Resources that are retained continue to exist and continue to incur applicable charges until you delete those resources. Snapshots that are created with this policy continue to exist and continue to incur applicable charges until you delete those snapshots. UpdateReplacePolicy retains the old physical resource or snapshot, but removes it from AWS CloudFormation's scope. UpdateReplacePolicy differs from the DeletionPolicy attribute in that it only applies to resources replaced during stack updates. Use DeletionPolicy for resources deleted when a stack is deleted, or when the resource definition itself is deleted from the template as part of a stack update. You must use one of the following options: "Delete","Retain","Snapshot" .PARAMETER DependsOn With the DependsOn attribute you can specify that the creation of a specific resource follows another. When you add a DependsOn attribute to a resource, that resource is created only after the creation of the resource specified in the DependsOn attribute. This parameter takes a string or list of strings representing Logical IDs of resources that must be created prior to this resource being created. .PARAMETER Metadata The Metadata attribute enables you to associate structured data with a resource. By adding a Metadata attribute to a resource, you can add data in JSON or YAML to the resource declaration. In addition, you can use intrinsic functions (such as GetAtt and Ref), parameters, and pseudo parameters within the Metadata attribute to add those interpreted values. This will be returned when describing the resource using AWS CLI. .PARAMETER UpdatePolicy Use the UpdatePolicy attribute to specify how AWS CloudFormation handles updates to the AWS::AutoScaling::AutoScalingGroup resource. AWS CloudFormation invokes one of three update policies depending on the type of change you make or whether a scheduled action is associated with the Auto Scaling group. You must use the "Add-UpdatePolicy" function or the [UpdatePolicy] class here. .PARAMETER Condition Logical ID of the condition that this resource needs to be true in order for this resource to be provisioned. .FUNCTIONALITY Vaporshell #> [OutputType([GlueWorkflow])] [cmdletbinding()] Param( [parameter(Mandatory = $true,Position = 0)] [ValidateLogicalId()] [string] $LogicalId, [parameter(Mandatory = $false)] [object] $Description, [parameter(Mandatory = $false)] [VSJson] $DefaultRunProperties, [parameter(Mandatory = $false)] [VSJson] $Tags, [parameter(Mandatory = $false)] [object] $Name, [parameter()] [DeletionPolicy] $DeletionPolicy, [parameter()] [UpdateReplacePolicy] $UpdateReplacePolicy, [parameter(Mandatory = $false)] [string[]] $DependsOn, [parameter(Mandatory = $false)] [VSJson] $Metadata, [parameter(Mandatory = $false)] [UpdatePolicy] $UpdatePolicy, [parameter(Mandatory = $false)] [string] $Condition ) Process { $obj = [GlueWorkflow]::new($PSBoundParameters) Write-Debug "$($MyInvocation.MyCommand) PSBoundParameters:`n$($PSBoundParameters | ConvertTo-Json -Depth 20 | Format-Json)" Write-Verbose "Resulting object from $($MyInvocation.MyCommand): `n$($obj.ToJson() | Format-Json)" $obj } } Export-ModuleMember -Function 'New-VSGlueWorkflow' |