1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 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"`
}
|