summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/goamz/goamz/rds/types.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/goamz/goamz/rds/types.go')
-rw-r--r--vendor/github.com/goamz/goamz/rds/types.go388
1 files changed, 388 insertions, 0 deletions
diff --git a/vendor/github.com/goamz/goamz/rds/types.go b/vendor/github.com/goamz/goamz/rds/types.go
new file mode 100644
index 000000000..aa9c4024f
--- /dev/null
+++ b/vendor/github.com/goamz/goamz/rds/types.go
@@ -0,0 +1,388 @@
+package rds
+
+// AvailabilityZone contains Availability Zone information
+// See http://goo.gl/GWF4zF for more details.
+type AvailabilityZone struct {
+ Name string `xml:"Name"`
+ ProvisionedIopsCapable bool `xml:"ProvisionedIopsCapable"`
+}
+
+// CharacterSet represents a character set used by a Database Engine
+// See http://goo.gl/0BXwFp for more details.
+type CharacterSet struct {
+ Name string `xml:"CharacterSetName"`
+ Description string `xml:"CharacterSetDescription"`
+}
+
+// DBEngineVersion describes a version of a Database Engine
+// See http://goo.gl/a5l6cv for more details.
+type DBEngineVersion struct {
+ DBEngineDescription string `xml:"DBEngineDescription"` // The description of the database engine
+ DBEngineVersionDescription string `xml:"DBEngineVersionDescription"` // The description of the database engine version
+ DBParameterGroupFamily string `xml:"DBParameterGroupFamily"` // The name of the DB parameter group family for the database engine
+ DefaultCharacterSet CharacterSet `xml:"DefaultCharacterSet"` // The default character set for new instances of this engine version, if the CharacterSetName parameter of the CreateDBInstance API is not specified
+ Engine string `xml:"Engine"` // The name of the database engine
+ EngineVersion string `xml:"EngineVersion"` // The version number of the database engine
+ SupportedCharacterSets []CharacterSet `xml:"SupportedCharacterSets"` // A list of the character sets supported by this engine for the CharacterSetName parameter of the CreateDBInstance API
+}
+
+// DBInstance encapsulates an instance of a Database
+// See http://goo.gl/rQFpAe for more details.
+type DBInstance struct {
+ AllocatedStorage int `xml:"AllocatedStorage"` // Specifies the allocated storage size specified in gigabytes.
+ AutoMinorVersionUpgrade bool `xml:"AutoMinorVersionUpgrade"` // Indicates that minor version patches are applied automatically.
+ AvailabilityZone string `xml:"AvailabilityZone"` // Specifies the name of the Availability Zone the DB instance is located in.
+ BackupRetentionPeriod int `xml:"BackupRetentionPeriod"` // Specifies the number of days for which automatic DB snapshots are retained.
+ CharacterSetName string `xml:"CharacterSetName"` // If present, specifies the name of the character set that this instance is associated with.
+ DBInstanceClass string `xml:"DBInstanceClass"` // Contains the name of the compute and memory capacity class of the DB instance.
+ DBInstanceIdentifier string `xml:"DBInstanceIdentifier"` // Contains a user-supplied database identifier. This is the unique key that identifies a DB instance.
+ DBInstanceStatus string `xml:"DBInstanceStatus"` // Specifies the current state of this database.
+ DBName string `xml:"DBName"` // The meaning of this parameter differs according to the database engine you use.
+ DBParameterGroups []DBParameterGroupStatus `xml:"DBParameterGroups>DBParameterGroup"` // Provides the list of DB parameter groups applied to this DB instance.
+ DBSecurityGroups []DBSecurityGroupMembership `xml:"DBSecurityGroups>DBSecurityGroup"` // Provides List of DB security group elements containing only DBSecurityGroup.Name and DBSecurityGroup.Status subelements.
+ DBSubnetGroup DBSubnetGroup `xml:"DBSubnetGroup"` // Specifies information on the subnet group associated with the DB instance, including the name, description, and subnets in the subnet group.
+ Endpoint Endpoint `xml:"Endpoint"` // Specifies the connection endpoint.
+ Engine string `xml:"Engine"` // Provides the name of the database engine to be used for this DB instance.
+ EngineVersion string `xml:"EngineVersion"` // Indicates the database engine version.
+ InstanceCreateTime string `xml:"InstanceCreateTime"` // Provides the date and time the DB instance was created.
+ Iops int `xml:"Iops"` // Specifies the Provisioned IOPS (I/O operations per second) value.
+ LatestRestorableTime string `xml:"LatestRestorableTime"` // Specifies the latest time to which a database can be restored with point-in-time restore.
+ LicenseModel string `xml:"LicenseModel"` // License model information for this DB instance.
+ MasterUsername string `xml:"MasterUsername"` // Contains the master username for the DB instance.
+ MultiAZ bool `xml:"MultiAZ"` // Specifies if the DB instance is a Multi-AZ deployment.
+ OptionGroupMemberships []OptionGroupMembership `xml:"OptionGroupMemberships>OptionGroupMembership"` // Provides the list of option group memberships for this DB instance.
+ PendingModifiedValues PendingModifiedValues `xml:"PendingModifiedValues"` // Specifies that changes to the DB instance are pending. This element is only included when changes are pending. Specific changes are identified by subelements.
+ PreferredBackupWindow string `xml:"PreferredBackupWindow"` // Specifies the daily time range during which automated backups are created if automated backups are enabled, as determined by the BackupRetentionPeriod.
+ PreferredMaintenanceWindow string `xml:"PreferredMaintenanceWindow"` // Specifies the weekly time range (in UTC) during which system maintenance can occur.
+ PubliclyAccessible bool `xml:"PubliclyAccessible"` // Specifies the accessibility options for the DB instance. A value of true specifies an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address. A value of false specifies an internal instance with a DNS name that resolves to a private IP address.
+ ReadReplicaDBInstanceIdentifiers []string `xml:"ReadReplicaDBInstanceIdentifiers"` // Contains one or more identifiers of the read replicas associated with this DB instance.
+ ReadReplicaSourceDBInstanceIdentifier string `xml:"ReadReplicaSourceDBInstanceIdentifier"` // Contains the identifier of the source DB instance if this DB instance is a read replica.
+ SecondaryAvailabilityZone string `xml:"SecondaryAvailabilityZone"` // If present, specifies the name of the secondary Availability Zone for a DB instance with multi-AZ support.
+ StatusInfos []DBInstanceStatusInfo `xml:"StatusInfos"` // The status of a read replica. If the instance is not a read replica, this will be blank.
+ VpcSecurityGroups []VpcSecurityGroupMembership `xml:"VpcSecurityGroups"` // Provides List of VPC security group elements that the DB instance belongs to.
+}
+
+// DBInstanceStatusInfo provides a list of status information for a DB instance
+// See http://goo.gl/WuePdz for more details.
+type DBInstanceStatusInfo struct {
+ Message string `xml:"Message"` // Details of the error if there is an error for the instance. If the instance is not in an error state, this value is blank.
+ Normal bool `xml:"Normal"` // Boolean value that is true if the instance is operating normally, or false if the instance is in an error state.
+ Status string `xml:"Status"` // Status of the DB instance. For a StatusType of read replica, the values can be replicating, error, stopped, or terminated.
+ StatusType string `xml:"StatusType"` // This value is currently "read replication."
+}
+
+// DBParameterGroup contains the result of a successful invocation of the CreateDBParameterGroup action
+// See http://goo.gl/a8BCTy for more details.
+type DBParameterGroup struct {
+ Name string `xml:"DBParameterGroupName"`
+ Description string `xml:"Description"`
+ Family string `xml:"DBParameterGroupFamily"`
+}
+
+// DBParameterGroupStatus represents the status of the DB parameter group
+// See http://goo.gl/X318cI for more details.
+type DBParameterGroupStatus struct {
+ Name string `xml:"DBParameterGroupName"`
+ Status string `xml:"ParameterApplyStatus"`
+}
+
+// DBSecurityGroup represents a RDS DB Security Group which controls network access to a DB instance that is not inside a VPC
+// See http://goo.gl/JF5oJy for more details.
+type DBSecurityGroup struct {
+ Name string `xml:"DBSecurityGroupName"`
+ Description string `xml:"DBSecurityGroupDescription"`
+ EC2SecurityGroups []EC2SecurityGroup `xml:"EC2SecurityGroups"`
+ IPRanges []IPRange `xml:"IPRanges"`
+ OwnerId string `xml:"OwnerId"`
+ VpcId string `xml:"VpcId"`
+}
+
+// DBSecurityGroupMembership represents a DBSecurityGroup which a Database Instance belongs to
+// See http://goo.gl/QjTK0b for more details.
+type DBSecurityGroupMembership struct {
+ Name string `xml:"DBSecurityGroupName"`
+ Status string `xml:"Status"`
+}
+
+// DBSnapshot represents a snapshot of a Database (a backup of the Instance data)
+// See http://goo.gl/wkf0L9 for more details.
+type DBSnapshot struct {
+ AllocatedStorage int `xml:"AllocatedStorage"` // Specifies the allocated storage size in gigabytes (GB)
+ AvailabilityZone string `xml:"AvailabilityZone"`
+ DBInstanceIdentifier string `xml:"DBInstanceIdentifier"`
+ DBSnapshotIdentifier string `xml:"DBSnapshotIdentifier"`
+ Engine string `xml:"Engine"`
+ EngineVersion string `xml:"EngineVersion"`
+ InstanceCreateTime string `xml:"InstanceCreateTime"`
+ Iops int `xml:"Iops"`
+ LicenseModel string `xml:"LicenseModel"`
+ MasterUsername string `xml:"MasterUsername"`
+ OptionGroupName string `xml:"OptionGroupName"`
+ PercentProgress int `xml:"PercentProgress"`
+ Port int `xml:"Port"`
+ SnapshotCreateTime string `xml:"SnapshotCreateTime"`
+ SnapshotType string `xml:"SnapshotType"`
+ SourceRegion string `xml:"SourceRegion"`
+ Status string `xml:"Status"`
+ VpcId string `xml:"VpcId"`
+}
+
+// DBSubnetGroup is a collection of subnets that is designated for an RDS DB Instance in a VPC
+// See http://goo.gl/8vMPkE for more details.
+type DBSubnetGroup struct {
+ Name string `xml:"DBSubnetGroupName"`
+ Description string `xml:"DBSubnetGroupDescription"`
+ Status string `xml:"SubnetGroupStatus"`
+ Subnets []Subnet `xml:"Subnets>Subnet"`
+ VpcId string `xml:"VpcId"`
+}
+
+// EC2SecurityGroup a standard EC2 Security Group which can be assigned to a DB Instance
+// See http://goo.gl/AWavZ2 for more details.
+type EC2SecurityGroup struct {
+ Id string `xml:"EC2SecurityGroupId"`
+ Name string `xml:"EC2SecurityGroupName"`
+ OwnerId string `xml:"EC2SecurityGroupOwnerId"` // The AWS ID of the owner of the EC2 security group
+ Status string `xml:"Status"` // Status can be "authorizing", "authorized", "revoking", and "revoked"
+}
+
+// Endpoint encapsulates the connection endpoint for a DB Instance
+// See http://goo.gl/jefsJ4 for more details.
+type Endpoint struct {
+ Address string `xml:"Address"`
+ Port int `xml:"Port"`
+}
+
+// EngineDefaults describes the system parameter information for a given database engine
+// See http://goo.gl/XFy7Wv for more details.
+type EngineDefaults struct {
+ DBParameterGroupFamily string `xml:"DBParameterGroupFamily"`
+ Marker string `xml:"Marker"`
+ Parameters []Parameter `xml:"Parameters"`
+}
+
+// Event encapsulates events related to DB instances, DB security groups, DB snapshots, and DB parameter groups
+// See http://goo.gl/6fUQow for more details.
+type Event struct {
+ Date string `xml:"Date"` // Specifies the date and time of the event
+ EventCategories []string `xml:"EventCategories"` // Specifies the category for the event
+ Message string `xml:"Message"` // Provides the text of this event
+ SourceIdentifier string `xml:"SourceIdentifier"` // Provides the identifier for the source of the event
+ SourceType string `xml:"SourceType"` // Valid Values: db-instance | db-parameter-group | db-security-group | db-snapshot
+}
+
+// EventCategoriesMap encapsulates event categories for the specified source type
+// See http://goo.gl/9VY3aS for more details.
+type EventCategoriesMap struct {
+ EventCategories []string `xml:"EventCategories"`
+ SourceType string `xml:"SourceType"`
+}
+
+// EventSubscription describes a subscription, for a customer account, to a series of events
+// See http://goo.gl/zgNdXw for more details.
+type EventSubscription struct {
+ CustSubscriptionId string `xml:"CustSubscriptionId"` // The RDS event notification subscription Id
+ CustomerAwsId string `xml:"CustomerAwsId"` // The AWS customer account associated with the RDS event notification subscription
+ Enabled bool `xml:"Enabled"` // True indicates the subscription is enabled
+ EventCategoriesList []string `xml:"EventCategoriesList"` // A list of event categories for the RDS event notification subscription
+ SnsTopicArn string `xml:"SnsTopicArn"` // The topic ARN of the RDS event notification subscription
+ SourceIdsList []string `xml:"SourceIdsList"` // A list of source Ids for the RDS event notification subscription
+ SourceType string `xml:"SourceType"` // The source type for the RDS event notification subscription
+ Status string `xml:"Status"` // Can be one of the following: creating | modifying | deleting | active | no-permission | topic-not-exist
+ SubscriptionCreationTime string `xml:"SubscriptionCreationTime"` // The time the RDS event notification subscription was created
+}
+
+// IPRange encapsulates an IP range (and its status) used by a DB Security Group
+// See http://goo.gl/VfntNm for more details.
+type IPRange struct {
+ CIDRIP string `xml:"CIDRIP"`
+ Status string `xml:"Status"` // Specifies the status of the IP range. Status can be "authorizing", "authorized", "revoking", and "revoked".
+}
+
+// Option describes a feature available for an RDS instance along with any settings applicable to it
+// See http://goo.gl/8DYY0J for more details.
+type Option struct {
+ Name string `xml:"OptionName"`
+ Description string `xml:"OptionDescription"`
+ Settings []OptionSetting `xml:"OptionSettings"`
+ Permanent bool `xml:"Permanent"`
+ Persistent bool `xml:"Persistent"`
+ Port int `xml:"Port"`
+ DBSecurityGroupMemberships []DBSecurityGroupMembership `xml:"DBSecurityGroupMemberships"` // If the option requires access to a port, then this DB security group allows access to the port
+ VpcSecurityGroupMemberships []VpcSecurityGroupMembership `xml:"VpcSecurityGroupMemberships"` // If the option requires access to a port, then this VPC security group allows access to the port
+}
+
+// OptionConfiguration is a list of all available options
+// See http://goo.gl/kkEzw1 for more details.
+type OptionConfiguration struct {
+ OptionName string `xml:"OptionName"`
+ OptionSettings []OptionSetting `xml:"OptionSettings"`
+ Port int `xml:"Port"`
+ DBSecurityGroupMemberships []string `xml:"DBSecurityGroupMemberships"`
+ VpcSecurityGroupMemberships []string `xml:"VpcSecurityGroupMemberships"`
+}
+
+// OptionGroup represents a set of features, called options, that are available for a particular Amazon RDS DB instance
+// See http://goo.gl/NedBJl for more details.
+type OptionGroup struct {
+ Name string `xml:"OptionGroupName"`
+ Description string `xml:"OptionGroupDescription"`
+ VpcId string `xml:"VpcId"`
+ AllowsVpcAndNonVpcInstanceMemberships bool `xml:"AllowsVpcAndNonVpcInstanceMemberships"`
+ EngineName string `xml:"EngineName"`
+ MajorEngineVersion string `xml:"MajorEngineVersion"`
+ Options []Option `xml:"Options"`
+}
+
+// OptionGroupMembership provides information on the option groups the DB instance is a member of
+// See http://goo.gl/XBW6j4 for more details.
+type OptionGroupMembership struct {
+ Name string `xml:"OptionGroupName"` // The name of the option group that the instance belongs to
+ Status string `xml:"Status"` // The status of the option group membership, e.g. in-sync, pending, pending-maintenance, applying
+}
+
+// OptionGroupOption represents an option within an option group
+// See http://goo.gl/jQYL0U for more details.
+type OptionGroupOption struct {
+ DefaultPort int `xml:"DefaultPort"`
+ Description string `xml:"Description"`
+ EngineName string `xml:"EngineName"`
+ MajorEngineVersion string `xml:"MajorEngineVersion"`
+ MinimumRequiredMinorEngineVersion string `xml:"MinimumRequiredMinorEngineVersion"`
+ Name string `xml:"Name"`
+ OptionGroupOptionSettings []OptionGroupOptionSetting `xml:"OptionGroupOptionSettings"`
+ OptionsDependedOn string `xml:"OptionsDependedOn"`
+ Permanent bool `xml:"Permanent"`
+ Persistent bool `xml:"Persistent"`
+ PortRequired bool `xml:"PortRequired"`
+}
+
+// OptionGroupOptionSetting are used to display settings available for each option with their default values and other information
+// See http://goo.gl/9aIwNX for more details.
+type OptionGroupOptionSetting struct {
+ AllowedValues string `xml:"AllowedValues"`
+ ApplyType string `xml:"ApplyType"`
+ DefaultValue string `xml:"DefaultValue"`
+ IsModifiable bool `xml:"IsModifiable"`
+ SettingDescription string `xml:"SettingDescription"`
+ SettingName string `xml:"SettingName"`
+}
+
+// OptionSetting encapsulates modifiable settings for a particular option (a feature available for a Database Instance)
+// See http://goo.gl/VjOJmW for more details.
+type OptionSetting struct {
+ Name string `xml:"Name"`
+ Value string `xml:"Value"`
+ Description string `xml:"Description"`
+ AllowedValues string `xml:"AllowedValues"`
+ ApplyType string `xml:"ApplyType"`
+ DataType string `xml:"DataType"`
+ DefaultValue string `xml:"DefaultValue"`
+ IsCollection bool `xml:"IsCollection"`
+ IsModifiable bool `xml:"IsModifiable"`
+}
+
+// OrderableDBInstanceOption contains a list of available options for a DB instance
+// See http://goo.gl/FVPeVC for more details.
+type OrderableDBInstanceOption struct {
+ AvailabilityZones []AvailabilityZone `xml:"AvailabilityZones"`
+ DBInstanceClass string `xml:"DBInstanceClass"`
+ Engine string `xml:"Engine"`
+ EngineVersion string `xml:"EngineVersion"`
+ LicenseModel string `xml:"LicenseModel"`
+ MultiAZCapable bool `xml:"MultiAZCapable"`
+ ReadReplicaCapable bool `xml:"ReadReplicaCapable"`
+ Vpc bool `xml:"Vpc"`
+}
+
+// Parameter is used as a request parameter in various actions
+// See http://goo.gl/cJmvVT for more details.
+type Parameter struct {
+ AllowedValues string `xml:"AllowedValues"`
+ ApplyMethod string `xml:"ApplyMethod"` // Valid Values: immediate | pending-reboot
+ ApplyType string `xml:"ApplyType"`
+ DataType string `xml:"DataType"`
+ Description string `xml:"Description"`
+ IsModifiable bool `xml:"IsModifiable"`
+ MinimumEngineVersion string `xml:"MinimumEngineVersion"`
+ ParameterName string `xml:"ParameterName"`
+ ParameterValue string `xml:"ParameterValue"`
+ Source string `xml:"Source"`
+}
+
+// PendingModifiedValues represents values modified in a ModifyDBInstance action
+// See http://goo.gl/UoXhLH for more details.
+type PendingModifiedValues struct {
+ AllocatedStorage int `xml:"AllocatedStorage"`
+ BackupRetentionPeriod int `xml:"BackupRetentionPeriod"`
+ DBInstanceClass string `xml:"DBInstanceClass"`
+ DBInstanceIdentifier string `xml:"DBInstanceIdentifier"`
+ EngineVersion string `xml:"EngineVersion"`
+ Iops int `xml:"Iops"`
+ MasterUserPassword string `xml:"MasterUserPassword"`
+ MultiAZ bool `xml:"MultiAZ"`
+ Port string `xml:"Port"`
+}
+
+// RecurringCharge describes an amount that will be charged on a recurring basis with a given frequency
+// See http://goo.gl/3GDplh for more details.
+type RecurringCharge struct {
+ Amount float64 `xml:"RecurringChargeAmount"`
+ Frequency string `xml:"RecurringChargeFrequency"`
+}
+
+// ReservedDBInstance encapsulates a reserved Database Instance
+// See http://goo.gl/mjLhNI for more details.
+type ReservedDBInstance struct {
+ CurrencyCode string `xml:"CurrencyCode"`
+ DBInstanceClass string `xml:"DBInstanceClass"`
+ DBInstanceCount int `xml:"DBInstanceCount"`
+ Duration int `xml:"Duration"`
+ FixedPrice float64 `xml:"FixedPrice"`
+ MultiAZ bool `xml:"MultiAZ"`
+ OfferingType string `xml:"OfferingType"`
+ ProductDescription string `xml:"ProductDescription"`
+ RecurringCharges []RecurringCharge `xml:"RecurringCharges"`
+ ReservedDBInstanceId string `xml:"ReservedDBInstanceId"`
+ ReservedDBInstancesOfferingId string `xml:"ReservedDBInstancesOfferingId"`
+ StartTime string `xml:"StartTime"`
+ State string `xml:"State"`
+ UsagePrice float64 `xml:"UsagePrice"`
+}
+
+// ReservedDBInstancesOffering describes an available Reserved DB instance offering which can be purchased
+// See http://goo.gl/h5s8e6 for more details.
+type ReservedDBInstancesOffering struct {
+ CurrencyCode string `xml:"CurrencyCode"`
+ DBInstanceClass string `xml:"DBInstanceClass"`
+ Duration int `xml:"Duration"`
+ FixedPrice float64 `xml:"FixedPrice"`
+ MultiAZ bool `xml:"MultiAZ"`
+ OfferingType string `xml:"OfferingType"`
+ ProductDescription string `xml:"ProductDescription"`
+ RecurringCharges []RecurringCharge `xml:"RecurringCharges"`
+ ReservedDBInstancesOfferingId string `xml:"ReservedDBInstancesOfferingId"`
+ UsagePrice float64 `xml:"UsagePrice"`
+}
+
+// Subnet describes an EC2 subnet, along with its status and location
+// See http://goo.gl/Nc8ymd for more details.
+type Subnet struct {
+ Id string `xml:"SubnetIdentifier"`
+ Status string `xml:"SubnetStatus"`
+ AvailabilityZone AvailabilityZone `xml:"SubnetAvailabilityZone"`
+}
+
+// Tag represents metadata assigned to an Amazon RDS resource consisting of a key-value pair
+// See http://goo.gl/YnXRrE for more details.
+type Tag struct {
+ Key string `xml:"Key"`
+ Value string `xml:"Value"`
+}
+
+// VpcSecurityGroupMembership describes a standard VPC Security Group which has been assigned to a DB Instance located in a VPC
+// See http://goo.gl/UIvmlS for more details.
+type VpcSecurityGroupMembership struct {
+ Id string `xml:"VpcSecurityGroupId"`
+ Status string `xml:"Status"`
+}