Skip to content
This repository was archived by the owner on Oct 21, 2023. It is now read-only.

Commit 4d6f29e

Browse files
committed
saving state to publish first alpha release to GH Releases
1 parent 4d33408 commit 4d6f29e

File tree

123 files changed

+1239
-848
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

123 files changed

+1239
-848
lines changed

SampleStack.ps1

Lines changed: 148 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,148 @@
1+
[VSTemplate]@{
2+
Parameters = @(
3+
[VSParameter]@{
4+
LogicalId = 'MinSize'
5+
Type = 'Number'
6+
}
7+
[VSParameter]@{
8+
LogicalId = 'MaxSize'
9+
Type = 'Number'
10+
}
11+
[VSParameter]@{
12+
LogicalId = 'DesiredSize'
13+
Type = 'Number'
14+
}
15+
[VSParameter]@{
16+
LogicalId = 'ImageId'
17+
Type = 'AWS::EC2::Image::Id'
18+
}
19+
[VSParameter]@{
20+
LogicalId = 'InstanceType'
21+
Type = 'String'
22+
}
23+
[VSParameter]@{
24+
LogicalId = 'KeyName'
25+
Type = 'String'
26+
}
27+
[VSParameter]@{
28+
LogicalId = 'SSLCertificateArn'
29+
Type = 'String'
30+
}
31+
[VSParameter]@{
32+
LogicalId = 'PrivateSubnets'
33+
Type = 'List<AWS::EC2::Subnet::Id>'
34+
}
35+
[VSParameter]@{
36+
LogicalId = 'PublicSubnets'
37+
Type = 'List<AWS::EC2::Subnet::Id>'
38+
}
39+
[VSParameter]@{
40+
LogicalId = 'ASGSecurityGroups'
41+
Type = 'List<AWS::EC2::SecurityGroup::Id>'
42+
}
43+
[VSParameter]@{
44+
LogicalId = 'BastionSecurityGroups'
45+
Type = 'List<AWS::EC2::SecurityGroup::Id>'
46+
}
47+
[VSParameter]@{
48+
LogicalId = 'LoadBalancerSecurityGroups'
49+
Type = 'List<AWS::EC2::SecurityGroup::Id>'
50+
}
51+
)
52+
Conditions = @(
53+
[VSCondition]@{
54+
LogicalId = 'HasSSL'
55+
Condition = [ConNot]::new([ConEquals]::new(([FnRef]'SSLCertificateArn','')))
56+
}
57+
[VSCondition]@{
58+
LogicalId = 'HasSSHKey'
59+
Condition = [ConNot]::new([ConEquals]::new([FnRef]'KeyName',''))
60+
}
61+
)
62+
Resources = @(
63+
[ElasticLoadBalancingLoadBalancer]@{
64+
LogicalId = 'LoadBalancer'
65+
Subnets = [FnRef]'PublicSubnets'
66+
SecurityGroups = [FnRef]'LoadBalancerSecurityGroups'
67+
Listeners = @(
68+
[ElasticLoadBalancingLoadBalancerListeners]@{
69+
LoadBalancerPort = '80'
70+
InstancePort = '80'
71+
Protocol = 'HTTP'
72+
}
73+
[ConIf]::new(
74+
'HasSSL',
75+
[ElasticLoadBalancingLoadBalancerListeners]@{
76+
LoadBalancerPort = '443'
77+
InstancePort = '443'
78+
Protocol = 'HTTPS'
79+
SSLCertificateId = [FnRef]'SSLCertificateArn'
80+
},
81+
[FnRef]::NoValue
82+
)
83+
)
84+
HealthCheck = [ElasticLoadBalancingLoadBalancerHealthCheck]@{
85+
Target = 'HTTP:80/'
86+
HealthyThreshold = '3'
87+
UnhealthyThreshold = '5'
88+
Interval = '30'
89+
Timeout = '5'
90+
}
91+
}
92+
[AutoScalingLaunchConfiguration]@{
93+
LogicalId = 'WebServerLaunchConfig'
94+
KeyName = [ConIf]::new(
95+
'HasSSHKey',
96+
[FnRef]'KeyName',
97+
[FnRef]::NoValue
98+
)
99+
ImageId = [FnRef]'ImageId'
100+
UserData = './Tests/Assets/UserData.sh'
101+
SecurityGroups = [FnRef]'ASGSecurityGroups'
102+
InstanceType = [FnRef]'InstanceType'
103+
}
104+
[AutoScalingAutoScalingGroup]@{
105+
LogicalId = 'WebServerGroup'
106+
UpdatePolicy = [UpdatePolicy]@{
107+
AutoScalingRollingUpdate = [AutoScalingRollingUpdate]@{
108+
MinInstancesInService = 1
109+
PauseTime = 'PT1M'
110+
}
111+
}
112+
LaunchConfigurationName = [FnRef]'WebServerLaunchConfig'
113+
MinSize = [FnRef]'MinSize'
114+
MaxSize = [FnRef]'MaxSize'
115+
DesiredCapacity = [FnRef]'DesiredSize'
116+
LoadBalancerNames = @([FnRef]'LoadBalancer')
117+
VPCZoneIdentifier = [FnRef]'PrivateSubnets'
118+
}
119+
[EC2Instance]@{
120+
LogicalId = 'Bastion'
121+
Condition = 'HasSSHKey'
122+
ImageId = [FnRef]'ImageId'
123+
InstanceType = 't2.micro'
124+
NetworkInterfaces = @(
125+
[EC2InstanceNetworkInterface]@{
126+
AssociatePublicIpAddress = $true
127+
DeviceIndex = '0'
128+
GroupSet = [FnRef]'BastionSecurityGroups'
129+
SubnetId = [FnSelect]::new(0, [FnRef]'PublicSubnets')
130+
}
131+
)
132+
}
133+
)
134+
Outputs = @(
135+
[VSOutput]@{
136+
LogicalId = 'ELB'
137+
Description = 'LoadBalancer DNS Name'
138+
Value = [FnGetAtt]::new('LoadBalancer','DNSName')
139+
Export = [Export]'elb-dns-name'
140+
}
141+
[VSOutput]@{
142+
LogicalId = 'Bastion'
143+
Description = 'Bastion instance IP'
144+
Value = [FnGetAtt]::new('Bastion','PublicIp')
145+
Condition = [ConRef]'HasSSHKey'
146+
}
147+
)
148+
}

ServiceModules/VaporShell.ACMPCA/VaporShell.ACMPCA.psd1

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,16 @@
2323
AliasesToExport = '*'
2424
FileList = @()
2525
PrivateData = @{
26-
PSData = @{
27-
Tags = 'AWS', 'CloudFormation', 'CFN', 'DevOps', 'Automation', 'JSON', 'YAML', 'IaC', 'InfrastructureAsCode', 'PSEdition_Core', 'PSEdition_Desktop', 'Windows', 'Mac', 'Linux'
28-
LicenseUri = 'https://github.com/SCRT-HQ/VaporShell/blob/master/LICENSE'
29-
ProjectUri = 'https://github.com/SCRT-HQ/VaporShell'
30-
IconUri = 'https://spotinst.com/app/themes/spotinst-theme/dist/images/features/elastigroup/intro/icons/cloudformation.svg'
31-
} # End of PSData hashtable
32-
} # End of PrivateData hashtable
26+
PSData = @{
27+
LicenseUri = 'https://github.com/SCRT-HQ/VaporShell/blob/master/LICENSE'
28+
Prelease = 'alpha'
29+
IconUri = 'https://spotinst.com/app/themes/spotinst-theme/dist/images/features/elastigroup/intro/icons/cloudformation.svg'
30+
ProjectUri = 'https://github.com/SCRT-HQ/VaporShell'
31+
Tags = @('AWS','CloudFormation','CFN','DevOps','Automation','JSON','YAML','IaC','InfrastructureAsCode','PSEdition_Core','PSEdition_Desktop','Windows','Mac','Linux')
32+
}
33+
} # End of PrivateData hashtable
3334
}
3435

3536

3637

38+

ServiceModules/VaporShell.AccessAnalyzer/VaporShell.AccessAnalyzer.psd1

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,16 @@
2323
AliasesToExport = '*'
2424
FileList = @()
2525
PrivateData = @{
26-
PSData = @{
27-
Tags = 'AWS', 'CloudFormation', 'CFN', 'DevOps', 'Automation', 'JSON', 'YAML', 'IaC', 'InfrastructureAsCode', 'PSEdition_Core', 'PSEdition_Desktop', 'Windows', 'Mac', 'Linux'
28-
LicenseUri = 'https://github.com/SCRT-HQ/VaporShell/blob/master/LICENSE'
29-
ProjectUri = 'https://github.com/SCRT-HQ/VaporShell'
30-
IconUri = 'https://spotinst.com/app/themes/spotinst-theme/dist/images/features/elastigroup/intro/icons/cloudformation.svg'
31-
} # End of PSData hashtable
32-
} # End of PrivateData hashtable
26+
PSData = @{
27+
LicenseUri = 'https://github.com/SCRT-HQ/VaporShell/blob/master/LICENSE'
28+
Prelease = 'alpha'
29+
IconUri = 'https://spotinst.com/app/themes/spotinst-theme/dist/images/features/elastigroup/intro/icons/cloudformation.svg'
30+
ProjectUri = 'https://github.com/SCRT-HQ/VaporShell'
31+
Tags = @('AWS','CloudFormation','CFN','DevOps','Automation','JSON','YAML','IaC','InfrastructureAsCode','PSEdition_Core','PSEdition_Desktop','Windows','Mac','Linux')
32+
}
33+
} # End of PrivateData hashtable
3334
}
3435

3536

37+
38+

ServiceModules/VaporShell.Alexa/VaporShell.Alexa.psd1

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,16 @@
2323
AliasesToExport = '*'
2424
FileList = @()
2525
PrivateData = @{
26-
PSData = @{
27-
Tags = 'AWS', 'CloudFormation', 'CFN', 'DevOps', 'Automation', 'JSON', 'YAML', 'IaC', 'InfrastructureAsCode', 'PSEdition_Core', 'PSEdition_Desktop', 'Windows', 'Mac', 'Linux'
28-
LicenseUri = 'https://github.com/SCRT-HQ/VaporShell/blob/master/LICENSE'
29-
ProjectUri = 'https://github.com/SCRT-HQ/VaporShell'
30-
IconUri = 'https://spotinst.com/app/themes/spotinst-theme/dist/images/features/elastigroup/intro/icons/cloudformation.svg'
31-
} # End of PSData hashtable
32-
} # End of PrivateData hashtable
26+
PSData = @{
27+
LicenseUri = 'https://github.com/SCRT-HQ/VaporShell/blob/master/LICENSE'
28+
Prelease = 'alpha'
29+
IconUri = 'https://spotinst.com/app/themes/spotinst-theme/dist/images/features/elastigroup/intro/icons/cloudformation.svg'
30+
ProjectUri = 'https://github.com/SCRT-HQ/VaporShell'
31+
Tags = @('AWS','CloudFormation','CFN','DevOps','Automation','JSON','YAML','IaC','InfrastructureAsCode','PSEdition_Core','PSEdition_Desktop','Windows','Mac','Linux')
32+
}
33+
} # End of PrivateData hashtable
3334
}
3435

3536

3637

38+

ServiceModules/VaporShell.AmazonMQ/VaporShell.AmazonMQ.psd1

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,16 @@
2323
AliasesToExport = '*'
2424
FileList = @()
2525
PrivateData = @{
26-
PSData = @{
27-
Tags = 'AWS', 'CloudFormation', 'CFN', 'DevOps', 'Automation', 'JSON', 'YAML', 'IaC', 'InfrastructureAsCode', 'PSEdition_Core', 'PSEdition_Desktop', 'Windows', 'Mac', 'Linux'
28-
LicenseUri = 'https://github.com/SCRT-HQ/VaporShell/blob/master/LICENSE'
29-
ProjectUri = 'https://github.com/SCRT-HQ/VaporShell'
30-
IconUri = 'https://spotinst.com/app/themes/spotinst-theme/dist/images/features/elastigroup/intro/icons/cloudformation.svg'
31-
} # End of PSData hashtable
32-
} # End of PrivateData hashtable
26+
PSData = @{
27+
LicenseUri = 'https://github.com/SCRT-HQ/VaporShell/blob/master/LICENSE'
28+
Prelease = 'alpha'
29+
IconUri = 'https://spotinst.com/app/themes/spotinst-theme/dist/images/features/elastigroup/intro/icons/cloudformation.svg'
30+
ProjectUri = 'https://github.com/SCRT-HQ/VaporShell'
31+
Tags = @('AWS','CloudFormation','CFN','DevOps','Automation','JSON','YAML','IaC','InfrastructureAsCode','PSEdition_Core','PSEdition_Desktop','Windows','Mac','Linux')
32+
}
33+
} # End of PrivateData hashtable
3334
}
3435

3536

3637

38+

ServiceModules/VaporShell.Amplify/VaporShell.Amplify.psd1

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,16 @@
2323
AliasesToExport = '*'
2424
FileList = @()
2525
PrivateData = @{
26-
PSData = @{
27-
Tags = 'AWS', 'CloudFormation', 'CFN', 'DevOps', 'Automation', 'JSON', 'YAML', 'IaC', 'InfrastructureAsCode', 'PSEdition_Core', 'PSEdition_Desktop', 'Windows', 'Mac', 'Linux'
28-
LicenseUri = 'https://github.com/SCRT-HQ/VaporShell/blob/master/LICENSE'
29-
ProjectUri = 'https://github.com/SCRT-HQ/VaporShell'
30-
IconUri = 'https://spotinst.com/app/themes/spotinst-theme/dist/images/features/elastigroup/intro/icons/cloudformation.svg'
31-
} # End of PSData hashtable
32-
} # End of PrivateData hashtable
26+
PSData = @{
27+
LicenseUri = 'https://github.com/SCRT-HQ/VaporShell/blob/master/LICENSE'
28+
Prelease = 'alpha'
29+
IconUri = 'https://spotinst.com/app/themes/spotinst-theme/dist/images/features/elastigroup/intro/icons/cloudformation.svg'
30+
ProjectUri = 'https://github.com/SCRT-HQ/VaporShell'
31+
Tags = @('AWS','CloudFormation','CFN','DevOps','Automation','JSON','YAML','IaC','InfrastructureAsCode','PSEdition_Core','PSEdition_Desktop','Windows','Mac','Linux')
32+
}
33+
} # End of PrivateData hashtable
3334
}
3435

3536

3637

38+

ServiceModules/VaporShell.ApiGateway/VaporShell.ApiGateway.psd1

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,16 @@
2323
AliasesToExport = '*'
2424
FileList = @()
2525
PrivateData = @{
26-
PSData = @{
27-
Tags = 'AWS', 'CloudFormation', 'CFN', 'DevOps', 'Automation', 'JSON', 'YAML', 'IaC', 'InfrastructureAsCode', 'PSEdition_Core', 'PSEdition_Desktop', 'Windows', 'Mac', 'Linux'
28-
LicenseUri = 'https://github.com/SCRT-HQ/VaporShell/blob/master/LICENSE'
29-
ProjectUri = 'https://github.com/SCRT-HQ/VaporShell'
30-
IconUri = 'https://spotinst.com/app/themes/spotinst-theme/dist/images/features/elastigroup/intro/icons/cloudformation.svg'
31-
} # End of PSData hashtable
32-
} # End of PrivateData hashtable
26+
PSData = @{
27+
LicenseUri = 'https://github.com/SCRT-HQ/VaporShell/blob/master/LICENSE'
28+
Prelease = 'alpha'
29+
IconUri = 'https://spotinst.com/app/themes/spotinst-theme/dist/images/features/elastigroup/intro/icons/cloudformation.svg'
30+
ProjectUri = 'https://github.com/SCRT-HQ/VaporShell'
31+
Tags = @('AWS','CloudFormation','CFN','DevOps','Automation','JSON','YAML','IaC','InfrastructureAsCode','PSEdition_Core','PSEdition_Desktop','Windows','Mac','Linux')
32+
}
33+
} # End of PrivateData hashtable
3334
}
3435

3536

3637

38+

ServiceModules/VaporShell.ApiGatewayV2/VaporShell.ApiGatewayV2.psd1

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,16 @@
2323
AliasesToExport = '*'
2424
FileList = @()
2525
PrivateData = @{
26-
PSData = @{
27-
Tags = 'AWS', 'CloudFormation', 'CFN', 'DevOps', 'Automation', 'JSON', 'YAML', 'IaC', 'InfrastructureAsCode', 'PSEdition_Core', 'PSEdition_Desktop', 'Windows', 'Mac', 'Linux'
28-
LicenseUri = 'https://github.com/SCRT-HQ/VaporShell/blob/master/LICENSE'
29-
ProjectUri = 'https://github.com/SCRT-HQ/VaporShell'
30-
IconUri = 'https://spotinst.com/app/themes/spotinst-theme/dist/images/features/elastigroup/intro/icons/cloudformation.svg'
31-
} # End of PSData hashtable
32-
} # End of PrivateData hashtable
26+
PSData = @{
27+
LicenseUri = 'https://github.com/SCRT-HQ/VaporShell/blob/master/LICENSE'
28+
Prelease = 'alpha'
29+
IconUri = 'https://spotinst.com/app/themes/spotinst-theme/dist/images/features/elastigroup/intro/icons/cloudformation.svg'
30+
ProjectUri = 'https://github.com/SCRT-HQ/VaporShell'
31+
Tags = @('AWS','CloudFormation','CFN','DevOps','Automation','JSON','YAML','IaC','InfrastructureAsCode','PSEdition_Core','PSEdition_Desktop','Windows','Mac','Linux')
32+
}
33+
} # End of PrivateData hashtable
3334
}
3435

3536

3637

38+

ServiceModules/VaporShell.AppConfig/VaporShell.AppConfig.psd1

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,16 @@
2323
AliasesToExport = '*'
2424
FileList = @()
2525
PrivateData = @{
26-
PSData = @{
27-
Tags = 'AWS', 'CloudFormation', 'CFN', 'DevOps', 'Automation', 'JSON', 'YAML', 'IaC', 'InfrastructureAsCode', 'PSEdition_Core', 'PSEdition_Desktop', 'Windows', 'Mac', 'Linux'
28-
LicenseUri = 'https://github.com/SCRT-HQ/VaporShell/blob/master/LICENSE'
29-
ProjectUri = 'https://github.com/SCRT-HQ/VaporShell'
30-
IconUri = 'https://spotinst.com/app/themes/spotinst-theme/dist/images/features/elastigroup/intro/icons/cloudformation.svg'
31-
} # End of PSData hashtable
32-
} # End of PrivateData hashtable
26+
PSData = @{
27+
LicenseUri = 'https://github.com/SCRT-HQ/VaporShell/blob/master/LICENSE'
28+
Prelease = 'alpha'
29+
IconUri = 'https://spotinst.com/app/themes/spotinst-theme/dist/images/features/elastigroup/intro/icons/cloudformation.svg'
30+
ProjectUri = 'https://github.com/SCRT-HQ/VaporShell'
31+
Tags = @('AWS','CloudFormation','CFN','DevOps','Automation','JSON','YAML','IaC','InfrastructureAsCode','PSEdition_Core','PSEdition_Desktop','Windows','Mac','Linux')
32+
}
33+
} # End of PrivateData hashtable
3334
}
3435

3536

3637

38+

ServiceModules/VaporShell.AppMesh/VaporShell.AppMesh.psd1

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,16 @@
2323
AliasesToExport = '*'
2424
FileList = @()
2525
PrivateData = @{
26-
PSData = @{
27-
Tags = 'AWS', 'CloudFormation', 'CFN', 'DevOps', 'Automation', 'JSON', 'YAML', 'IaC', 'InfrastructureAsCode', 'PSEdition_Core', 'PSEdition_Desktop', 'Windows', 'Mac', 'Linux'
28-
LicenseUri = 'https://github.com/SCRT-HQ/VaporShell/blob/master/LICENSE'
29-
ProjectUri = 'https://github.com/SCRT-HQ/VaporShell'
30-
IconUri = 'https://spotinst.com/app/themes/spotinst-theme/dist/images/features/elastigroup/intro/icons/cloudformation.svg'
31-
} # End of PSData hashtable
32-
} # End of PrivateData hashtable
26+
PSData = @{
27+
LicenseUri = 'https://github.com/SCRT-HQ/VaporShell/blob/master/LICENSE'
28+
Prelease = 'alpha'
29+
IconUri = 'https://spotinst.com/app/themes/spotinst-theme/dist/images/features/elastigroup/intro/icons/cloudformation.svg'
30+
ProjectUri = 'https://github.com/SCRT-HQ/VaporShell'
31+
Tags = @('AWS','CloudFormation','CFN','DevOps','Automation','JSON','YAML','IaC','InfrastructureAsCode','PSEdition_Core','PSEdition_Desktop','Windows','Mac','Linux')
32+
}
33+
} # End of PrivateData hashtable
3334
}
3435

3536

3637

38+

ServiceModules/VaporShell.AppStream/VaporShell.AppStream.psd1

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,16 @@
2323
AliasesToExport = '*'
2424
FileList = @()
2525
PrivateData = @{
26-
PSData = @{
27-
Tags = 'AWS', 'CloudFormation', 'CFN', 'DevOps', 'Automation', 'JSON', 'YAML', 'IaC', 'InfrastructureAsCode', 'PSEdition_Core', 'PSEdition_Desktop', 'Windows', 'Mac', 'Linux'
28-
LicenseUri = 'https://github.com/SCRT-HQ/VaporShell/blob/master/LICENSE'
29-
ProjectUri = 'https://github.com/SCRT-HQ/VaporShell'
30-
IconUri = 'https://spotinst.com/app/themes/spotinst-theme/dist/images/features/elastigroup/intro/icons/cloudformation.svg'
31-
} # End of PSData hashtable
32-
} # End of PrivateData hashtable
26+
PSData = @{
27+
LicenseUri = 'https://github.com/SCRT-HQ/VaporShell/blob/master/LICENSE'
28+
Prelease = 'alpha'
29+
IconUri = 'https://spotinst.com/app/themes/spotinst-theme/dist/images/features/elastigroup/intro/icons/cloudformation.svg'
30+
ProjectUri = 'https://github.com/SCRT-HQ/VaporShell'
31+
Tags = @('AWS','CloudFormation','CFN','DevOps','Automation','JSON','YAML','IaC','InfrastructureAsCode','PSEdition_Core','PSEdition_Desktop','Windows','Mac','Linux')
32+
}
33+
} # End of PrivateData hashtable
3334
}
3435

3536

3637

38+

0 commit comments

Comments
 (0)