o ckF[C@s|ddlmZddlmZddlmZddlmZddlm Z ddl m Z Gddde Z Gd d d eZGd d d eZd S))DBSecurityGroup)ParameterGroup) StatusInfo) DBSubnetGroup)VPCSecurityGroupMembership) ResultSetc@seZdZdZdddZddZddZd d Zed d Z ed dZ ddZ ddZ dddZ dddZ           dddZdS) DBInstancea Represents a RDS DBInstance Properties reference available from the AWS documentation at http://goo.gl/sC2Kn :ivar connection: connection :ivar id: The name and identifier of the DBInstance :ivar create_time: The date and time of creation :ivar engine: The database engine being used :ivar status: The status of the database in a string. e.g. "available" :ivar allocated_storage: The size of the disk in gigabytes (int). :ivar auto_minor_version_upgrade: Indicates that minor version patches are applied automatically. :ivar endpoint: A tuple that describes the hostname and port of the instance. This is only available when the database is in status "available". :ivar instance_class: Contains the name of the compute and memory capacity class of the DB Instance. :ivar master_username: The username that is set as master username at creation time. :ivar parameter_groups: Provides the list of DB Parameter Groups applied to this DB Instance. :ivar security_groups: Provides List of DB Security Group elements containing only DBSecurityGroup.Name and DBSecurityGroup.Status subelements. :ivar availability_zone: Specifies the name of the Availability Zone the DB Instance is located in. :ivar backup_retention_period: Specifies the number of days for which automatic DB Snapshots are retained. :ivar preferred_backup_window: Specifies the daily time range during which automated backups are created if automated backups are enabled, as determined by the backup_retention_period. :ivar preferred_maintenance_window: Specifies the weekly time range (in UTC) during which system maintenance can occur. (string) :ivar latest_restorable_time: Specifies the latest time to which a database can be restored with point-in-time restore. (string) :ivar multi_az: Boolean that specifies if the DB Instance is a Multi-AZ deployment. :ivar iops: The current number of provisioned IOPS for the DB Instance. Can be None if this is a standard instance. :ivar vpc_security_groups: List of VPC Security Group Membership elements containing only VpcSecurityGroupMembership.VpcSecurityGroupId and VpcSecurityGroupMembership.Status subelements. :ivar pending_modified_values: Specifies that changes to the DB Instance are pending. This element is only included when changes are pending. Specific changes are identified by subelements. :ivar read_replica_dbinstance_identifiers: List of read replicas associated with this DB instance. :ivar status_infos: The status of a Read Replica. If the instance is not a for a read replica, this will be blank. :ivar character_set_name: If present, specifies the name of the character set that this instance is associated with. :ivar subnet_group: Specifies information on the subnet group associated with the DB instance, including the name, description, and subnets in the subnet group. :ivar engine_version: Indicates the database engine version. :ivar license_model: License model information for this DB instance. NcCs||_||_d|_d|_d|_d|_d|_d|_d|_d|_ g|_ g|_ g|_ d|_ d|_d|_d|_d|_d|_d|_d|_d|_d|_d|_d|_d|_d|_d|_d|_d|_dS)NF) connectionid create_timeenginestatusallocated_storageauto_minor_version_upgradeendpointinstance_classmaster_usernameparameter_groupssecurity_groups#read_replica_dbinstance_identifiersavailability_zonebackup_retention_periodpreferred_backup_windowpreferred_maintenance_windowlatest_restorable_timemulti_aziopsvpc_security_groupspending_modified_values _in_endpoint_port_address status_infoscharacter_set_name subnet_groupengine_version license_model)selfr r r(5/usr/lib/python3/dist-packages/boto/rds/dbinstance.py__init__[s< zDBInstance.__init__cCs d|jS)Nz DBInstance:%s)r r'r(r(r)__repr__{s zDBInstance.__repr__cCs|dkr d|_dS|dkrtdtfg|_|jS|dkr'tdtfg|_|jS|dkr6tdtfg|_|jS|d krAt|_ |j S|d krLt |_ |j S|d kr[td t fg|_ |j S|d krft|_|jSdS)NEndpointTDBParameterGroupsDBParameterGroupDBSecurityGroupsrVpcSecurityGroupsVpcSecurityGroupMembershipPendingModifiedValues ReadReplicaDBInstanceIdentifiers StatusInfosDBInstanceStatusInfor)rrrrrrrrr3rr4rrr"rr$r'nameattrsr r(r(r) startElement~sD   zDBInstance.startElementcCs|dkr ||_dS|dkr||_dS|dkr||_dS|dkr$||_dS|dkr-||_dS|dkr8t||_dS|dkrE|dk|_dS|dkrN||_dS|d krW||_ dS|d krg|j ret||_ dSdS|d kru|j rs||_ dSdS|d kr|j |j f|_ d |_ dS|dkr||_dS|dkrt||_dS|dkr||_dS|dkr||_dS|dkr||_dS|dkr|dkrd|_dSdS|dkrt||_dS|dkr||_dS|dkr||_dS|dkr||_dSt|||dS)NDBInstanceIdentifierDBInstanceStatusInstanceCreateTimeEngineAllocatedStorageAutoMinorVersionUpgradetrueDBInstanceClassMasterUsernamePortAddressr-FAvailabilityZoneBackupRetentionPeriodLatestRestorableTimePreferredMaintenanceWindowPreferredBackupWindowMultiAZTIopsCharacterSetName EngineVersion LicenseModel)r r r r intrlowerrrrrr r!rrrrrrrrr#r%r&setattrr'r8valuer r(r(r) endElementsh                  zDBInstance.endElementcCt|jdkr |jdSdS)z_ Provide backward compatibility for previous security_group attribute. rN)lenrr+r(r(r)security_group zDBInstance.security_groupcCrV)z` Provide backward compatibility for previous parameter_group attribute. rrWN)rXrr+r(r(r)parameter_grouprZzDBInstance.parameter_groupcCs|j||jS)a Create a new DB snapshot of this DBInstance. :type identifier: string :param identifier: The identifier for the DBSnapshot :rtype: :class:`boto.rds.dbsnapshot.DBSnapshot` :return: The newly created DBSnapshot )r create_dbsnapshotr )r' snapshot_idr(r(r)snapshots zDBInstance.snapshotcCs|j|jS)z Reboot this DBInstance :rtype: :class:`boto.rds.dbsnapshot.DBSnapshot` :return: The newly created DBSnapshot )r reboot_dbinstancer r+r(r(r)rebootszDBInstance.rebootFcCs\|j|j}t|dkr"|D]}|j|jkr|j|jq|jS|r+td|j|jS)a Update the DB instance's status information by making a call to fetch the current instance attributes from the service. :type validate: bool :param validate: By default, if EC2 returns no data about the instance the update method returns quietly. If the validate param is True, however, it will raise a ValueError exception if no data is returned from EC2. rz%s is not a valid Instance ID)r get_all_dbinstancesr rX__dict__update ValueErrorr )r'validatersir(r(r)rcs  zDBInstance.updatecCs|j|j||S)ad Delete this DBInstance. :type skip_final_snapshot: bool :param skip_final_snapshot: This parameter determines whether a final db snapshot is created before the instance is deleted. If True, no snapshot is created. If False, a snapshot is created before deleting the instance. :type final_snapshot_id: str :param final_snapshot_id: If a final snapshot is requested, this is the identifier used for that snapshot. :rtype: :class:`boto.rds.dbinstance.DBInstance` :return: The deleted db instance. )r delete_dbinstancer )r'skip_final_snapshotfinal_snapshot_idr(r(r)stops zDBInstance.stopcCs(|j|j||||||||| | | | | S)a Modify this DBInstance. :type param_group: str :param param_group: Name of DBParameterGroup to associate with this DBInstance. :type security_groups: list of str or list of DBSecurityGroup objects :param security_groups: List of names of DBSecurityGroup to authorize on this DBInstance. :type preferred_maintenance_window: str :param preferred_maintenance_window: The weekly time range (in UTC) during which maintenance can occur. Default is Sun:05:00-Sun:09:00 :type master_password: str :param master_password: Password of master user for the DBInstance. Must be 4-15 alphanumeric characters. :type allocated_storage: int :param allocated_storage: The new allocated storage size, in GBs. Valid values are [5-1024] :type instance_class: str :param instance_class: The compute and memory capacity of the DBInstance. Changes will be applied at next maintenance window unless apply_immediately is True. Valid values are: * db.m1.small * db.m1.large * db.m1.xlarge * db.m2.xlarge * db.m2.2xlarge * db.m2.4xlarge :type apply_immediately: bool :param apply_immediately: If true, the modifications will be applied as soon as possible rather than waiting for the next preferred maintenance window. :type new_instance_id: str :param new_instance_id: The new DB instance identifier. :type backup_retention_period: int :param backup_retention_period: The number of days for which automated backups are retained. Setting this to zero disables automated backups. :type preferred_backup_window: str :param preferred_backup_window: The daily time range during which automated backups are created (if enabled). Must be in h24:mi-hh24:mi format (UTC). :type multi_az: bool :param multi_az: If True, specifies the DB Instance will be deployed in multiple availability zones. :type iops: int :param iops: The amount of IOPS (input/output operations per second) to Provisioned for the DB Instance. Can be modified at a later date. Must scale linearly. For every 1000 IOPS provision, you must allocated 100 GB of storage space. This scales up to 1 TB / 10 000 IOPS for MySQL and Oracle. MSSQL is limited to 700 GB / 7 000 IOPS. If you specify a value, it must be at least 1000 IOPS and you must allocate 100 GB of storage. :type vpc_security_groups: list :param vpc_security_groups: List of VPCSecurityGroupMembership that this DBInstance is a memberof. :rtype: :class:`boto.rds.dbinstance.DBInstance` :return: The modified db instance. )r modify_dbinstancer )r' param_grouprrmaster_passwordrrrrrrrapply_immediatelynew_instance_idr(r(r)modify&s [zDBInstance.modify)NN)F)Frh) NNNNNNNNFNNFN)__name__ __module__ __qualname____doc__r*r,r:rUpropertyrYr[r^r`rcrlrrr(r(r(r)rs4 <  4    rc@eZdZddZddZdS)r3cCdSNr(r7r(r(r)r:z"PendingModifiedValues.startElementcCs|dkr |||<dSdS)Nr3r(rSr(r(r)rUs z PendingModifiedValues.endElementNrsrtrur:rUr(r(r(r)r3 r3c@rx)r4cCryrzr(r7r(r(r)r:r{z-ReadReplicaDBInstanceIdentifiers.startElementcCs|dkr ||dSdS)NReadReplicaDBInstanceIdentifier)appendrSr(r(r)rUsz+ReadReplicaDBInstanceIdentifiers.endElementNr|r(r(r(r)r4r}r4N)boto.rds.dbsecuritygrouprboto.rds.parametergrouprboto.rds.statusinforboto.rds.dbsubnetgroupr#boto.rds.vpcsecuritygroupmembershiprboto.resultsetrobjectrdictr3listr4r(r(r(r)s      u