rds

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Mar 4, 2016 License: MIT Imports: 4 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DBCluster = Resource{
	AwsType: "AWS::RDS::DBCluster",

	Attributes: map[string]Schema{
		"Endpoint.Address": Schema{
			Type: ValueString,
		},

		"Endpoint.Port": Schema{
			Type: ValueNumber,
		},
	},

	ReturnValue: Schema{
		Type: ValueString,
	},

	Properties: Properties{
		"AvailabilityZones": Schema{
			Type: Multiple(AvailabilityZone),
		},

		"BackupRetentionPeriod": Schema{
			Type: ValueNumber,
		},

		"DatabaseName": Schema{
			Type: ValueString,
		},

		"DBClusterParameterGroupName": Schema{
			Type: dbParameterGroupName,
		},

		"DBSubnetGroupName": Schema{
			Type: dbSubnetGroupName,
		},

		"Engine": Schema{
			Type:         ValueString,
			Required:     constraints.Always,
			ValidateFunc: SingleValueValidate("aurora"),
		},

		"EngineVersion": Schema{
			Type: ValueString,
		},

		"KmsKeyId": Schema{
			Type: ARN,
		},

		"MasterUsername": Schema{
			Type: ValueString,
			ValidateFunc: RegexpValidate(
				`^[a-zA-Z][a-zA-Z0-9]{1,15}$`,
				"Must be 1 to 16 alphanumeric characters. First character must be a letter.",
			),
			Required:  constraints.PropertyNotExists("SnapshotIdentifier"),
			Conflicts: constraints.PropertyExists("SnapshotIdentifier"),
		},

		"MasterUserPassword": Schema{
			Type: ValueString,
			ValidateFunc: RegexpValidate(
				`^[^\/"@]{8,41}$`,
				`This password can contain any printable ASCII character except "/", """, or "@". Must contain from 8 to 41 characters.`,
			),
			Required:  constraints.PropertyNotExists("SnapshotIdentifier"),
			Conflicts: constraints.PropertyExists("SnapshotIdentifier"),
		},

		"Port": Schema{
			Type:    ValueNumber,
			Default: 3306,
		},

		"PreferredBackupWindow": Schema{
			Type: ValueString,
		},

		"PreferredMaintenanceWindow": Schema{
			Type: ValueString,
		},

		"SnapshotIdentifier": Schema{
			Type: ValueString,
		},

		"Tags": Schema{
			Type: Multiple(common.ResourceTag),
		},

		"VpcSecurityGroupIds": Schema{
			Type: Multiple(SecurityGroupID),
		},
	},
}

see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html

View Source
var DBClusterParameterGroup = Resource{
	AwsType: "AWS::RDS::DBClusterParameterGroup",

	ReturnValue: Schema{
		Type: ValueString,
	},

	Properties: Properties{
		"Description": Schema{
			Type:     ValueString,
			Required: constraints.Always,
		},

		"Family": Schema{
			Type:     ValueString,
			Required: constraints.Always,
		},

		"Parameters": Schema{
			Type:     JSON,
			Required: constraints.Always,
		},

		"Tags": Schema{
			Type: Multiple(common.ResourceTag),
		},
	},
}

see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbclusterparametergroup.html

View Source
var DBInstance = Resource{
	AwsType: "AWS::RDS::DBInstance",

	Attributes: map[string]Schema{
		"Endpoint.Address": Schema{
			Type: ValueString,
		},

		"Endpoint.Port": Schema{
			Type: ValueNumber,
		},
	},

	ReturnValue: Schema{
		Type: ValueString,
	},

	Properties: Properties{
		"AllocatedStorage": Schema{
			Type: ValueString,

			Required:  constraints.PropertyNotExists("DBClusterIdentifier"),
			Conflicts: constraints.PropertyExists("DBClusterIdentifier"),
		},

		"AllowMajorVersionUpgrade": Schema{
			Type: ValueBool,
		},

		"AutoMinorVersionUpgrade": Schema{
			Type:    ValueBool,
			Default: true,
		},

		"AvailabilityZone": Schema{
			Type:      AvailabilityZone,
			Conflicts: constraints.PropertyIs("MultiAZ", true),
		},

		"BackupRetentionPeriod": Schema{
			Type: ValueString,
			Conflicts: constraints.Any{
				constraints.PropertyExists("DBSnapshotIdentifier"),
				constraints.PropertyExists("SourceDBInstanceIdentifier"),
			},
		},

		"CharacterSetName": Schema{
			Type: ValueString,
		},

		"DBClusterIdentifier": Schema{
			Type: ValueString,
		},

		"DBInstanceClass": Schema{
			Type:     ValueString,
			Required: constraints.Always,
		},

		"DBInstanceIdentifier": Schema{
			Type: ValueString,
		},

		"DBName": Schema{
			Type: ValueString,
		},

		"DBParameterGroupName": Schema{
			Type: dbParameterGroupName,
		},

		"DBSecurityGroups": Schema{
			Type:      Multiple(dbSecurityGroupName),
			Conflicts: constraints.PropertyExists("VPCSecurityGroups"),
		},

		"DBSnapshotIdentifier": Schema{
			Type: ValueString,
			Conflicts: constraints.Any{
				constraints.PropertyExists("MasterUsername"),
				constraints.PropertyExists("MasterUserPassword"),
			},
		},

		"DBSubnetGroupName": Schema{
			Type: ValueString,
		},

		"Engine": Schema{
			Type:     engine,
			Required: constraints.PropertyNotExists("DBSnapshotIdentifier"),
		},

		"EngineVersion": Schema{
			Type: ValueString,
		},

		"Iops": Schema{
			Type:     ValueNumber,
			Required: constraints.PropertyIs("StorageType", "io1"),
		},

		"KmsKeyId": Schema{
			Type: ARN,
			Conflicts: constraints.Any{
				constraints.PropertyExists("DBSnapshotIdentifier"),
				constraints.PropertyExists("SourceDBInstanceIdentifier"),
			},
		},

		"LicenseModel": Schema{
			Type: ValueString,
		},

		"MasterUsername": Schema{
			Type: ValueString,
			Conflicts: constraints.Any{
				constraints.PropertyExists("SourceDBInstanceIdentifier"),
				constraints.PropertyExists("DBSnapshotIdentifier"),
			},
		},

		"MasterUserPassword": Schema{
			Type:      ValueString,
			Conflicts: constraints.PropertyExists("SourceDBInstanceIdentifier"),
		},

		"MultiAZ": Schema{
			Type: ValueBool,
		},

		"OptionGroupName": Schema{
			Type: ValueString,
		},

		"Port": Schema{
			Type: ValueString,
		},

		"PreferredBackupWindow": Schema{
			Type: ValueString,
		},

		"PreferredMaintenanceWindow": Schema{
			Type: ValueString,
		},

		"PubliclyAccessible": Schema{
			Type: ValueBool,
		},

		"SourceDBInstanceIdentifier": Schema{
			Type: ValueString,
			Conflicts: constraints.Any{
				constraints.PropertyIs("MultiAZ", true),
				constraints.PropertyExists("DBSnapshotIdentifier"),
				constraints.PropertyExists("BackupRetentionPeriod"),
				constraints.PropertyExists("DBName"),
				constraints.PropertyExists("MasterUsername"),
				constraints.PropertyExists("MasterUserPassword"),
				constraints.PropertyExists("PreferredBackupWindow"),
				constraints.PropertyIs("Engine", "aurora"),
			},
		},

		"StorageEncrypted": Schema{
			Type: ValueBool,
			Conflicts: constraints.Any{
				constraints.PropertyExists("DBSnapshotIdentifier"),
				constraints.PropertyExists("SourceDBInstanceIdentifier"),
			},
			Required: constraints.PropertyExists("KmsKeyId"),
		},

		"StorageType": Schema{
			Type: EnumValue{
				Description: "DB Instance Storage Type",

				Options: []string{"standard", "io1", "gp2"},
			},
		},

		"Tags": Schema{
			Type: Multiple(common.ResourceTag),
		},

		"VPCSecurityGroups": Schema{
			Type:      Multiple(SecurityGroupID),
			Conflicts: constraints.PropertyExists("DBSubnetGroups"),
		},
	},
}

see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html

View Source
var DBParameterGroup = Resource{
	AwsType: "AWS::RDS::DBParameterGroup",

	ReturnValue: Schema{
		Type: ValueString,
	},

	Properties: Properties{
		"Description": Schema{
			Type:     ValueString,
			Required: constraints.Always,
		},

		"Family": Schema{
			Type:     ValueString,
			Required: constraints.Always,
		},

		"Parameters": Schema{
			Type:     JSON,
			Required: constraints.Always,
		},

		"Tags": Schema{
			Type: Multiple(common.ResourceTag),
		},
	},
}

see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbparametergroup.html

View Source
var DBSecurityGroup = Resource{
	AwsType: "AWS::RDS::DBSecurityGroup",

	ReturnValue: Schema{
		Type: dbSecurityGroupName,
	},

	Properties: Properties{
		"EC2VpcId": Schema{
			Type: VpcID,
		},

		"DBSecurityGroupIngress": Schema{
			Type:     Multiple(securityGroupRule),
			Required: constraints.Always,
		},

		"GroupDescription": Schema{
			Type:     ValueString,
			Required: constraints.Always,
		},

		"Tags": Schema{
			Type: Multiple(common.ResourceTag),
		},
	},
}

see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-security-group.html

View Source
var DBSecurityGroupIngress = Resource{
	AwsType: "AWS::RDS::DBSecurityGroupIngress",

	ReturnValue: Schema{
		Type: ValueString,
	},

	Properties: Properties{
		"CIDRIP": Schema{
			Type: CIDR,
		},

		"DBSecurityGroupName": Schema{
			Type:     dbSecurityGroupName,
			Required: constraints.Always,
		},

		"EC2SecurityGroupId": Schema{
			Type: SecurityGroupID,
		},

		"EC2SecurityGroupName": Schema{
			Type: SecurityGroupName,
		},

		"EC2SecurityGroupOwnerId": Schema{
			Type: ValueString,
		},
	},
}

see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-security-group-ingress.html

View Source
var DBSubnetGroup = Resource{
	AwsType: "AWS::RDS::DBSubnetGroup",

	ReturnValue: Schema{
		Type: ValueString,
	},

	Properties: Properties{
		"DBSubnetGroupDescription": Schema{
			Type:     ValueString,
			Required: constraints.Always,
		},

		"SubnetIds": Schema{
			Type:     Multiple(SubnetID),
			Required: constraints.Always,
		},

		"Tags": Schema{
			Type: Multiple(common.ResourceTag),
		},
	},
}

see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsubnet-group.html

View Source
var EventSubscription = Resource{
	AwsType: "AWS::RDS::EventSubscription",

	ReturnValue: Schema{
		Type: ValueString,
	},

	Properties: Properties{
		"Enabled": Schema{
			Type:    ValueBool,
			Default: true,
		},

		"EventCategories": Schema{
			Type: Multiple(ValueString),
		},

		"SnsTopicArn": Schema{
			Type:     ARN,
			Required: constraints.Always,
		},

		"SourceIds": Schema{
			Type: Multiple(ValueString),
		},

		"SourceType": Schema{
			Type: ValueString,
			Required: constraints.Any{
				constraints.PropertyExists("SourceIds"),
				constraints.PropertyExists("EventCategories"),
			},
		},
	},
}

see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-eventsubscription.html

View Source
var OptionGroup = Resource{
	AwsType: "AWS::RDS::OptionGroup",

	ReturnValue: Schema{
		Type: ValueString,
	},

	Properties: Properties{
		"EngineName": Schema{
			Type:     ValueString,
			Required: constraints.Always,
		},

		"MajorEngineVersion": Schema{
			Type:     ValueString,
			Required: constraints.Always,
		},

		"OptionGroupDescription": Schema{
			Type:     ValueString,
			Required: constraints.Always,
		},

		"OptionConfigurations": Schema{
			Type:     Multiple(optionConfiguration),
			Required: constraints.Always,
		},

		"Tags": Schema{
			Type: Multiple(common.ResourceTag),
		},
	},
}

see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-optiongroup.html

Functions

This section is empty.

Types

This section is empty.

Jump to

Keyboard shortcuts

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