diff options
Diffstat (limited to 'vendor/github.com/goamz/goamz/rds')
-rw-r--r-- | vendor/github.com/goamz/goamz/rds/rds.go | 96 | ||||
-rw-r--r-- | vendor/github.com/goamz/goamz/rds/rds_test.go | 77 | ||||
-rw-r--r-- | vendor/github.com/goamz/goamz/rds/responses_test.go | 57 | ||||
-rw-r--r-- | vendor/github.com/goamz/goamz/rds/types.go | 388 |
4 files changed, 0 insertions, 618 deletions
diff --git a/vendor/github.com/goamz/goamz/rds/rds.go b/vendor/github.com/goamz/goamz/rds/rds.go deleted file mode 100644 index f00b52c64..000000000 --- a/vendor/github.com/goamz/goamz/rds/rds.go +++ /dev/null @@ -1,96 +0,0 @@ -package rds - -import ( - "encoding/xml" - "github.com/goamz/goamz/aws" - "log" - "net/http/httputil" - "strconv" -) - -const debug = false - -const ( - ServiceName = "rds" - ApiVersion = "2013-09-09" -) - -// The RDS type encapsulates operations within a specific EC2 region. -type RDS struct { - Service aws.AWSService -} - -// New creates a new RDS Client. -func New(auth aws.Auth, region aws.Region) (*RDS, error) { - service, err := aws.NewService(auth, region.RDSEndpoint) - if err != nil { - return nil, err - } - return &RDS{ - Service: service, - }, nil -} - -// ---------------------------------------------------------------------------- -// Request dispatching logic. - -// query dispatches a request to the RDS API signed with a version 2 signature -func (rds *RDS) query(method, path string, params map[string]string, resp interface{}) error { - // Add basic RDS param - params["Version"] = ApiVersion - - r, err := rds.Service.Query(method, path, params) - if err != nil { - return err - } - defer r.Body.Close() - - if debug { - dump, _ := httputil.DumpResponse(r, true) - log.Printf("response:\n") - log.Printf("%v\n}\n", string(dump)) - } - - if r.StatusCode != 200 { - return rds.Service.BuildError(r) - } - err = xml.NewDecoder(r.Body).Decode(resp) - return err -} - -// ---------------------------------------------------------------------------- -// API methods and corresponding response types. - -// Response to a DescribeDBInstances request -// -// See http://goo.gl/KSPlAl for more details. -type DescribeDBInstancesResponse struct { - DBInstances []DBInstance `xml:"DescribeDBInstancesResult>DBInstances>DBInstance"` // The list of database instances - Marker string `xml:"DescribeDBInstancesResult>Marker"` // An optional pagination token provided by a previous request - RequestId string `xml:"ResponseMetadata>RequestId"` -} - -// DescribeDBInstances - Returns a description of each Database Instance -// Supports pagination by using the "Marker" parameter, and "maxRecords" for subsequent calls -// Unfortunately RDS does not currently support filtering -// -// See http://goo.gl/lzZMyz for more details. -func (rds *RDS) DescribeDBInstances(id string, maxRecords int, marker string) (*DescribeDBInstancesResponse, error) { - - params := aws.MakeParams("DescribeDBInstances") - - if id != "" { - params["DBInstanceIdentifier"] = id - } - - if maxRecords != 0 { - params["MaxRecords"] = strconv.Itoa(maxRecords) - } - if marker != "" { - params["Marker"] = marker - } - - resp := &DescribeDBInstancesResponse{} - err := rds.query("POST", "/", params, resp) - return resp, err -} diff --git a/vendor/github.com/goamz/goamz/rds/rds_test.go b/vendor/github.com/goamz/goamz/rds/rds_test.go deleted file mode 100644 index ac277d4d7..000000000 --- a/vendor/github.com/goamz/goamz/rds/rds_test.go +++ /dev/null @@ -1,77 +0,0 @@ -package rds_test - -import ( - "testing" - - "github.com/goamz/goamz/aws" - "github.com/goamz/goamz/rds" - "github.com/goamz/goamz/testutil" - . "gopkg.in/check.v1" -) - -func Test(t *testing.T) { - TestingT(t) -} - -var _ = Suite(&S{}) - -type S struct { - rds *rds.RDS -} - -var testServer = testutil.NewHTTPServer() - -func (s *S) SetUpSuite(c *C) { - var err error - testServer.Start() - auth := aws.Auth{AccessKey: "abc", SecretKey: "123"} - s.rds, err = rds.New(auth, aws.Region{RDSEndpoint: aws.ServiceInfo{testServer.URL, aws.V2Signature}}) - c.Assert(err, IsNil) -} - -func (s *S) TearDownTest(c *C) { - testServer.Flush() -} - -func (s *S) TestDescribeDBInstancesExample1(c *C) { - testServer.Response(200, nil, DescribeDBInstancesExample1) - - resp, err := s.rds.DescribeDBInstances("simcoprod01", 0, "") - - req := testServer.WaitRequest() - c.Assert(req.Form["Action"], DeepEquals, []string{"DescribeDBInstances"}) - c.Assert(req.Form["DBInstanceIdentifier"], DeepEquals, []string{"simcoprod01"}) - - c.Assert(err, IsNil) - c.Assert(resp.RequestId, Equals, "9135fff3-8509-11e0-bd9b-a7b1ece36d51") - c.Assert(resp.DBInstances, HasLen, 1) - - db0 := resp.DBInstances[0] - c.Assert(db0.AllocatedStorage, Equals, 10) - c.Assert(db0.AutoMinorVersionUpgrade, Equals, true) - c.Assert(db0.AvailabilityZone, Equals, "us-east-1a") - c.Assert(db0.BackupRetentionPeriod, Equals, 1) - - c.Assert(db0.DBInstanceClass, Equals, "db.m1.large") - c.Assert(db0.DBInstanceIdentifier, Equals, "simcoprod01") - c.Assert(db0.DBInstanceStatus, Equals, "available") - c.Assert(db0.DBName, Equals, "simcoprod") - - c.Assert(db0.Endpoint.Address, Equals, "simcoprod01.cu7u2t4uz396.us-east-1.rds.amazonaws.com") - c.Assert(db0.Endpoint.Port, Equals, 3306) - c.Assert(db0.Engine, Equals, "mysql") - c.Assert(db0.EngineVersion, Equals, "5.1.50") - c.Assert(db0.InstanceCreateTime, Equals, "2011-05-23T06:06:43.110Z") - - c.Assert(db0.LatestRestorableTime, Equals, "2011-05-23T06:50:00Z") - c.Assert(db0.LicenseModel, Equals, "general-public-license") - c.Assert(db0.MasterUsername, Equals, "master") - c.Assert(db0.MultiAZ, Equals, false) - c.Assert(db0.OptionGroupMemberships, HasLen, 1) - c.Assert(db0.OptionGroupMemberships[0].Name, Equals, "default.mysql5.1") - c.Assert(db0.OptionGroupMemberships[0].Status, Equals, "in-sync") - - c.Assert(db0.PreferredBackupWindow, Equals, "00:00-00:30") - c.Assert(db0.PreferredMaintenanceWindow, Equals, "sat:07:30-sat:08:00") - c.Assert(db0.PubliclyAccessible, Equals, false) -} diff --git a/vendor/github.com/goamz/goamz/rds/responses_test.go b/vendor/github.com/goamz/goamz/rds/responses_test.go deleted file mode 100644 index b7912f84b..000000000 --- a/vendor/github.com/goamz/goamz/rds/responses_test.go +++ /dev/null @@ -1,57 +0,0 @@ -package rds_test - -var DescribeDBInstancesExample1 = ` -<DescribeDBInstancesResponse xmlns="http://rds.amazonaws.com/doc/2013-09-09/"> - <DescribeDBInstancesResult> - <DBInstances> - <DBInstance> - <ReadReplicaDBInstanceIdentifiers/> - <LatestRestorableTime>2011-05-23T06:50:00Z</LatestRestorableTime> - <Engine>mysql</Engine> - <PendingModifiedValues/> - <BackupRetentionPeriod>1</BackupRetentionPeriod> - <MultiAZ>false</MultiAZ> - <LicenseModel>general-public-license</LicenseModel> - <DBInstanceStatus>available</DBInstanceStatus> - <EngineVersion>5.1.50</EngineVersion> - <Endpoint> - <Port>3306</Port> - <Address>simcoprod01.cu7u2t4uz396.us-east-1.rds.amazonaws.com</Address> - </Endpoint> - <DBInstanceIdentifier>simcoprod01</DBInstanceIdentifier> - <DBName>simcoprod</DBName> - <DBParameterGroups> - <DBParameterGroup> - <ParameterApplyStatus>in-sync</ParameterApplyStatus> - <DBParameterGroupName>default.mysql5.1</DBParameterGroupName> - </DBParameterGroup> - </DBParameterGroups> - <DBSecurityGroups> - <DBSecurityGroup> - <Status>active</Status> - <DBSecurityGroupName>default</DBSecurityGroupName> - </DBSecurityGroup> - </DBSecurityGroups> - <PreferredBackupWindow>00:00-00:30</PreferredBackupWindow> - <AutoMinorVersionUpgrade>true</AutoMinorVersionUpgrade> - <PreferredMaintenanceWindow>sat:07:30-sat:08:00</PreferredMaintenanceWindow> - <AvailabilityZone>us-east-1a</AvailabilityZone> - <InstanceCreateTime>2011-05-23T06:06:43.110Z</InstanceCreateTime> - <AllocatedStorage>10</AllocatedStorage> - <OptionGroupMemberships> - <OptionGroupMembership> - <OptionGroupName>default.mysql5.1</OptionGroupName> - <Status>in-sync</Status> - </OptionGroupMembership> - </OptionGroupMemberships> - <DBInstanceClass>db.m1.large</DBInstanceClass> - <MasterUsername>master</MasterUsername> - <PubliclyAccessible>false</PubliclyAccessible> - </DBInstance> - </DBInstances> - </DescribeDBInstancesResult> - <ResponseMetadata> - <RequestId>9135fff3-8509-11e0-bd9b-a7b1ece36d51</RequestId> - </ResponseMetadata> -</DescribeDBInstancesResponse> -` diff --git a/vendor/github.com/goamz/goamz/rds/types.go b/vendor/github.com/goamz/goamz/rds/types.go deleted file mode 100644 index aa9c4024f..000000000 --- a/vendor/github.com/goamz/goamz/rds/types.go +++ /dev/null @@ -1,388 +0,0 @@ -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"` -} |