This repository has been archived by the owner on Oct 21, 2023. It is now read-only.
/
Add-VSApiGatewayMethodIntegrationResponse.ps1
87 lines (80 loc) · 3.63 KB
/
Add-VSApiGatewayMethodIntegrationResponse.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
function Add-VSApiGatewayMethodIntegrationResponse {
<#
.SYNOPSIS
Adds an AWS::ApiGateway::Method.IntegrationResponse resource property to the template
.DESCRIPTION
Adds an AWS::ApiGateway::Method.IntegrationResponse resource property to the template
.LINK
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration-integrationresponse.html
.PARAMETER ResponseParameters
Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration-integrationresponse.html#cfn-apigateway-method-integration-integrationresponse-responseparameters
DuplicatesAllowed: False
PrimitiveItemType: String
Required: False
Type: Map
UpdateType: Mutable
.PARAMETER ResponseTemplates
Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration-integrationresponse.html#cfn-apigateway-method-integration-integrationresponse-responsetemplates
DuplicatesAllowed: False
PrimitiveItemType: String
Required: False
Type: Map
UpdateType: Mutable
.PARAMETER SelectionPattern
Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration-integrationresponse.html#cfn-apigateway-method-integration-integrationresponse-selectionpattern
PrimitiveType: String
Required: False
UpdateType: Mutable
.PARAMETER StatusCode
Documentation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration-integrationresponse.html#cfn-apigateway-method-integration-integrationresponse-statuscode
PrimitiveType: String
Required: False
UpdateType: Mutable
.FUNCTIONALITY
Vaporshell
#>
[OutputType('Vaporshell.Resource.ApiGateway.Method.IntegrationResponse')]
[cmdletbinding()]
Param
(
[parameter(Mandatory = $false)]
[System.Collections.Hashtable]
$ResponseParameters,
[parameter(Mandatory = $false)]
[System.Collections.Hashtable]
$ResponseTemplates,
[parameter(Mandatory = $false)]
[ValidateScript( {
$allowedTypes = "System.String","Vaporshell.Function"
if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") {
$true
}
else {
throw "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ")."
}
})]
$SelectionPattern,
[parameter(Mandatory = $false)]
[ValidateScript( {
$allowedTypes = "System.String","Vaporshell.Function"
if ([string]$($_.PSTypeNames) -match "($(($allowedTypes|ForEach-Object{[RegEx]::Escape($_)}) -join '|'))") {
$true
}
else {
throw "This parameter only accepts the following types: $($allowedTypes -join ", "). The current types of the value are: $($_.PSTypeNames -join ", ")."
}
})]
$StatusCode
)
Begin {
$obj = [PSCustomObject]@{}
}
Process {
foreach ($key in $PSBoundParameters.Keys) {
$obj | Add-Member -MemberType NoteProperty -Name $key -Value $PSBoundParameters.$key
}
}
End {
$obj | Add-ObjectDetail -TypeName 'Vaporshell.Resource.ApiGateway.Method.IntegrationResponse'
}
}