Documentation ¶
Overview ¶
* Copyright 2016 Adobe Systems Incorporated. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS * OF ANY KIND, either express or implied. See the License for the specific language * governing permissions and limitations under the License.
* Copyright 2016 Adobe Systems Incorporated. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS * OF ANY KIND, either express or implied. See the License for the specific language * governing permissions and limitations under the License.
* Copyright 2016 Adobe Systems Incorporated. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS * OF ANY KIND, either express or implied. See the License for the specific language * governing permissions and limitations under the License.
Index ¶
- func AWSCloudFormationInit(autoScalingLaunchConfigurationLogicalId string, ...) (map[string]interface{}, error)
- func ELBToInstance(vpc, https bool, elbName, elbSecurityGroup string) map[string]interface{}
- func ImageIdInMap(mapId string) map[string]interface{}
- func InetToELB(vpc, https bool) map[string]interface{}
- func RegionToAmazonLinuxAMI() map[string]interface{}
- func UserData(autoScalingLaunchConfigurationLogicalId string) (map[string]interface{}, error)
- type AWSCloudFormationInitCtx
- type UserDataContext
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AWSCloudFormationInit ¶
func AWSCloudFormationInit(autoScalingLaunchConfigurationLogicalId string, context AWSCloudFormationInitCtx) (map[string]interface{}, error)
AWSCloudFormationInit produces the value of the AWS::CloudFormation::Init type and should be placed on the Metadata of a AWS::EC2::Instance or AWS::AutoScale::LaunchConfiguration
It works with the UserData field of a AWS::AutoScale::LaunchConfiguration (or AWS::EC2::Instance) to bootstrap an EC2 instance when it's created
Example use:
{ "Resources": { "AutoScalingLaunchConfiguration": { "Type": "AWS::AutoScaling::LaunchConfiguration", "Metadata": { "AWS::CloudFormation::Init": {{ .Resources.AutoScaling.LaunchConfiguration.Metadata.AWSCloudFormationInit }} }, "Properties": { "UserData": {{ .Resources.AutoScaling.LaunchConfiguration.UserData }} } } } }
func ELBToInstance ¶
Allow EC2 instances to receive traffic from the provisioned ELB
func ImageIdInMap ¶
ImageIdInMap works with a mapping like the following to select an AMI id for the current region
{ "Mappings": { "RegionToAmazonLinuxAMI": { "ap-northeast-1": { "Key": "ami-1c1b9f1c" }, "ap-southeast-1": { "Key": "ami-d44b4286" }, "ap-southeast-2": { "Key": "ami-db7b39e1" }, "eu-central-1": { "Key": "ami-a6b0b7bb" }, "eu-west-1": { "Key": "ami-e4d18e93" }, "sa-east-1": { "Key": "ami-55098148" }, "us-east-1": { "Key": "ami-0d4cfd66" }, "us-west-1": { "Key": "ami-87ea13c3" }, "us-west-2": { "Key": "ami-d5c5d1e5" } } } }
func RegionToAmazonLinuxAMI ¶
func RegionToAmazonLinuxAMI() map[string]interface{}
RegionToAmazonLinuxAMI is a mapping of AWS region to the latest released version the Amazon Linux AMI (currently 2015.09.1)
func UserData ¶
UserData is the initial launch script run by an EC2 instance
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonLinuxAMIBasics.html
Types ¶
type AWSCloudFormationInitCtx ¶
type AWSCloudFormationInitCtx struct { PorterVersion string Environment string Region string EnvFile string ServiceName string ServiceVersion string ServicePayloadBucket string ServicePayloadKey string ServicePayloadConfigPath string ServicePayloadHostDir string ServicePayloadHostPath string ServicePayloadChecksum string RegistryDeployment bool InsecureRegistry string InetHealthCheckMethod string InetHealthCheckPath string ImageNames []string PorterBinaryUrl string DevMode bool LogDebug bool EC2BootstrapScript string Elbs string ContainerUserUid string }
type UserDataContext ¶
type UserDataContext struct {
LogicalId string
}