cfn

package
v5.3.0+incompatible Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 20, 2019 License: Apache-2.0 Imports: 1 Imported by: 9

README

cfn

This package contains struct definitions for AWS Resource Types

Don't put anything else here.

Organization

For a resource type AWS::ResourceGroup::ResourceName you can find a lowercase version of the ResourceGroup as a package, and the lowercase version of ResourceName as a file.

cfn
└── resource_group
    └── resource_name.go

Documentation

Overview

* (c) 2016-2018 Adobe. 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.

* (c) 2016-2018 Adobe. 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.

* (c) 2016-2018 Adobe. 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

Constants

View Source
const (
	CREATE_COMPLETE                              = "CREATE_COMPLETE"
	CREATE_FAILED                                = "CREATE_FAILED"
	CREATE_IN_PROGRESS                           = "CREATE_IN_PROGRESS"
	DELETE_COMPLETE                              = "DELETE_COMPLETE"
	DELETE_FAILED                                = "DELETE_FAILED"
	DELETE_IN_PROGRESS                           = "DELETE_IN_PROGRESS"
	ROLLBACK_COMPLETE                            = "ROLLBACK_COMPLETE"
	ROLLBACK_FAILED                              = "ROLLBACK_FAILED"
	ROLLBACK_IN_PROGRESS                         = "ROLLBACK_IN_PROGRESS"
	UPDATE_COMPLETE                              = "UPDATE_COMPLETE"
	UPDATE_COMPLETE_CLEANUP_IN_PROGRESS          = "UPDATE_COMPLETE_CLEANUP_IN_PROGRESS"
	UPDATE_IN_PROGRESS                           = "UPDATE_IN_PROGRESS"
	UPDATE_ROLLBACK_COMPLETE                     = "UPDATE_ROLLBACK_COMPLETE"
	UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS = "UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS"
	UPDATE_ROLLBACK_FAILED                       = "UPDATE_ROLLBACK_FAILED"
	UPDATE_ROLLBACK_IN_PROGRESS                  = "UPDATE_ROLLBACK_IN_PROGRESS"
)
View Source
const (
	AutoScaling_AutoScalingGroup           = "AWS::AutoScaling::AutoScalingGroup"
	AutoScaling_LaunchConfiguration        = "AWS::AutoScaling::LaunchConfiguration"
	AutoScaling_LifecycleHook              = "AWS::AutoScaling::LifecycleHook"
	AutoScaling_ScalingPolicy              = "AWS::AutoScaling::ScalingPolicy"
	AutoScaling_ScheduledAction            = "AWS::AutoScaling::ScheduledAction"
	CloudFormation_Authentication          = "AWS::CloudFormation::Authentication"
	CloudFormation_CustomResource          = "AWS::CloudFormation::CustomResource"
	CloudFormation_Init                    = "AWS::CloudFormation::Init"
	CloudFormation_Interface               = "AWS::CloudFormation::Interface"
	CloudFormation_Stack                   = "AWS::CloudFormation::Stack"
	CloudFormation_WaitCondition           = "AWS::CloudFormation::WaitCondition"
	CloudFormation_WaitConditionHandle     = "AWS::CloudFormation::WaitConditionHandle"
	CloudFront_Distribution                = "AWS::CloudFront::Distribution"
	CloudTrail_Trail                       = "AWS::CloudTrail::Trail"
	CloudWatch_Alarm                       = "AWS::CloudWatch::Alarm"
	CodeDeploy_Application                 = "AWS::CodeDeploy::Application"
	CodeDeploy_DeploymentConfig            = "AWS::CodeDeploy::DeploymentConfig"
	CodeDeploy_DeploymentGroup             = "AWS::CodeDeploy::DeploymentGroup"
	CodePipeline_CustomActionType          = "AWS::CodePipeline::CustomActionType"
	CodePipeline_Pipeline                  = "AWS::CodePipeline::Pipeline"
	Config_ConfigRule                      = "AWS::Config::ConfigRule"
	Config_ConfigurationRecorder           = "AWS::Config::ConfigurationRecorder"
	Config_DeliveryChannel                 = "AWS::Config::DeliveryChannel"
	DataPipeline_Pipeline                  = "AWS::DataPipeline::Pipeline"
	DirectoryService_MicrosoftAD           = "AWS::DirectoryService::MicrosoftAD"
	DirectoryService_SimpleAD              = "AWS::DirectoryService::SimpleAD"
	DynamoDB_Table                         = "AWS::DynamoDB::Table"
	EC2_CustomerGateway                    = "AWS::EC2::CustomerGateway"
	EC2_DHCPOptions                        = "AWS::EC2::DHCPOptions"
	EC2_EIP                                = "AWS::EC2::EIP"
	EC2_EIPAssociation                     = "AWS::EC2::EIPAssociation"
	EC2_Instance                           = "AWS::EC2::Instance"
	EC2_InternetGateway                    = "AWS::EC2::InternetGateway"
	EC2_NetworkAcl                         = "AWS::EC2::NetworkAcl"
	EC2_NetworkAclEntry                    = "AWS::EC2::NetworkAclEntry"
	EC2_NetworkInterface                   = "AWS::EC2::NetworkInterface"
	EC2_NetworkInterfaceAttachment         = "AWS::EC2::NetworkInterfaceAttachment"
	EC2_PlacementGroup                     = "AWS::EC2::PlacementGroup"
	EC2_Route                              = "AWS::EC2::Route"
	EC2_RouteTable                         = "AWS::EC2::RouteTable"
	EC2_SecurityGroup                      = "AWS::EC2::SecurityGroup"
	EC2_SecurityGroupEgress                = "AWS::EC2::SecurityGroupEgress"
	EC2_SecurityGroupIngress               = "AWS::EC2::SecurityGroupIngress"
	EC2_SpotFleet                          = "AWS::EC2::SpotFleet"
	EC2_Subnet                             = "AWS::EC2::Subnet"
	EC2_SubnetNetworkAclAssociation        = "AWS::EC2::SubnetNetworkAclAssociation"
	EC2_SubnetRouteTableAssociation        = "AWS::EC2::SubnetRouteTableAssociation"
	EC2_Volume                             = "AWS::EC2::Volume"
	EC2_VolumeAttachment                   = "AWS::EC2::VolumeAttachment"
	EC2_VPC                                = "AWS::EC2::VPC"
	EC2_VPCDHCPOptionsAssociation          = "AWS::EC2::VPCDHCPOptionsAssociation"
	EC2_VPCEndpoint                        = "AWS::EC2::VPCEndpoint"
	EC2_VPCGatewayAttachment               = "AWS::EC2::VPCGatewayAttachment"
	EC2_VPCPeeringConnection               = "AWS::EC2::VPCPeeringConnection"
	EC2_VPNConnection                      = "AWS::EC2::VPNConnection"
	EC2_VPNConnectionRoute                 = "AWS::EC2::VPNConnectionRoute"
	EC2_VPNGateway                         = "AWS::EC2::VPNGateway"
	EC2_VPNGatewayRoutePropagation         = "AWS::EC2::VPNGatewayRoutePropagation"
	ECS_Cluster                            = "AWS::ECS::Cluster"
	ECS_Service                            = "AWS::ECS::Service"
	ECS_TaskDefinition                     = "AWS::ECS::TaskDefinition"
	EFS_FileSystem                         = "AWS::EFS::FileSystem"
	EFS_MountTarget                        = "AWS::EFS::MountTarget"
	ElastiCache_CacheCluster               = "AWS::ElastiCache::CacheCluster"
	ElastiCache_ParameterGroup             = "AWS::ElastiCache::ParameterGroup"
	ElastiCache_ReplicationGroup           = "AWS::ElastiCache::ReplicationGroup"
	ElastiCache_SecurityGroup              = "AWS::ElastiCache::SecurityGroup"
	ElastiCache_SecurityGroupIngress       = "AWS::ElastiCache::SecurityGroupIngress"
	ElastiCache_SubnetGroup                = "AWS::ElastiCache::SubnetGroup"
	ElasticBeanstalk_Application           = "AWS::ElasticBeanstalk::Application"
	ElasticBeanstalk_ApplicationVersion    = "AWS::ElasticBeanstalk::ApplicationVersion"
	ElasticBeanstalk_ConfigurationTemplate = "AWS::ElasticBeanstalk::ConfigurationTemplate"
	ElasticBeanstalk_Environment           = "AWS::ElasticBeanstalk::Environment"
	ElasticLoadBalancing_LoadBalancer      = "AWS::ElasticLoadBalancing::LoadBalancer"
	IAM_AccessKey                          = "AWS::IAM::AccessKey"
	IAM_Group                              = "AWS::IAM::Group"
	IAM_InstanceProfile                    = "AWS::IAM::InstanceProfile"
	IAM_ManagedPolicy                      = "AWS::IAM::ManagedPolicy"
	IAM_Policy                             = "AWS::IAM::Policy"
	IAM_Role                               = "AWS::IAM::Role"
	IAM_User                               = "AWS::IAM::User"
	IAM_UserToGroupAddition                = "AWS::IAM::UserToGroupAddition"
	Kinesis_Stream                         = "AWS::Kinesis::Stream"
	KMS_Key                                = "AWS::KMS::Key"
	Lambda_EventSourceMapping              = "AWS::Lambda::EventSourceMapping"
	Lambda_Function                        = "AWS::Lambda::Function"
	Lambda_Permission                      = "AWS::Lambda::Permission"
	Logs_Destination                       = "AWS::Logs::Destination"
	Logs_LogGroup                          = "AWS::Logs::LogGroup"
	Logs_LogStream                         = "AWS::Logs::LogStream"
	Logs_MetricFilter                      = "AWS::Logs::MetricFilter"
	Logs_SubscriptionFilter                = "AWS::Logs::SubscriptionFilter"
	OpsWorks_App                           = "AWS::OpsWorks::App"
	OpsWorks_ElasticLoadBalancerAttachment = "AWS::OpsWorks::ElasticLoadBalancerAttachment"
	OpsWorks_Instance                      = "AWS::OpsWorks::Instance"
	OpsWorks_Layer                         = "AWS::OpsWorks::Layer"
	OpsWorks_Stack                         = "AWS::OpsWorks::Stack"
	RDS_DBCluster                          = "AWS::RDS::DBCluster"
	RDS_DBClusterParameterGroup            = "AWS::RDS::DBClusterParameterGroup"
	RDS_DBInstance                         = "AWS::RDS::DBInstance"
	RDS_DBParameterGroup                   = "AWS::RDS::DBParameterGroup"
	RDS_DBSecurityGroup                    = "AWS::RDS::DBSecurityGroup"
	RDS_DBSecurityGroupIngress             = "AWS::RDS::DBSecurityGroupIngress"
	RDS_DBSubnetGroup                      = "AWS::RDS::DBSubnetGroup"
	RDS_EventSubscription                  = "AWS::RDS::EventSubscription"
	RDS_OptionGroup                        = "AWS::RDS::OptionGroup"
	Redshift_Cluster                       = "AWS::Redshift::Cluster"
	Redshift_ClusterParameterGroup         = "AWS::Redshift::ClusterParameterGroup"
	Redshift_ClusterSecurityGroup          = "AWS::Redshift::ClusterSecurityGroup"
	Redshift_ClusterSecurityGroupIngress   = "AWS::Redshift::ClusterSecurityGroupIngress"
	Redshift_ClusterSubnetGroup            = "AWS::Redshift::ClusterSubnetGroup"
	Route53_HealthCheck                    = "AWS::Route53::HealthCheck"
	Route53_HostedZone                     = "AWS::Route53::HostedZone"
	Route53_RecordSet                      = "AWS::Route53::RecordSet"
	Route53_RecordSetGroup                 = "AWS::Route53::RecordSetGroup"
	S3_Bucket                              = "AWS::S3::Bucket"
	S3_BucketPolicy                        = "AWS::S3::BucketPolicy"
	SDB_Domain                             = "AWS::SDB::Domain"
	SNS_Topic                              = "AWS::SNS::Topic"
	SNS_TopicPolicy                        = "AWS::SNS::TopicPolicy"
	SQS_Queue                              = "AWS::SQS::Queue"
	SQS_QueuePolicy                        = "AWS::SQS::QueuePolicy"
	SSM_Document                           = "AWS::SSM::Document"
	WAF_ByteMatchSet                       = "AWS::WAF::ByteMatchSet"
	WAF_IPSet                              = "AWS::WAF::IPSet"
	WAF_Rule                               = "AWS::WAF::Rule"
	WAF_SqlInjectionMatchSet               = "AWS::WAF::SqlInjectionMatchSet"
	WAF_WebACL                             = "AWS::WAF::WebACL"
	WorkSpaces_Workspace                   = "AWS::WorkSpaces::Workspace"
)

Variables

This section is empty.

Functions

func AnyStatus

func AnyStatus(status string) bool

func CheckHotswapStatus

func CheckHotswapStatus(status string) bool

Valid states that should be used when considering hot swap eligibility are CREATE_COMPLETE plus any variation on updating (a previous hotswap)

A separate check is done before actually peforming the hot swap

func PrunableStatus

func PrunableStatus(status string) bool

func ValidType

func ValidType(resourceType string) bool

Types

type ParameterInput

type ParameterInput struct {
	Description           string   `json:"Description,omitempty"`
	Type                  string   `json:"Type,omitempty"`
	MinLength             int      `json:"MinLength,omitempty"`
	MaxLength             int      `json:"MaxLength,omitempty"`
	MinValue              string   `json:"MinValue,omitempty"`
	MaxValue              string   `json:"MaxValue,omitempty"`
	AllowedPattern        string   `json:"AllowedPattern,omitempty"`
	AllowedValues         []string `json:"AllowedValues,omitempty"`
	Default               string   `json:"Default,omitempty"`
	ConstraintDescription string   `json:"ConstraintDescription,omitempty"`
}

type Template

type Template struct {
	Description string                    `json:"Description,omitempty"`
	Parameters  map[string]ParameterInput `json:"Parameters,omitempty"`
	Mappings    map[string]interface{}    `json:"Mappings,omitempty"`
	Resources   map[string]interface{}    `json:"Resources,omitempty"`
	Conditions  map[string]interface{}    `json:"Conditions,omitempty"`
	Outputs     interface{}               `json:"Outputs,omitempty"`
	// contains filtered or unexported fields
}

func NewTemplate

func NewTemplate() *Template

func (*Template) GetResourceName

func (recv *Template) GetResourceName(resourceType string) (string, error)

func (*Template) GetResourceNames

func (recv *Template) GetResourceNames(resourceType string) ([]string, bool)

func (*Template) GetResourcesByType

func (recv *Template) GetResourcesByType(resourceType string) map[string]interface{}

func (*Template) ParseResources

func (recv *Template) ParseResources()

func (*Template) ResourceExists

func (recv *Template) ResourceExists(resourceType string) bool

func (*Template) SetResource

func (recv *Template) SetResource(logicalName string, resource map[string]interface{})

Directories

Path Synopsis
* (c) 2016-2018 Adobe.
* (c) 2016-2018 Adobe.
* (c) 2016-2018 Adobe.
* (c) 2016-2018 Adobe.
* (c) 2016-2018 Adobe.
* (c) 2016-2018 Adobe.
* (c) 2016-2018 Adobe.
* (c) 2016-2018 Adobe.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL