Index: tools/telemetry/third_party/gsutil/third_party/boto/boto/rds2/layer1.py |
diff --git a/tools/telemetry/third_party/gsutil/third_party/boto/boto/rds2/layer1.py b/tools/telemetry/third_party/gsutil/third_party/boto/boto/rds2/layer1.py |
deleted file mode 100644 |
index 5615f1107db93270538336b2454ae73436d31f4f..0000000000000000000000000000000000000000 |
--- a/tools/telemetry/third_party/gsutil/third_party/boto/boto/rds2/layer1.py |
+++ /dev/null |
@@ -1,3770 +0,0 @@ |
-# Copyright (c) 2014 Amazon.com, Inc. or its affiliates. All Rights Reserved |
-# |
-# Permission is hereby granted, free of charge, to any person obtaining a |
-# copy of this software and associated documentation files (the |
-# "Software"), to deal in the Software without restriction, including |
-# without limitation the rights to use, copy, modify, merge, publish, dis- |
-# tribute, sublicense, and/or sell copies of the Software, and to permit |
-# persons to whom the Software is furnished to do so, subject to the fol- |
-# lowing conditions: |
-# |
-# The above copyright notice and this permission notice shall be included |
-# in all copies or substantial portions of the Software. |
-# |
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS |
-# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL- |
-# ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT |
-# SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, |
-# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS |
-# IN THE SOFTWARE. |
-# |
- |
-import boto |
-from boto.connection import AWSQueryConnection |
-from boto.regioninfo import RegionInfo |
-from boto.exception import JSONResponseError |
-from boto.rds2 import exceptions |
-from boto.compat import json |
- |
- |
-class RDSConnection(AWSQueryConnection): |
- """ |
- Amazon Relational Database Service |
- Amazon Relational Database Service (Amazon RDS) is a web service |
- that makes it easier to set up, operate, and scale a relational |
- database in the cloud. It provides cost-efficient, resizable |
- capacity for an industry-standard relational database and manages |
- common database administration tasks, freeing up developers to |
- focus on what makes their applications and businesses unique. |
- |
- Amazon RDS gives you access to the capabilities of a familiar |
- MySQL or Oracle database server. This means the code, |
- applications, and tools you already use today with your existing |
- MySQL or Oracle databases work with Amazon RDS without |
- modification. Amazon RDS automatically backs up your database and |
- maintains the database software that powers your DB instance. |
- Amazon RDS is flexible: you can scale your database instance's |
- compute resources and storage capacity to meet your application's |
- demand. As with all Amazon Web Services, there are no up-front |
- investments, and you pay only for the resources you use. |
- |
- This is the Amazon RDS API Reference . It contains a comprehensive |
- description of all Amazon RDS Query APIs and data types. Note that |
- this API is asynchronous and some actions may require polling to |
- determine when an action has been applied. See the parameter |
- description to determine if a change is applied immediately or on |
- the next instance reboot or during the maintenance window. For |
- more information on Amazon RDS concepts and usage scenarios, go to |
- the `Amazon RDS User Guide`_. |
- """ |
- APIVersion = "2013-09-09" |
- DefaultRegionName = "us-east-1" |
- DefaultRegionEndpoint = "rds.us-east-1.amazonaws.com" |
- ResponseError = JSONResponseError |
- |
- _faults = { |
- "InvalidSubnet": exceptions.InvalidSubnet, |
- "DBParameterGroupQuotaExceeded": exceptions.DBParameterGroupQuotaExceeded, |
- "DBSubnetGroupAlreadyExists": exceptions.DBSubnetGroupAlreadyExists, |
- "DBSubnetGroupQuotaExceeded": exceptions.DBSubnetGroupQuotaExceeded, |
- "InstanceQuotaExceeded": exceptions.InstanceQuotaExceeded, |
- "InvalidRestore": exceptions.InvalidRestore, |
- "InvalidDBParameterGroupState": exceptions.InvalidDBParameterGroupState, |
- "AuthorizationQuotaExceeded": exceptions.AuthorizationQuotaExceeded, |
- "DBSecurityGroupAlreadyExists": exceptions.DBSecurityGroupAlreadyExists, |
- "InsufficientDBInstanceCapacity": exceptions.InsufficientDBInstanceCapacity, |
- "ReservedDBInstanceQuotaExceeded": exceptions.ReservedDBInstanceQuotaExceeded, |
- "DBSecurityGroupNotFound": exceptions.DBSecurityGroupNotFound, |
- "DBInstanceAlreadyExists": exceptions.DBInstanceAlreadyExists, |
- "ReservedDBInstanceNotFound": exceptions.ReservedDBInstanceNotFound, |
- "DBSubnetGroupDoesNotCoverEnoughAZs": exceptions.DBSubnetGroupDoesNotCoverEnoughAZs, |
- "InvalidDBSecurityGroupState": exceptions.InvalidDBSecurityGroupState, |
- "InvalidVPCNetworkState": exceptions.InvalidVPCNetworkState, |
- "ReservedDBInstancesOfferingNotFound": exceptions.ReservedDBInstancesOfferingNotFound, |
- "SNSTopicArnNotFound": exceptions.SNSTopicArnNotFound, |
- "SNSNoAuthorization": exceptions.SNSNoAuthorization, |
- "SnapshotQuotaExceeded": exceptions.SnapshotQuotaExceeded, |
- "OptionGroupQuotaExceeded": exceptions.OptionGroupQuotaExceeded, |
- "DBParameterGroupNotFound": exceptions.DBParameterGroupNotFound, |
- "SNSInvalidTopic": exceptions.SNSInvalidTopic, |
- "InvalidDBSubnetGroupState": exceptions.InvalidDBSubnetGroupState, |
- "DBSubnetGroupNotFound": exceptions.DBSubnetGroupNotFound, |
- "InvalidOptionGroupState": exceptions.InvalidOptionGroupState, |
- "SourceNotFound": exceptions.SourceNotFound, |
- "SubscriptionCategoryNotFound": exceptions.SubscriptionCategoryNotFound, |
- "EventSubscriptionQuotaExceeded": exceptions.EventSubscriptionQuotaExceeded, |
- "DBSecurityGroupNotSupported": exceptions.DBSecurityGroupNotSupported, |
- "InvalidEventSubscriptionState": exceptions.InvalidEventSubscriptionState, |
- "InvalidDBSubnetState": exceptions.InvalidDBSubnetState, |
- "InvalidDBSnapshotState": exceptions.InvalidDBSnapshotState, |
- "SubscriptionAlreadyExist": exceptions.SubscriptionAlreadyExist, |
- "DBSecurityGroupQuotaExceeded": exceptions.DBSecurityGroupQuotaExceeded, |
- "ProvisionedIopsNotAvailableInAZ": exceptions.ProvisionedIopsNotAvailableInAZ, |
- "AuthorizationNotFound": exceptions.AuthorizationNotFound, |
- "OptionGroupAlreadyExists": exceptions.OptionGroupAlreadyExists, |
- "SubscriptionNotFound": exceptions.SubscriptionNotFound, |
- "DBUpgradeDependencyFailure": exceptions.DBUpgradeDependencyFailure, |
- "PointInTimeRestoreNotEnabled": exceptions.PointInTimeRestoreNotEnabled, |
- "AuthorizationAlreadyExists": exceptions.AuthorizationAlreadyExists, |
- "DBSubnetQuotaExceeded": exceptions.DBSubnetQuotaExceeded, |
- "OptionGroupNotFound": exceptions.OptionGroupNotFound, |
- "DBParameterGroupAlreadyExists": exceptions.DBParameterGroupAlreadyExists, |
- "DBInstanceNotFound": exceptions.DBInstanceNotFound, |
- "ReservedDBInstanceAlreadyExists": exceptions.ReservedDBInstanceAlreadyExists, |
- "InvalidDBInstanceState": exceptions.InvalidDBInstanceState, |
- "DBSnapshotNotFound": exceptions.DBSnapshotNotFound, |
- "DBSnapshotAlreadyExists": exceptions.DBSnapshotAlreadyExists, |
- "StorageQuotaExceeded": exceptions.StorageQuotaExceeded, |
- "SubnetAlreadyInUse": exceptions.SubnetAlreadyInUse, |
- } |
- |
- |
- def __init__(self, **kwargs): |
- region = kwargs.pop('region', None) |
- if not region: |
- region = RegionInfo(self, self.DefaultRegionName, |
- self.DefaultRegionEndpoint) |
- |
- if 'host' not in kwargs: |
- kwargs['host'] = region.endpoint |
- |
- super(RDSConnection, self).__init__(**kwargs) |
- self.region = region |
- |
- def _required_auth_capability(self): |
- return ['hmac-v4'] |
- |
- def add_source_identifier_to_subscription(self, subscription_name, |
- source_identifier): |
- """ |
- Adds a source identifier to an existing RDS event notification |
- subscription. |
- |
- :type subscription_name: string |
- :param subscription_name: The name of the RDS event notification |
- subscription you want to add a source identifier to. |
- |
- :type source_identifier: string |
- :param source_identifier: |
- The identifier of the event source to be added. An identifier must |
- begin with a letter and must contain only ASCII letters, digits, |
- and hyphens; it cannot end with a hyphen or contain two consecutive |
- hyphens. |
- |
- Constraints: |
- |
- |
- + If the source type is a DB instance, then a `DBInstanceIdentifier` |
- must be supplied. |
- + If the source type is a DB security group, a `DBSecurityGroupName` |
- must be supplied. |
- + If the source type is a DB parameter group, a `DBParameterGroupName` |
- must be supplied. |
- + If the source type is a DB snapshot, a `DBSnapshotIdentifier` must be |
- supplied. |
- |
- """ |
- params = { |
- 'SubscriptionName': subscription_name, |
- 'SourceIdentifier': source_identifier, |
- } |
- return self._make_request( |
- action='AddSourceIdentifierToSubscription', |
- verb='POST', |
- path='/', params=params) |
- |
- def add_tags_to_resource(self, resource_name, tags): |
- """ |
- Adds metadata tags to an Amazon RDS resource. These tags can |
- also be used with cost allocation reporting to track cost |
- associated with Amazon RDS resources, or used in Condition |
- statement in IAM policy for Amazon RDS. |
- |
- For an overview on tagging Amazon RDS resources, see `Tagging |
- Amazon RDS Resources`_. |
- |
- :type resource_name: string |
- :param resource_name: The Amazon RDS resource the tags will be added |
- to. This value is an Amazon Resource Name (ARN). For information |
- about creating an ARN, see ` Constructing an RDS Amazon Resource |
- Name (ARN)`_. |
- |
- :type tags: list |
- :param tags: The tags to be assigned to the Amazon RDS resource. |
- |
- """ |
- params = {'ResourceName': resource_name, } |
- self.build_complex_list_params( |
- params, tags, |
- 'Tags.member', |
- ('Key', 'Value')) |
- return self._make_request( |
- action='AddTagsToResource', |
- verb='POST', |
- path='/', params=params) |
- |
- def authorize_db_security_group_ingress(self, db_security_group_name, |
- cidrip=None, |
- ec2_security_group_name=None, |
- ec2_security_group_id=None, |
- ec2_security_group_owner_id=None): |
- """ |
- Enables ingress to a DBSecurityGroup using one of two forms of |
- authorization. First, EC2 or VPC security groups can be added |
- to the DBSecurityGroup if the application using the database |
- is running on EC2 or VPC instances. Second, IP ranges are |
- available if the application accessing your database is |
- running on the Internet. Required parameters for this API are |
- one of CIDR range, EC2SecurityGroupId for VPC, or |
- (EC2SecurityGroupOwnerId and either EC2SecurityGroupName or |
- EC2SecurityGroupId for non-VPC). |
- You cannot authorize ingress from an EC2 security group in one |
- Region to an Amazon RDS DB instance in another. You cannot |
- authorize ingress from a VPC security group in one VPC to an |
- Amazon RDS DB instance in another. |
- For an overview of CIDR ranges, go to the `Wikipedia |
- Tutorial`_. |
- |
- :type db_security_group_name: string |
- :param db_security_group_name: The name of the DB security group to add |
- authorization to. |
- |
- :type cidrip: string |
- :param cidrip: The IP range to authorize. |
- |
- :type ec2_security_group_name: string |
- :param ec2_security_group_name: Name of the EC2 security group to |
- authorize. For VPC DB security groups, `EC2SecurityGroupId` must be |
- provided. Otherwise, EC2SecurityGroupOwnerId and either |
- `EC2SecurityGroupName` or `EC2SecurityGroupId` must be provided. |
- |
- :type ec2_security_group_id: string |
- :param ec2_security_group_id: Id of the EC2 security group to |
- authorize. For VPC DB security groups, `EC2SecurityGroupId` must be |
- provided. Otherwise, EC2SecurityGroupOwnerId and either |
- `EC2SecurityGroupName` or `EC2SecurityGroupId` must be provided. |
- |
- :type ec2_security_group_owner_id: string |
- :param ec2_security_group_owner_id: AWS Account Number of the owner of |
- the EC2 security group specified in the EC2SecurityGroupName |
- parameter. The AWS Access Key ID is not an acceptable value. For |
- VPC DB security groups, `EC2SecurityGroupId` must be provided. |
- Otherwise, EC2SecurityGroupOwnerId and either |
- `EC2SecurityGroupName` or `EC2SecurityGroupId` must be provided. |
- |
- """ |
- params = {'DBSecurityGroupName': db_security_group_name, } |
- if cidrip is not None: |
- params['CIDRIP'] = cidrip |
- if ec2_security_group_name is not None: |
- params['EC2SecurityGroupName'] = ec2_security_group_name |
- if ec2_security_group_id is not None: |
- params['EC2SecurityGroupId'] = ec2_security_group_id |
- if ec2_security_group_owner_id is not None: |
- params['EC2SecurityGroupOwnerId'] = ec2_security_group_owner_id |
- return self._make_request( |
- action='AuthorizeDBSecurityGroupIngress', |
- verb='POST', |
- path='/', params=params) |
- |
- def copy_db_snapshot(self, source_db_snapshot_identifier, |
- target_db_snapshot_identifier, tags=None): |
- """ |
- Copies the specified DBSnapshot. The source DBSnapshot must be |
- in the "available" state. |
- |
- :type source_db_snapshot_identifier: string |
- :param source_db_snapshot_identifier: The identifier for the source DB |
- snapshot. |
- Constraints: |
- |
- |
- + Must be the identifier for a valid system snapshot in the "available" |
- state. |
- |
- |
- Example: `rds:mydb-2012-04-02-00-01` |
- |
- :type target_db_snapshot_identifier: string |
- :param target_db_snapshot_identifier: The identifier for the copied |
- snapshot. |
- Constraints: |
- |
- |
- + Cannot be null, empty, or blank |
- + Must contain from 1 to 255 alphanumeric characters or hyphens |
- + First character must be a letter |
- + Cannot end with a hyphen or contain two consecutive hyphens |
- |
- |
- Example: `my-db-snapshot` |
- |
- :type tags: list |
- :param tags: A list of tags. |
- |
- """ |
- params = { |
- 'SourceDBSnapshotIdentifier': source_db_snapshot_identifier, |
- 'TargetDBSnapshotIdentifier': target_db_snapshot_identifier, |
- } |
- if tags is not None: |
- self.build_complex_list_params( |
- params, tags, |
- 'Tags.member', |
- ('Key', 'Value')) |
- return self._make_request( |
- action='CopyDBSnapshot', |
- verb='POST', |
- path='/', params=params) |
- |
- def create_db_instance(self, db_instance_identifier, allocated_storage, |
- db_instance_class, engine, master_username, |
- master_user_password, db_name=None, |
- db_security_groups=None, |
- vpc_security_group_ids=None, |
- availability_zone=None, db_subnet_group_name=None, |
- preferred_maintenance_window=None, |
- db_parameter_group_name=None, |
- backup_retention_period=None, |
- preferred_backup_window=None, port=None, |
- multi_az=None, engine_version=None, |
- auto_minor_version_upgrade=None, |
- license_model=None, iops=None, |
- option_group_name=None, character_set_name=None, |
- publicly_accessible=None, tags=None): |
- """ |
- Creates a new DB instance. |
- |
- :type db_name: string |
- :param db_name: The meaning of this parameter differs according to the |
- database engine you use. |
- **MySQL** |
- |
- The name of the database to create when the DB instance is created. If |
- this parameter is not specified, no database is created in the DB |
- instance. |
- |
- Constraints: |
- |
- |
- + Must contain 1 to 64 alphanumeric characters |
- + Cannot be a word reserved by the specified database engine |
- |
- |
- Type: String |
- |
- **Oracle** |
- |
- The Oracle System ID (SID) of the created DB instance. |
- |
- Default: `ORCL` |
- |
- Constraints: |
- |
- |
- + Cannot be longer than 8 characters |
- |
- |
- **SQL Server** |
- |
- Not applicable. Must be null. |
- |
- :type db_instance_identifier: string |
- :param db_instance_identifier: The DB instance identifier. This |
- parameter is stored as a lowercase string. |
- Constraints: |
- |
- |
- + Must contain from 1 to 63 alphanumeric characters or hyphens (1 to 15 |
- for SQL Server). |
- + First character must be a letter. |
- + Cannot end with a hyphen or contain two consecutive hyphens. |
- |
- |
- Example: `mydbinstance` |
- |
- :type allocated_storage: integer |
- :param allocated_storage: The amount of storage (in gigabytes) to be |
- initially allocated for the database instance. |
- **MySQL** |
- |
- Constraints: Must be an integer from 5 to 1024. |
- |
- Type: Integer |
- |
- **Oracle** |
- |
- Constraints: Must be an integer from 10 to 1024. |
- |
- **SQL Server** |
- |
- Constraints: Must be an integer from 200 to 1024 (Standard Edition and |
- Enterprise Edition) or from 30 to 1024 (Express Edition and Web |
- Edition) |
- |
- :type db_instance_class: string |
- :param db_instance_class: The compute and memory capacity of the DB |
- instance. |
- Valid Values: `db.t1.micro | db.m1.small | db.m1.medium | db.m1.large | |
- db.m1.xlarge | db.m2.xlarge |db.m2.2xlarge | db.m2.4xlarge` |
- |
- :type engine: string |
- :param engine: The name of the database engine to be used for this |
- instance. |
- Valid Values: `MySQL` | `oracle-se1` | `oracle-se` | `oracle-ee` | |
- `sqlserver-ee` | `sqlserver-se` | `sqlserver-ex` | `sqlserver-web` |
- |
- :type master_username: string |
- :param master_username: |
- The name of master user for the client DB instance. |
- |
- **MySQL** |
- |
- Constraints: |
- |
- |
- + Must be 1 to 16 alphanumeric characters. |
- + First character must be a letter. |
- + Cannot be a reserved word for the chosen database engine. |
- |
- |
- Type: String |
- |
- **Oracle** |
- |
- Constraints: |
- |
- |
- + Must be 1 to 30 alphanumeric characters. |
- + First character must be a letter. |
- + Cannot be a reserved word for the chosen database engine. |
- |
- |
- **SQL Server** |
- |
- Constraints: |
- |
- |
- + Must be 1 to 128 alphanumeric characters. |
- + First character must be a letter. |
- + Cannot be a reserved word for the chosen database engine. |
- |
- :type master_user_password: string |
- :param master_user_password: The password for the master database user. |
- Can be any printable ASCII character except "/", '"', or "@". |
- Type: String |
- |
- **MySQL** |
- |
- Constraints: Must contain from 8 to 41 characters. |
- |
- **Oracle** |
- |
- Constraints: Must contain from 8 to 30 characters. |
- |
- **SQL Server** |
- |
- Constraints: Must contain from 8 to 128 characters. |
- |
- :type db_security_groups: list |
- :param db_security_groups: A list of DB security groups to associate |
- with this DB instance. |
- Default: The default DB security group for the database engine. |
- |
- :type vpc_security_group_ids: list |
- :param vpc_security_group_ids: A list of EC2 VPC security groups to |
- associate with this DB instance. |
- Default: The default EC2 VPC security group for the DB subnet group's |
- VPC. |
- |
- :type availability_zone: string |
- :param availability_zone: The EC2 Availability Zone that the database |
- instance will be created in. |
- Default: A random, system-chosen Availability Zone in the endpoint's |
- region. |
- |
- Example: `us-east-1d` |
- |
- Constraint: The AvailabilityZone parameter cannot be specified if the |
- MultiAZ parameter is set to `True`. The specified Availability Zone |
- must be in the same region as the current endpoint. |
- |
- :type db_subnet_group_name: string |
- :param db_subnet_group_name: A DB subnet group to associate with this |
- DB instance. |
- If there is no DB subnet group, then it is a non-VPC DB instance. |
- |
- :type preferred_maintenance_window: string |
- :param preferred_maintenance_window: The weekly time range (in UTC) |
- during which system maintenance can occur. |
- Format: `ddd:hh24:mi-ddd:hh24:mi` |
- |
- Default: A 30-minute window selected at random from an 8-hour block of |
- time per region, occurring on a random day of the week. To see the |
- time blocks available, see ` Adjusting the Preferred Maintenance |
- Window`_ in the Amazon RDS User Guide. |
- |
- Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun |
- |
- Constraints: Minimum 30-minute window. |
- |
- :type db_parameter_group_name: string |
- :param db_parameter_group_name: |
- The name of the DB parameter group to associate with this DB instance. |
- If this argument is omitted, the default DBParameterGroup for the |
- specified engine will be used. |
- |
- Constraints: |
- |
- |
- + Must be 1 to 255 alphanumeric characters |
- + First character must be a letter |
- + Cannot end with a hyphen or contain two consecutive hyphens |
- |
- :type backup_retention_period: integer |
- :param backup_retention_period: |
- The number of days for which automated backups are retained. Setting |
- this parameter to a positive number enables backups. Setting this |
- parameter to 0 disables automated backups. |
- |
- Default: 1 |
- |
- Constraints: |
- |
- |
- + Must be a value from 0 to 8 |
- + Cannot be set to 0 if the DB instance is a master instance with read |
- replicas |
- |
- :type preferred_backup_window: string |
- :param preferred_backup_window: The daily time range during which |
- automated backups are created if automated backups are enabled, |
- using the `BackupRetentionPeriod` parameter. |
- Default: A 30-minute window selected at random from an 8-hour block of |
- time per region. See the Amazon RDS User Guide for the time blocks |
- for each region from which the default backup windows are assigned. |
- |
- Constraints: Must be in the format `hh24:mi-hh24:mi`. Times should be |
- Universal Time Coordinated (UTC). Must not conflict with the |
- preferred maintenance window. Must be at least 30 minutes. |
- |
- :type port: integer |
- :param port: The port number on which the database accepts connections. |
- **MySQL** |
- |
- Default: `3306` |
- |
- Valid Values: `1150-65535` |
- |
- Type: Integer |
- |
- **Oracle** |
- |
- Default: `1521` |
- |
- Valid Values: `1150-65535` |
- |
- **SQL Server** |
- |
- Default: `1433` |
- |
- Valid Values: `1150-65535` except for `1434` and `3389`. |
- |
- :type multi_az: boolean |
- :param multi_az: Specifies if the DB instance is a Multi-AZ deployment. |
- You cannot set the AvailabilityZone parameter if the MultiAZ |
- parameter is set to true. |
- |
- :type engine_version: string |
- :param engine_version: The version number of the database engine to |
- use. |
- **MySQL** |
- |
- Example: `5.1.42` |
- |
- Type: String |
- |
- **Oracle** |
- |
- Example: `11.2.0.2.v2` |
- |
- Type: String |
- |
- **SQL Server** |
- |
- Example: `10.50.2789.0.v1` |
- |
- :type auto_minor_version_upgrade: boolean |
- :param auto_minor_version_upgrade: Indicates that minor engine upgrades |
- will be applied automatically to the DB instance during the |
- maintenance window. |
- Default: `True` |
- |
- :type license_model: string |
- :param license_model: License model information for this DB instance. |
- Valid values: `license-included` | `bring-your-own-license` | `general- |
- public-license` |
- |
- :type iops: integer |
- :param iops: The amount of Provisioned IOPS (input/output operations |
- per second) to be initially allocated for the DB instance. |
- Constraints: Must be an integer greater than 1000. |
- |
- :type option_group_name: string |
- :param option_group_name: Indicates that the DB instance should be |
- associated with the specified option group. |
- Permanent options, such as the TDE option for Oracle Advanced Security |
- TDE, cannot be removed from an option group, and that option group |
- cannot be removed from a DB instance once it is associated with a |
- DB instance |
- |
- :type character_set_name: string |
- :param character_set_name: For supported engines, indicates that the DB |
- instance should be associated with the specified CharacterSet. |
- |
- :type publicly_accessible: boolean |
- :param publicly_accessible: 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. |
- Default: The default behavior varies depending on whether a VPC has |
- been requested or not. The following list shows the default |
- behavior in each case. |
- |
- |
- + **Default VPC:**true |
- + **VPC:**false |
- |
- |
- If no DB subnet group has been specified as part of the request and the |
- PubliclyAccessible value has not been set, the DB instance will be |
- publicly accessible. If a specific DB subnet group has been |
- specified as part of the request and the PubliclyAccessible value |
- has not been set, the DB instance will be private. |
- |
- :type tags: list |
- :param tags: A list of tags. |
- |
- """ |
- params = { |
- 'DBInstanceIdentifier': db_instance_identifier, |
- 'AllocatedStorage': allocated_storage, |
- 'DBInstanceClass': db_instance_class, |
- 'Engine': engine, |
- 'MasterUsername': master_username, |
- 'MasterUserPassword': master_user_password, |
- } |
- if db_name is not None: |
- params['DBName'] = db_name |
- if db_security_groups is not None: |
- self.build_list_params(params, |
- db_security_groups, |
- 'DBSecurityGroups.member') |
- if vpc_security_group_ids is not None: |
- self.build_list_params(params, |
- vpc_security_group_ids, |
- 'VpcSecurityGroupIds.member') |
- if availability_zone is not None: |
- params['AvailabilityZone'] = availability_zone |
- if db_subnet_group_name is not None: |
- params['DBSubnetGroupName'] = db_subnet_group_name |
- if preferred_maintenance_window is not None: |
- params['PreferredMaintenanceWindow'] = preferred_maintenance_window |
- if db_parameter_group_name is not None: |
- params['DBParameterGroupName'] = db_parameter_group_name |
- if backup_retention_period is not None: |
- params['BackupRetentionPeriod'] = backup_retention_period |
- if preferred_backup_window is not None: |
- params['PreferredBackupWindow'] = preferred_backup_window |
- if port is not None: |
- params['Port'] = port |
- if multi_az is not None: |
- params['MultiAZ'] = str( |
- multi_az).lower() |
- if engine_version is not None: |
- params['EngineVersion'] = engine_version |
- if auto_minor_version_upgrade is not None: |
- params['AutoMinorVersionUpgrade'] = str( |
- auto_minor_version_upgrade).lower() |
- if license_model is not None: |
- params['LicenseModel'] = license_model |
- if iops is not None: |
- params['Iops'] = iops |
- if option_group_name is not None: |
- params['OptionGroupName'] = option_group_name |
- if character_set_name is not None: |
- params['CharacterSetName'] = character_set_name |
- if publicly_accessible is not None: |
- params['PubliclyAccessible'] = str( |
- publicly_accessible).lower() |
- if tags is not None: |
- self.build_complex_list_params( |
- params, tags, |
- 'Tags.member', |
- ('Key', 'Value')) |
- return self._make_request( |
- action='CreateDBInstance', |
- verb='POST', |
- path='/', params=params) |
- |
- def create_db_instance_read_replica(self, db_instance_identifier, |
- source_db_instance_identifier, |
- db_instance_class=None, |
- availability_zone=None, port=None, |
- auto_minor_version_upgrade=None, |
- iops=None, option_group_name=None, |
- publicly_accessible=None, tags=None): |
- """ |
- Creates a DB instance that acts as a read replica of a source |
- DB instance. |
- |
- All read replica DB instances are created as Single-AZ |
- deployments with backups disabled. All other DB instance |
- attributes (including DB security groups and DB parameter |
- groups) are inherited from the source DB instance, except as |
- specified below. |
- |
- The source DB instance must have backup retention enabled. |
- |
- :type db_instance_identifier: string |
- :param db_instance_identifier: The DB instance identifier of the read |
- replica. This is the unique key that identifies a DB instance. This |
- parameter is stored as a lowercase string. |
- |
- :type source_db_instance_identifier: string |
- :param source_db_instance_identifier: The identifier of the DB instance |
- that will act as the source for the read replica. Each DB instance |
- can have up to five read replicas. |
- Constraints: Must be the identifier of an existing DB instance that is |
- not already a read replica DB instance. |
- |
- :type db_instance_class: string |
- :param db_instance_class: The compute and memory capacity of the read |
- replica. |
- Valid Values: `db.m1.small | db.m1.medium | db.m1.large | db.m1.xlarge |
- | db.m2.xlarge |db.m2.2xlarge | db.m2.4xlarge` |
- |
- Default: Inherits from the source DB instance. |
- |
- :type availability_zone: string |
- :param availability_zone: The Amazon EC2 Availability Zone that the |
- read replica will be created in. |
- Default: A random, system-chosen Availability Zone in the endpoint's |
- region. |
- |
- Example: `us-east-1d` |
- |
- :type port: integer |
- :param port: The port number that the DB instance uses for connections. |
- Default: Inherits from the source DB instance |
- |
- Valid Values: `1150-65535` |
- |
- :type auto_minor_version_upgrade: boolean |
- :param auto_minor_version_upgrade: Indicates that minor engine upgrades |
- will be applied automatically to the read replica during the |
- maintenance window. |
- Default: Inherits from the source DB instance |
- |
- :type iops: integer |
- :param iops: The amount of Provisioned IOPS (input/output operations |
- per second) to be initially allocated for the DB instance. |
- |
- :type option_group_name: string |
- :param option_group_name: The option group the DB instance will be |
- associated with. If omitted, the default option group for the |
- engine specified will be used. |
- |
- :type publicly_accessible: boolean |
- :param publicly_accessible: 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. |
- Default: The default behavior varies depending on whether a VPC has |
- been requested or not. The following list shows the default |
- behavior in each case. |
- |
- |
- + **Default VPC:**true |
- + **VPC:**false |
- |
- |
- If no DB subnet group has been specified as part of the request and the |
- PubliclyAccessible value has not been set, the DB instance will be |
- publicly accessible. If a specific DB subnet group has been |
- specified as part of the request and the PubliclyAccessible value |
- has not been set, the DB instance will be private. |
- |
- :type tags: list |
- :param tags: A list of tags. |
- |
- """ |
- params = { |
- 'DBInstanceIdentifier': db_instance_identifier, |
- 'SourceDBInstanceIdentifier': source_db_instance_identifier, |
- } |
- if db_instance_class is not None: |
- params['DBInstanceClass'] = db_instance_class |
- if availability_zone is not None: |
- params['AvailabilityZone'] = availability_zone |
- if port is not None: |
- params['Port'] = port |
- if auto_minor_version_upgrade is not None: |
- params['AutoMinorVersionUpgrade'] = str( |
- auto_minor_version_upgrade).lower() |
- if iops is not None: |
- params['Iops'] = iops |
- if option_group_name is not None: |
- params['OptionGroupName'] = option_group_name |
- if publicly_accessible is not None: |
- params['PubliclyAccessible'] = str( |
- publicly_accessible).lower() |
- if tags is not None: |
- self.build_complex_list_params( |
- params, tags, |
- 'Tags.member', |
- ('Key', 'Value')) |
- return self._make_request( |
- action='CreateDBInstanceReadReplica', |
- verb='POST', |
- path='/', params=params) |
- |
- def create_db_parameter_group(self, db_parameter_group_name, |
- db_parameter_group_family, description, |
- tags=None): |
- """ |
- Creates a new DB parameter group. |
- |
- A DB parameter group is initially created with the default |
- parameters for the database engine used by the DB instance. To |
- provide custom values for any of the parameters, you must |
- modify the group after creating it using |
- ModifyDBParameterGroup . Once you've created a DB parameter |
- group, you need to associate it with your DB instance using |
- ModifyDBInstance . When you associate a new DB parameter group |
- with a running DB instance, you need to reboot the DB Instance |
- for the new DB parameter group and associated settings to take |
- effect. |
- |
- :type db_parameter_group_name: string |
- :param db_parameter_group_name: |
- The name of the DB parameter group. |
- |
- Constraints: |
- |
- |
- + Must be 1 to 255 alphanumeric characters |
- + First character must be a letter |
- + Cannot end with a hyphen or contain two consecutive hyphens |
- |
- |
- This value is stored as a lower-case string. |
- |
- :type db_parameter_group_family: string |
- :param db_parameter_group_family: The DB parameter group family name. A |
- DB parameter group can be associated with one and only one DB |
- parameter group family, and can be applied only to a DB instance |
- running a database engine and engine version compatible with that |
- DB parameter group family. |
- |
- :type description: string |
- :param description: The description for the DB parameter group. |
- |
- :type tags: list |
- :param tags: A list of tags. |
- |
- """ |
- params = { |
- 'DBParameterGroupName': db_parameter_group_name, |
- 'DBParameterGroupFamily': db_parameter_group_family, |
- 'Description': description, |
- } |
- if tags is not None: |
- self.build_complex_list_params( |
- params, tags, |
- 'Tags.member', |
- ('Key', 'Value')) |
- return self._make_request( |
- action='CreateDBParameterGroup', |
- verb='POST', |
- path='/', params=params) |
- |
- def create_db_security_group(self, db_security_group_name, |
- db_security_group_description, tags=None): |
- """ |
- Creates a new DB security group. DB security groups control |
- access to a DB instance. |
- |
- :type db_security_group_name: string |
- :param db_security_group_name: The name for the DB security group. This |
- value is stored as a lowercase string. |
- Constraints: |
- |
- |
- + Must be 1 to 255 alphanumeric characters |
- + First character must be a letter |
- + Cannot end with a hyphen or contain two consecutive hyphens |
- + Must not be "Default" |
- + May not contain spaces |
- |
- |
- Example: `mysecuritygroup` |
- |
- :type db_security_group_description: string |
- :param db_security_group_description: The description for the DB |
- security group. |
- |
- :type tags: list |
- :param tags: A list of tags. |
- |
- """ |
- params = { |
- 'DBSecurityGroupName': db_security_group_name, |
- 'DBSecurityGroupDescription': db_security_group_description, |
- } |
- if tags is not None: |
- self.build_complex_list_params( |
- params, tags, |
- 'Tags.member', |
- ('Key', 'Value')) |
- return self._make_request( |
- action='CreateDBSecurityGroup', |
- verb='POST', |
- path='/', params=params) |
- |
- def create_db_snapshot(self, db_snapshot_identifier, |
- db_instance_identifier, tags=None): |
- """ |
- Creates a DBSnapshot. The source DBInstance must be in |
- "available" state. |
- |
- :type db_snapshot_identifier: string |
- :param db_snapshot_identifier: The identifier for the DB snapshot. |
- Constraints: |
- |
- |
- + Cannot be null, empty, or blank |
- + Must contain from 1 to 255 alphanumeric characters or hyphens |
- + First character must be a letter |
- + Cannot end with a hyphen or contain two consecutive hyphens |
- |
- |
- Example: `my-snapshot-id` |
- |
- :type db_instance_identifier: string |
- :param db_instance_identifier: |
- The DB instance identifier. This is the unique key that identifies a DB |
- instance. This parameter isn't case sensitive. |
- |
- Constraints: |
- |
- |
- + Must contain from 1 to 63 alphanumeric characters or hyphens |
- + First character must be a letter |
- + Cannot end with a hyphen or contain two consecutive hyphens |
- |
- :type tags: list |
- :param tags: A list of tags. |
- |
- """ |
- params = { |
- 'DBSnapshotIdentifier': db_snapshot_identifier, |
- 'DBInstanceIdentifier': db_instance_identifier, |
- } |
- if tags is not None: |
- self.build_complex_list_params( |
- params, tags, |
- 'Tags.member', |
- ('Key', 'Value')) |
- return self._make_request( |
- action='CreateDBSnapshot', |
- verb='POST', |
- path='/', params=params) |
- |
- def create_db_subnet_group(self, db_subnet_group_name, |
- db_subnet_group_description, subnet_ids, |
- tags=None): |
- """ |
- Creates a new DB subnet group. DB subnet groups must contain |
- at least one subnet in at least two AZs in the region. |
- |
- :type db_subnet_group_name: string |
- :param db_subnet_group_name: The name for the DB subnet group. This |
- value is stored as a lowercase string. |
- Constraints: Must contain no more than 255 alphanumeric characters or |
- hyphens. Must not be "Default". |
- |
- Example: `mySubnetgroup` |
- |
- :type db_subnet_group_description: string |
- :param db_subnet_group_description: The description for the DB subnet |
- group. |
- |
- :type subnet_ids: list |
- :param subnet_ids: The EC2 Subnet IDs for the DB subnet group. |
- |
- :type tags: list |
- :param tags: A list of tags into tuples. |
- |
- """ |
- params = { |
- 'DBSubnetGroupName': db_subnet_group_name, |
- 'DBSubnetGroupDescription': db_subnet_group_description, |
- } |
- self.build_list_params(params, |
- subnet_ids, |
- 'SubnetIds.member') |
- if tags is not None: |
- self.build_complex_list_params( |
- params, tags, |
- 'Tags.member', |
- ('Key', 'Value')) |
- return self._make_request( |
- action='CreateDBSubnetGroup', |
- verb='POST', |
- path='/', params=params) |
- |
- def create_event_subscription(self, subscription_name, sns_topic_arn, |
- source_type=None, event_categories=None, |
- source_ids=None, enabled=None, tags=None): |
- """ |
- Creates an RDS event notification subscription. This action |
- requires a topic ARN (Amazon Resource Name) created by either |
- the RDS console, the SNS console, or the SNS API. To obtain an |
- ARN with SNS, you must create a topic in Amazon SNS and |
- subscribe to the topic. The ARN is displayed in the SNS |
- console. |
- |
- You can specify the type of source (SourceType) you want to be |
- notified of, provide a list of RDS sources (SourceIds) that |
- triggers the events, and provide a list of event categories |
- (EventCategories) for events you want to be notified of. For |
- example, you can specify SourceType = db-instance, SourceIds = |
- mydbinstance1, mydbinstance2 and EventCategories = |
- Availability, Backup. |
- |
- If you specify both the SourceType and SourceIds, such as |
- SourceType = db-instance and SourceIdentifier = myDBInstance1, |
- you will be notified of all the db-instance events for the |
- specified source. If you specify a SourceType but do not |
- specify a SourceIdentifier, you will receive notice of the |
- events for that source type for all your RDS sources. If you |
- do not specify either the SourceType nor the SourceIdentifier, |
- you will be notified of events generated from all RDS sources |
- belonging to your customer account. |
- |
- :type subscription_name: string |
- :param subscription_name: The name of the subscription. |
- Constraints: The name must be less than 255 characters. |
- |
- :type sns_topic_arn: string |
- :param sns_topic_arn: The Amazon Resource Name (ARN) of the SNS topic |
- created for event notification. The ARN is created by Amazon SNS |
- when you create a topic and subscribe to it. |
- |
- :type source_type: string |
- :param source_type: The type of source that will be generating the |
- events. For example, if you want to be notified of events generated |
- by a DB instance, you would set this parameter to db-instance. if |
- this value is not specified, all events are returned. |
- Valid values: db-instance | db-parameter-group | db-security-group | |
- db-snapshot |
- |
- :type event_categories: list |
- :param event_categories: A list of event categories for a SourceType |
- that you want to subscribe to. You can see a list of the categories |
- for a given SourceType in the `Events`_ topic in the Amazon RDS |
- User Guide or by using the **DescribeEventCategories** action. |
- |
- :type source_ids: list |
- :param source_ids: |
- The list of identifiers of the event sources for which events will be |
- returned. If not specified, then all sources are included in the |
- response. An identifier must begin with a letter and must contain |
- only ASCII letters, digits, and hyphens; it cannot end with a |
- hyphen or contain two consecutive hyphens. |
- |
- Constraints: |
- |
- |
- + If SourceIds are supplied, SourceType must also be provided. |
- + If the source type is a DB instance, then a `DBInstanceIdentifier` |
- must be supplied. |
- + If the source type is a DB security group, a `DBSecurityGroupName` |
- must be supplied. |
- + If the source type is a DB parameter group, a `DBParameterGroupName` |
- must be supplied. |
- + If the source type is a DB snapshot, a `DBSnapshotIdentifier` must be |
- supplied. |
- |
- :type enabled: boolean |
- :param enabled: A Boolean value; set to **true** to activate the |
- subscription, set to **false** to create the subscription but not |
- active it. |
- |
- :type tags: list |
- :param tags: A list of tags. |
- |
- """ |
- params = { |
- 'SubscriptionName': subscription_name, |
- 'SnsTopicArn': sns_topic_arn, |
- } |
- if source_type is not None: |
- params['SourceType'] = source_type |
- if event_categories is not None: |
- self.build_list_params(params, |
- event_categories, |
- 'EventCategories.member') |
- if source_ids is not None: |
- self.build_list_params(params, |
- source_ids, |
- 'SourceIds.member') |
- if enabled is not None: |
- params['Enabled'] = str( |
- enabled).lower() |
- if tags is not None: |
- self.build_complex_list_params( |
- params, tags, |
- 'Tags.member', |
- ('Key', 'Value')) |
- return self._make_request( |
- action='CreateEventSubscription', |
- verb='POST', |
- path='/', params=params) |
- |
- def create_option_group(self, option_group_name, engine_name, |
- major_engine_version, option_group_description, |
- tags=None): |
- """ |
- Creates a new option group. You can create up to 20 option |
- groups. |
- |
- :type option_group_name: string |
- :param option_group_name: Specifies the name of the option group to be |
- created. |
- Constraints: |
- |
- |
- + Must be 1 to 255 alphanumeric characters or hyphens |
- + First character must be a letter |
- + Cannot end with a hyphen or contain two consecutive hyphens |
- |
- |
- Example: `myoptiongroup` |
- |
- :type engine_name: string |
- :param engine_name: Specifies the name of the engine that this option |
- group should be associated with. |
- |
- :type major_engine_version: string |
- :param major_engine_version: Specifies the major version of the engine |
- that this option group should be associated with. |
- |
- :type option_group_description: string |
- :param option_group_description: The description of the option group. |
- |
- :type tags: list |
- :param tags: A list of tags. |
- |
- """ |
- params = { |
- 'OptionGroupName': option_group_name, |
- 'EngineName': engine_name, |
- 'MajorEngineVersion': major_engine_version, |
- 'OptionGroupDescription': option_group_description, |
- } |
- if tags is not None: |
- self.build_complex_list_params( |
- params, tags, |
- 'Tags.member', |
- ('Key', 'Value')) |
- return self._make_request( |
- action='CreateOptionGroup', |
- verb='POST', |
- path='/', params=params) |
- |
- def delete_db_instance(self, db_instance_identifier, |
- skip_final_snapshot=None, |
- final_db_snapshot_identifier=None): |
- """ |
- The DeleteDBInstance action deletes a previously provisioned |
- DB instance. A successful response from the web service |
- indicates the request was received correctly. When you delete |
- a DB instance, all automated backups for that instance are |
- deleted and cannot be recovered. Manual DB snapshots of the DB |
- instance to be deleted are not deleted. |
- |
- If a final DB snapshot is requested the status of the RDS |
- instance will be "deleting" until the DB snapshot is created. |
- The API action `DescribeDBInstance` is used to monitor the |
- status of this operation. The action cannot be canceled or |
- reverted once submitted. |
- |
- :type db_instance_identifier: string |
- :param db_instance_identifier: |
- The DB instance identifier for the DB instance to be deleted. This |
- parameter isn't case sensitive. |
- |
- Constraints: |
- |
- |
- + Must contain from 1 to 63 alphanumeric characters or hyphens |
- + First character must be a letter |
- + Cannot end with a hyphen or contain two consecutive hyphens |
- |
- :type skip_final_snapshot: boolean |
- :param skip_final_snapshot: Determines whether a final DB snapshot is |
- created before the DB instance is deleted. If `True` is specified, |
- no DBSnapshot is created. If false is specified, a DB snapshot is |
- created before the DB instance is deleted. |
- The FinalDBSnapshotIdentifier parameter must be specified if |
- SkipFinalSnapshot is `False`. |
- |
- Default: `False` |
- |
- :type final_db_snapshot_identifier: string |
- :param final_db_snapshot_identifier: |
- The DBSnapshotIdentifier of the new DBSnapshot created when |
- SkipFinalSnapshot is set to `False`. |
- |
- Specifying this parameter and also setting the SkipFinalShapshot |
- parameter to true results in an error. |
- |
- Constraints: |
- |
- |
- + Must be 1 to 255 alphanumeric characters |
- + First character must be a letter |
- + Cannot end with a hyphen or contain two consecutive hyphens |
- |
- """ |
- params = {'DBInstanceIdentifier': db_instance_identifier, } |
- if skip_final_snapshot is not None: |
- params['SkipFinalSnapshot'] = str( |
- skip_final_snapshot).lower() |
- if final_db_snapshot_identifier is not None: |
- params['FinalDBSnapshotIdentifier'] = final_db_snapshot_identifier |
- return self._make_request( |
- action='DeleteDBInstance', |
- verb='POST', |
- path='/', params=params) |
- |
- def delete_db_parameter_group(self, db_parameter_group_name): |
- """ |
- Deletes a specified DBParameterGroup. The DBParameterGroup |
- cannot be associated with any RDS instances to be deleted. |
- The specified DB parameter group cannot be associated with any |
- DB instances. |
- |
- :type db_parameter_group_name: string |
- :param db_parameter_group_name: |
- The name of the DB parameter group. |
- |
- Constraints: |
- |
- |
- + Must be the name of an existing DB parameter group |
- + You cannot delete a default DB parameter group |
- + Cannot be associated with any DB instances |
- |
- """ |
- params = {'DBParameterGroupName': db_parameter_group_name, } |
- return self._make_request( |
- action='DeleteDBParameterGroup', |
- verb='POST', |
- path='/', params=params) |
- |
- def delete_db_security_group(self, db_security_group_name): |
- """ |
- Deletes a DB security group. |
- The specified DB security group must not be associated with |
- any DB instances. |
- |
- :type db_security_group_name: string |
- :param db_security_group_name: |
- The name of the DB security group to delete. |
- |
- You cannot delete the default DB security group. |
- |
- Constraints: |
- |
- |
- + Must be 1 to 255 alphanumeric characters |
- + First character must be a letter |
- + Cannot end with a hyphen or contain two consecutive hyphens |
- + Must not be "Default" |
- + May not contain spaces |
- |
- """ |
- params = {'DBSecurityGroupName': db_security_group_name, } |
- return self._make_request( |
- action='DeleteDBSecurityGroup', |
- verb='POST', |
- path='/', params=params) |
- |
- def delete_db_snapshot(self, db_snapshot_identifier): |
- """ |
- Deletes a DBSnapshot. |
- The DBSnapshot must be in the `available` state to be deleted. |
- |
- :type db_snapshot_identifier: string |
- :param db_snapshot_identifier: The DBSnapshot identifier. |
- Constraints: Must be the name of an existing DB snapshot in the |
- `available` state. |
- |
- """ |
- params = {'DBSnapshotIdentifier': db_snapshot_identifier, } |
- return self._make_request( |
- action='DeleteDBSnapshot', |
- verb='POST', |
- path='/', params=params) |
- |
- def delete_db_subnet_group(self, db_subnet_group_name): |
- """ |
- Deletes a DB subnet group. |
- The specified database subnet group must not be associated |
- with any DB instances. |
- |
- :type db_subnet_group_name: string |
- :param db_subnet_group_name: |
- The name of the database subnet group to delete. |
- |
- You cannot delete the default subnet group. |
- |
- Constraints: |
- |
- |
- + Must be 1 to 255 alphanumeric characters |
- + First character must be a letter |
- + Cannot end with a hyphen or contain two consecutive hyphens |
- |
- """ |
- params = {'DBSubnetGroupName': db_subnet_group_name, } |
- return self._make_request( |
- action='DeleteDBSubnetGroup', |
- verb='POST', |
- path='/', params=params) |
- |
- def delete_event_subscription(self, subscription_name): |
- """ |
- Deletes an RDS event notification subscription. |
- |
- :type subscription_name: string |
- :param subscription_name: The name of the RDS event notification |
- subscription you want to delete. |
- |
- """ |
- params = {'SubscriptionName': subscription_name, } |
- return self._make_request( |
- action='DeleteEventSubscription', |
- verb='POST', |
- path='/', params=params) |
- |
- def delete_option_group(self, option_group_name): |
- """ |
- Deletes an existing option group. |
- |
- :type option_group_name: string |
- :param option_group_name: |
- The name of the option group to be deleted. |
- |
- You cannot delete default option groups. |
- |
- """ |
- params = {'OptionGroupName': option_group_name, } |
- return self._make_request( |
- action='DeleteOptionGroup', |
- verb='POST', |
- path='/', params=params) |
- |
- def describe_db_engine_versions(self, engine=None, engine_version=None, |
- db_parameter_group_family=None, |
- max_records=None, marker=None, |
- default_only=None, |
- list_supported_character_sets=None): |
- """ |
- Returns a list of the available DB engines. |
- |
- :type engine: string |
- :param engine: The database engine to return. |
- |
- :type engine_version: string |
- :param engine_version: The database engine version to return. |
- Example: `5.1.49` |
- |
- :type db_parameter_group_family: string |
- :param db_parameter_group_family: |
- The name of a specific DB parameter group family to return details for. |
- |
- Constraints: |
- |
- |
- + Must be 1 to 255 alphanumeric characters |
- + First character must be a letter |
- + Cannot end with a hyphen or contain two consecutive hyphens |
- |
- :type max_records: integer |
- :param max_records: The maximum number of records to include in the |
- response. If more than the `MaxRecords` value is available, a |
- pagination token called a marker is included in the response so |
- that the following results can be retrieved. |
- Default: 100 |
- |
- Constraints: minimum 20, maximum 100 |
- |
- :type marker: string |
- :param marker: An optional pagination token provided by a previous |
- request. If this parameter is specified, the response includes only |
- records beyond the marker, up to the value specified by |
- `MaxRecords`. |
- |
- :type default_only: boolean |
- :param default_only: Indicates that only the default version of the |
- specified engine or engine and major version combination is |
- returned. |
- |
- :type list_supported_character_sets: boolean |
- :param list_supported_character_sets: If this parameter is specified, |
- and if the requested engine supports the CharacterSetName parameter |
- for CreateDBInstance, the response includes a list of supported |
- character sets for each engine version. |
- |
- """ |
- params = {} |
- if engine is not None: |
- params['Engine'] = engine |
- if engine_version is not None: |
- params['EngineVersion'] = engine_version |
- if db_parameter_group_family is not None: |
- params['DBParameterGroupFamily'] = db_parameter_group_family |
- if max_records is not None: |
- params['MaxRecords'] = max_records |
- if marker is not None: |
- params['Marker'] = marker |
- if default_only is not None: |
- params['DefaultOnly'] = str( |
- default_only).lower() |
- if list_supported_character_sets is not None: |
- params['ListSupportedCharacterSets'] = str( |
- list_supported_character_sets).lower() |
- return self._make_request( |
- action='DescribeDBEngineVersions', |
- verb='POST', |
- path='/', params=params) |
- |
- def describe_db_instances(self, db_instance_identifier=None, |
- filters=None, max_records=None, marker=None): |
- """ |
- Returns information about provisioned RDS instances. This API |
- supports pagination. |
- |
- :type db_instance_identifier: string |
- :param db_instance_identifier: |
- The user-supplied instance identifier. If this parameter is specified, |
- information from only the specific DB instance is returned. This |
- parameter isn't case sensitive. |
- |
- Constraints: |
- |
- |
- + Must contain from 1 to 63 alphanumeric characters or hyphens |
- + First character must be a letter |
- + Cannot end with a hyphen or contain two consecutive hyphens |
- |
- :type filters: list |
- :param filters: |
- |
- :type max_records: integer |
- :param max_records: The maximum number of records to include in the |
- response. If more records exist than the specified `MaxRecords` |
- value, a pagination token called a marker is included in the |
- response so that the remaining results may be retrieved. |
- Default: 100 |
- |
- Constraints: minimum 20, maximum 100 |
- |
- :type marker: string |
- :param marker: An optional pagination token provided by a previous |
- DescribeDBInstances request. If this parameter is specified, the |
- response includes only records beyond the marker, up to the value |
- specified by `MaxRecords` . |
- |
- """ |
- params = {} |
- if db_instance_identifier is not None: |
- params['DBInstanceIdentifier'] = db_instance_identifier |
- if filters is not None: |
- self.build_complex_list_params( |
- params, filters, |
- 'Filters.member', |
- ('FilterName', 'FilterValue')) |
- if max_records is not None: |
- params['MaxRecords'] = max_records |
- if marker is not None: |
- params['Marker'] = marker |
- return self._make_request( |
- action='DescribeDBInstances', |
- verb='POST', |
- path='/', params=params) |
- |
- def describe_db_log_files(self, db_instance_identifier, |
- filename_contains=None, file_last_written=None, |
- file_size=None, max_records=None, marker=None): |
- """ |
- Returns a list of DB log files for the DB instance. |
- |
- :type db_instance_identifier: string |
- :param db_instance_identifier: |
- The customer-assigned name of the DB instance that contains the log |
- files you want to list. |
- |
- Constraints: |
- |
- |
- + Must contain from 1 to 63 alphanumeric characters or hyphens |
- + First character must be a letter |
- + Cannot end with a hyphen or contain two consecutive hyphens |
- |
- :type filename_contains: string |
- :param filename_contains: Filters the available log files for log file |
- names that contain the specified string. |
- |
- :type file_last_written: long |
- :param file_last_written: Filters the available log files for files |
- written since the specified date, in POSIX timestamp format. |
- |
- :type file_size: long |
- :param file_size: Filters the available log files for files larger than |
- the specified size. |
- |
- :type max_records: integer |
- :param max_records: The maximum number of records to include in the |
- response. If more records exist than the specified MaxRecords |
- value, a pagination token called a marker is included in the |
- response so that the remaining results can be retrieved. |
- |
- :type marker: string |
- :param marker: The pagination token provided in the previous request. |
- If this parameter is specified the response includes only records |
- beyond the marker, up to MaxRecords. |
- |
- """ |
- params = {'DBInstanceIdentifier': db_instance_identifier, } |
- if filename_contains is not None: |
- params['FilenameContains'] = filename_contains |
- if file_last_written is not None: |
- params['FileLastWritten'] = file_last_written |
- if file_size is not None: |
- params['FileSize'] = file_size |
- if max_records is not None: |
- params['MaxRecords'] = max_records |
- if marker is not None: |
- params['Marker'] = marker |
- return self._make_request( |
- action='DescribeDBLogFiles', |
- verb='POST', |
- path='/', params=params) |
- |
- def describe_db_parameter_groups(self, db_parameter_group_name=None, |
- filters=None, max_records=None, |
- marker=None): |
- """ |
- Returns a list of `DBParameterGroup` descriptions. If a |
- `DBParameterGroupName` is specified, the list will contain |
- only the description of the specified DB parameter group. |
- |
- :type db_parameter_group_name: string |
- :param db_parameter_group_name: |
- The name of a specific DB parameter group to return details for. |
- |
- Constraints: |
- |
- |
- + Must be 1 to 255 alphanumeric characters |
- + First character must be a letter |
- + Cannot end with a hyphen or contain two consecutive hyphens |
- |
- :type filters: list |
- :param filters: |
- |
- :type max_records: integer |
- :param max_records: The maximum number of records to include in the |
- response. If more records exist than the specified `MaxRecords` |
- value, a pagination token called a marker is included in the |
- response so that the remaining results may be retrieved. |
- Default: 100 |
- |
- Constraints: minimum 20, maximum 100 |
- |
- :type marker: string |
- :param marker: An optional pagination token provided by a previous |
- `DescribeDBParameterGroups` request. If this parameter is |
- specified, the response includes only records beyond the marker, up |
- to the value specified by `MaxRecords`. |
- |
- """ |
- params = {} |
- if db_parameter_group_name is not None: |
- params['DBParameterGroupName'] = db_parameter_group_name |
- if filters is not None: |
- self.build_complex_list_params( |
- params, filters, |
- 'Filters.member', |
- ('FilterName', 'FilterValue')) |
- if max_records is not None: |
- params['MaxRecords'] = max_records |
- if marker is not None: |
- params['Marker'] = marker |
- return self._make_request( |
- action='DescribeDBParameterGroups', |
- verb='POST', |
- path='/', params=params) |
- |
- def describe_db_parameters(self, db_parameter_group_name, source=None, |
- max_records=None, marker=None): |
- """ |
- Returns the detailed parameter list for a particular DB |
- parameter group. |
- |
- :type db_parameter_group_name: string |
- :param db_parameter_group_name: |
- The name of a specific DB parameter group to return details for. |
- |
- Constraints: |
- |
- |
- + Must be 1 to 255 alphanumeric characters |
- + First character must be a letter |
- + Cannot end with a hyphen or contain two consecutive hyphens |
- |
- :type source: string |
- :param source: The parameter types to return. |
- Default: All parameter types returned |
- |
- Valid Values: `user | system | engine-default` |
- |
- :type max_records: integer |
- :param max_records: The maximum number of records to include in the |
- response. If more records exist than the specified `MaxRecords` |
- value, a pagination token called a marker is included in the |
- response so that the remaining results may be retrieved. |
- Default: 100 |
- |
- Constraints: minimum 20, maximum 100 |
- |
- :type marker: string |
- :param marker: An optional pagination token provided by a previous |
- `DescribeDBParameters` request. If this parameter is specified, the |
- response includes only records beyond the marker, up to the value |
- specified by `MaxRecords`. |
- |
- """ |
- params = {'DBParameterGroupName': db_parameter_group_name, } |
- if source is not None: |
- params['Source'] = source |
- if max_records is not None: |
- params['MaxRecords'] = max_records |
- if marker is not None: |
- params['Marker'] = marker |
- return self._make_request( |
- action='DescribeDBParameters', |
- verb='POST', |
- path='/', params=params) |
- |
- def describe_db_security_groups(self, db_security_group_name=None, |
- filters=None, max_records=None, |
- marker=None): |
- """ |
- Returns a list of `DBSecurityGroup` descriptions. If a |
- `DBSecurityGroupName` is specified, the list will contain only |
- the descriptions of the specified DB security group. |
- |
- :type db_security_group_name: string |
- :param db_security_group_name: The name of the DB security group to |
- return details for. |
- |
- :type filters: list |
- :param filters: |
- |
- :type max_records: integer |
- :param max_records: The maximum number of records to include in the |
- response. If more records exist than the specified `MaxRecords` |
- value, a pagination token called a marker is included in the |
- response so that the remaining results may be retrieved. |
- Default: 100 |
- |
- Constraints: minimum 20, maximum 100 |
- |
- :type marker: string |
- :param marker: An optional pagination token provided by a previous |
- DescribeDBSecurityGroups request. If this parameter is specified, |
- the response includes only records beyond the marker, up to the |
- value specified by `MaxRecords`. |
- |
- """ |
- params = {} |
- if db_security_group_name is not None: |
- params['DBSecurityGroupName'] = db_security_group_name |
- if filters is not None: |
- self.build_complex_list_params( |
- params, filters, |
- 'Filters.member', |
- ('FilterName', 'FilterValue')) |
- if max_records is not None: |
- params['MaxRecords'] = max_records |
- if marker is not None: |
- params['Marker'] = marker |
- return self._make_request( |
- action='DescribeDBSecurityGroups', |
- verb='POST', |
- path='/', params=params) |
- |
- def describe_db_snapshots(self, db_instance_identifier=None, |
- db_snapshot_identifier=None, |
- snapshot_type=None, filters=None, |
- max_records=None, marker=None): |
- """ |
- Returns information about DB snapshots. This API supports |
- pagination. |
- |
- :type db_instance_identifier: string |
- :param db_instance_identifier: |
- A DB instance identifier to retrieve the list of DB snapshots for. |
- Cannot be used in conjunction with `DBSnapshotIdentifier`. This |
- parameter is not case sensitive. |
- |
- Constraints: |
- |
- |
- + Must contain from 1 to 63 alphanumeric characters or hyphens |
- + First character must be a letter |
- + Cannot end with a hyphen or contain two consecutive hyphens |
- |
- :type db_snapshot_identifier: string |
- :param db_snapshot_identifier: |
- A specific DB snapshot identifier to describe. Cannot be used in |
- conjunction with `DBInstanceIdentifier`. This value is stored as a |
- lowercase string. |
- |
- Constraints: |
- |
- |
- + Must be 1 to 255 alphanumeric characters |
- + First character must be a letter |
- + Cannot end with a hyphen or contain two consecutive hyphens |
- + If this is the identifier of an automated snapshot, the |
- `SnapshotType` parameter must also be specified. |
- |
- :type snapshot_type: string |
- :param snapshot_type: The type of snapshots that will be returned. |
- Values can be "automated" or "manual." If not specified, the |
- returned results will include all snapshots types. |
- |
- :type filters: list |
- :param filters: |
- |
- :type max_records: integer |
- :param max_records: The maximum number of records to include in the |
- response. If more records exist than the specified `MaxRecords` |
- value, a pagination token called a marker is included in the |
- response so that the remaining results may be retrieved. |
- Default: 100 |
- |
- Constraints: minimum 20, maximum 100 |
- |
- :type marker: string |
- :param marker: An optional pagination token provided by a previous |
- `DescribeDBSnapshots` request. If this parameter is specified, the |
- response includes only records beyond the marker, up to the value |
- specified by `MaxRecords`. |
- |
- """ |
- params = {} |
- if db_instance_identifier is not None: |
- params['DBInstanceIdentifier'] = db_instance_identifier |
- if db_snapshot_identifier is not None: |
- params['DBSnapshotIdentifier'] = db_snapshot_identifier |
- if snapshot_type is not None: |
- params['SnapshotType'] = snapshot_type |
- if filters is not None: |
- self.build_complex_list_params( |
- params, filters, |
- 'Filters.member', |
- ('FilterName', 'FilterValue')) |
- if max_records is not None: |
- params['MaxRecords'] = max_records |
- if marker is not None: |
- params['Marker'] = marker |
- return self._make_request( |
- action='DescribeDBSnapshots', |
- verb='POST', |
- path='/', params=params) |
- |
- def describe_db_subnet_groups(self, db_subnet_group_name=None, |
- filters=None, max_records=None, |
- marker=None): |
- """ |
- Returns a list of DBSubnetGroup descriptions. If a |
- DBSubnetGroupName is specified, the list will contain only the |
- descriptions of the specified DBSubnetGroup. |
- |
- For an overview of CIDR ranges, go to the `Wikipedia |
- Tutorial`_. |
- |
- :type db_subnet_group_name: string |
- :param db_subnet_group_name: The name of the DB subnet group to return |
- details for. |
- |
- :type filters: list |
- :param filters: |
- |
- :type max_records: integer |
- :param max_records: The maximum number of records to include in the |
- response. If more records exist than the specified `MaxRecords` |
- value, a pagination token called a marker is included in the |
- response so that the remaining results may be retrieved. |
- Default: 100 |
- |
- Constraints: minimum 20, maximum 100 |
- |
- :type marker: string |
- :param marker: An optional pagination token provided by a previous |
- DescribeDBSubnetGroups request. If this parameter is specified, the |
- response includes only records beyond the marker, up to the value |
- specified by `MaxRecords`. |
- |
- """ |
- params = {} |
- if db_subnet_group_name is not None: |
- params['DBSubnetGroupName'] = db_subnet_group_name |
- if filters is not None: |
- self.build_complex_list_params( |
- params, filters, |
- 'Filters.member', |
- ('FilterName', 'FilterValue')) |
- if max_records is not None: |
- params['MaxRecords'] = max_records |
- if marker is not None: |
- params['Marker'] = marker |
- return self._make_request( |
- action='DescribeDBSubnetGroups', |
- verb='POST', |
- path='/', params=params) |
- |
- def describe_engine_default_parameters(self, db_parameter_group_family, |
- max_records=None, marker=None): |
- """ |
- Returns the default engine and system parameter information |
- for the specified database engine. |
- |
- :type db_parameter_group_family: string |
- :param db_parameter_group_family: The name of the DB parameter group |
- family. |
- |
- :type max_records: integer |
- :param max_records: The maximum number of records to include in the |
- response. If more records exist than the specified `MaxRecords` |
- value, a pagination token called a marker is included in the |
- response so that the remaining results may be retrieved. |
- Default: 100 |
- |
- Constraints: minimum 20, maximum 100 |
- |
- :type marker: string |
- :param marker: An optional pagination token provided by a previous |
- `DescribeEngineDefaultParameters` request. If this parameter is |
- specified, the response includes only records beyond the marker, up |
- to the value specified by `MaxRecords`. |
- |
- """ |
- params = { |
- 'DBParameterGroupFamily': db_parameter_group_family, |
- } |
- if max_records is not None: |
- params['MaxRecords'] = max_records |
- if marker is not None: |
- params['Marker'] = marker |
- return self._make_request( |
- action='DescribeEngineDefaultParameters', |
- verb='POST', |
- path='/', params=params) |
- |
- def describe_event_categories(self, source_type=None): |
- """ |
- Displays a list of categories for all event source types, or, |
- if specified, for a specified source type. You can see a list |
- of the event categories and source types in the ` Events`_ |
- topic in the Amazon RDS User Guide. |
- |
- :type source_type: string |
- :param source_type: The type of source that will be generating the |
- events. |
- Valid values: db-instance | db-parameter-group | db-security-group | |
- db-snapshot |
- |
- """ |
- params = {} |
- if source_type is not None: |
- params['SourceType'] = source_type |
- return self._make_request( |
- action='DescribeEventCategories', |
- verb='POST', |
- path='/', params=params) |
- |
- def describe_event_subscriptions(self, subscription_name=None, |
- filters=None, max_records=None, |
- marker=None): |
- """ |
- Lists all the subscription descriptions for a customer |
- account. The description for a subscription includes |
- SubscriptionName, SNSTopicARN, CustomerID, SourceType, |
- SourceID, CreationTime, and Status. |
- |
- If you specify a SubscriptionName, lists the description for |
- that subscription. |
- |
- :type subscription_name: string |
- :param subscription_name: The name of the RDS event notification |
- subscription you want to describe. |
- |
- :type filters: list |
- :param filters: |
- |
- :type max_records: integer |
- :param max_records: The maximum number of records to include in the |
- response. If more records exist than the specified `MaxRecords` |
- value, a pagination token called a marker is included in the |
- response so that the remaining results can be retrieved. |
- Default: 100 |
- |
- Constraints: minimum 20, maximum 100 |
- |
- :type marker: string |
- :param marker: An optional pagination token provided by a previous |
- DescribeOrderableDBInstanceOptions request. If this parameter is |
- specified, the response includes only records beyond the marker, up |
- to the value specified by `MaxRecords` . |
- |
- """ |
- params = {} |
- if subscription_name is not None: |
- params['SubscriptionName'] = subscription_name |
- if filters is not None: |
- self.build_complex_list_params( |
- params, filters, |
- 'Filters.member', |
- ('FilterName', 'FilterValue')) |
- if max_records is not None: |
- params['MaxRecords'] = max_records |
- if marker is not None: |
- params['Marker'] = marker |
- return self._make_request( |
- action='DescribeEventSubscriptions', |
- verb='POST', |
- path='/', params=params) |
- |
- def describe_events(self, source_identifier=None, source_type=None, |
- start_time=None, end_time=None, duration=None, |
- event_categories=None, max_records=None, marker=None): |
- """ |
- Returns events related to DB instances, DB security groups, DB |
- snapshots, and DB parameter groups for the past 14 days. |
- Events specific to a particular DB instance, DB security |
- group, database snapshot, or DB parameter group can be |
- obtained by providing the name as a parameter. By default, the |
- past hour of events are returned. |
- |
- :type source_identifier: string |
- :param source_identifier: |
- The identifier of the event source for which events will be returned. |
- If not specified, then all sources are included in the response. |
- |
- Constraints: |
- |
- |
- + If SourceIdentifier is supplied, SourceType must also be provided. |
- + If the source type is `DBInstance`, then a `DBInstanceIdentifier` |
- must be supplied. |
- + If the source type is `DBSecurityGroup`, a `DBSecurityGroupName` must |
- be supplied. |
- + If the source type is `DBParameterGroup`, a `DBParameterGroupName` |
- must be supplied. |
- + If the source type is `DBSnapshot`, a `DBSnapshotIdentifier` must be |
- supplied. |
- + Cannot end with a hyphen or contain two consecutive hyphens. |
- |
- :type source_type: string |
- :param source_type: The event source to retrieve events for. If no |
- value is specified, all events are returned. |
- |
- :type start_time: timestamp |
- :param start_time: The beginning of the time interval to retrieve |
- events for, specified in ISO 8601 format. For more information |
- about ISO 8601, go to the `ISO8601 Wikipedia page.`_ |
- Example: 2009-07-08T18:00Z |
- |
- :type end_time: timestamp |
- :param end_time: The end of the time interval for which to retrieve |
- events, specified in ISO 8601 format. For more information about |
- ISO 8601, go to the `ISO8601 Wikipedia page.`_ |
- Example: 2009-07-08T18:00Z |
- |
- :type duration: integer |
- :param duration: The number of minutes to retrieve events for. |
- Default: 60 |
- |
- :type event_categories: list |
- :param event_categories: A list of event categories that trigger |
- notifications for a event notification subscription. |
- |
- :type max_records: integer |
- :param max_records: The maximum number of records to include in the |
- response. If more records exist than the specified `MaxRecords` |
- value, a pagination token called a marker is included in the |
- response so that the remaining results may be retrieved. |
- Default: 100 |
- |
- Constraints: minimum 20, maximum 100 |
- |
- :type marker: string |
- :param marker: An optional pagination token provided by a previous |
- DescribeEvents request. If this parameter is specified, the |
- response includes only records beyond the marker, up to the value |
- specified by `MaxRecords`. |
- |
- """ |
- params = {} |
- if source_identifier is not None: |
- params['SourceIdentifier'] = source_identifier |
- if source_type is not None: |
- params['SourceType'] = source_type |
- if start_time is not None: |
- params['StartTime'] = start_time |
- if end_time is not None: |
- params['EndTime'] = end_time |
- if duration is not None: |
- params['Duration'] = duration |
- if event_categories is not None: |
- self.build_list_params(params, |
- event_categories, |
- 'EventCategories.member') |
- if max_records is not None: |
- params['MaxRecords'] = max_records |
- if marker is not None: |
- params['Marker'] = marker |
- return self._make_request( |
- action='DescribeEvents', |
- verb='POST', |
- path='/', params=params) |
- |
- def describe_option_group_options(self, engine_name, |
- major_engine_version=None, |
- max_records=None, marker=None): |
- """ |
- Describes all available options. |
- |
- :type engine_name: string |
- :param engine_name: A required parameter. Options available for the |
- given Engine name will be described. |
- |
- :type major_engine_version: string |
- :param major_engine_version: If specified, filters the results to |
- include only options for the specified major engine version. |
- |
- :type max_records: integer |
- :param max_records: The maximum number of records to include in the |
- response. If more records exist than the specified `MaxRecords` |
- value, a pagination token called a marker is included in the |
- response so that the remaining results can be retrieved. |
- Default: 100 |
- |
- Constraints: minimum 20, maximum 100 |
- |
- :type marker: string |
- :param marker: An optional pagination token provided by a previous |
- request. If this parameter is specified, the response includes only |
- records beyond the marker, up to the value specified by |
- `MaxRecords`. |
- |
- """ |
- params = {'EngineName': engine_name, } |
- if major_engine_version is not None: |
- params['MajorEngineVersion'] = major_engine_version |
- if max_records is not None: |
- params['MaxRecords'] = max_records |
- if marker is not None: |
- params['Marker'] = marker |
- return self._make_request( |
- action='DescribeOptionGroupOptions', |
- verb='POST', |
- path='/', params=params) |
- |
- def describe_option_groups(self, option_group_name=None, filters=None, |
- marker=None, max_records=None, |
- engine_name=None, major_engine_version=None): |
- """ |
- Describes the available option groups. |
- |
- :type option_group_name: string |
- :param option_group_name: The name of the option group to describe. |
- Cannot be supplied together with EngineName or MajorEngineVersion. |
- |
- :type filters: list |
- :param filters: |
- |
- :type marker: string |
- :param marker: An optional pagination token provided by a previous |
- DescribeOptionGroups request. If this parameter is specified, the |
- response includes only records beyond the marker, up to the value |
- specified by `MaxRecords`. |
- |
- :type max_records: integer |
- :param max_records: The maximum number of records to include in the |
- response. If more records exist than the specified `MaxRecords` |
- value, a pagination token called a marker is included in the |
- response so that the remaining results can be retrieved. |
- Default: 100 |
- |
- Constraints: minimum 20, maximum 100 |
- |
- :type engine_name: string |
- :param engine_name: Filters the list of option groups to only include |
- groups associated with a specific database engine. |
- |
- :type major_engine_version: string |
- :param major_engine_version: Filters the list of option groups to only |
- include groups associated with a specific database engine version. |
- If specified, then EngineName must also be specified. |
- |
- """ |
- params = {} |
- if option_group_name is not None: |
- params['OptionGroupName'] = option_group_name |
- if filters is not None: |
- self.build_complex_list_params( |
- params, filters, |
- 'Filters.member', |
- ('FilterName', 'FilterValue')) |
- if marker is not None: |
- params['Marker'] = marker |
- if max_records is not None: |
- params['MaxRecords'] = max_records |
- if engine_name is not None: |
- params['EngineName'] = engine_name |
- if major_engine_version is not None: |
- params['MajorEngineVersion'] = major_engine_version |
- return self._make_request( |
- action='DescribeOptionGroups', |
- verb='POST', |
- path='/', params=params) |
- |
- def describe_orderable_db_instance_options(self, engine, |
- engine_version=None, |
- db_instance_class=None, |
- license_model=None, vpc=None, |
- max_records=None, marker=None): |
- """ |
- Returns a list of orderable DB instance options for the |
- specified engine. |
- |
- :type engine: string |
- :param engine: The name of the engine to retrieve DB instance options |
- for. |
- |
- :type engine_version: string |
- :param engine_version: The engine version filter value. Specify this |
- parameter to show only the available offerings matching the |
- specified engine version. |
- |
- :type db_instance_class: string |
- :param db_instance_class: The DB instance class filter value. Specify |
- this parameter to show only the available offerings matching the |
- specified DB instance class. |
- |
- :type license_model: string |
- :param license_model: The license model filter value. Specify this |
- parameter to show only the available offerings matching the |
- specified license model. |
- |
- :type vpc: boolean |
- :param vpc: The VPC filter value. Specify this parameter to show only |
- the available VPC or non-VPC offerings. |
- |
- :type max_records: integer |
- :param max_records: The maximum number of records to include in the |
- response. If more records exist than the specified `MaxRecords` |
- value, a pagination token called a marker is included in the |
- response so that the remaining results can be retrieved. |
- Default: 100 |
- |
- Constraints: minimum 20, maximum 100 |
- |
- :type marker: string |
- :param marker: An optional pagination token provided by a previous |
- DescribeOrderableDBInstanceOptions request. If this parameter is |
- specified, the response includes only records beyond the marker, up |
- to the value specified by `MaxRecords` . |
- |
- """ |
- params = {'Engine': engine, } |
- if engine_version is not None: |
- params['EngineVersion'] = engine_version |
- if db_instance_class is not None: |
- params['DBInstanceClass'] = db_instance_class |
- if license_model is not None: |
- params['LicenseModel'] = license_model |
- if vpc is not None: |
- params['Vpc'] = str( |
- vpc).lower() |
- if max_records is not None: |
- params['MaxRecords'] = max_records |
- if marker is not None: |
- params['Marker'] = marker |
- return self._make_request( |
- action='DescribeOrderableDBInstanceOptions', |
- verb='POST', |
- path='/', params=params) |
- |
- def describe_reserved_db_instances(self, reserved_db_instance_id=None, |
- reserved_db_instances_offering_id=None, |
- db_instance_class=None, duration=None, |
- product_description=None, |
- offering_type=None, multi_az=None, |
- filters=None, max_records=None, |
- marker=None): |
- """ |
- Returns information about reserved DB instances for this |
- account, or about a specified reserved DB instance. |
- |
- :type reserved_db_instance_id: string |
- :param reserved_db_instance_id: The reserved DB instance identifier |
- filter value. Specify this parameter to show only the reservation |
- that matches the specified reservation ID. |
- |
- :type reserved_db_instances_offering_id: string |
- :param reserved_db_instances_offering_id: The offering identifier |
- filter value. Specify this parameter to show only purchased |
- reservations matching the specified offering identifier. |
- |
- :type db_instance_class: string |
- :param db_instance_class: The DB instance class filter value. Specify |
- this parameter to show only those reservations matching the |
- specified DB instances class. |
- |
- :type duration: string |
- :param duration: The duration filter value, specified in years or |
- seconds. Specify this parameter to show only reservations for this |
- duration. |
- Valid Values: `1 | 3 | 31536000 | 94608000` |
- |
- :type product_description: string |
- :param product_description: The product description filter value. |
- Specify this parameter to show only those reservations matching the |
- specified product description. |
- |
- :type offering_type: string |
- :param offering_type: The offering type filter value. Specify this |
- parameter to show only the available offerings matching the |
- specified offering type. |
- Valid Values: `"Light Utilization" | "Medium Utilization" | "Heavy |
- Utilization" ` |
- |
- :type multi_az: boolean |
- :param multi_az: The Multi-AZ filter value. Specify this parameter to |
- show only those reservations matching the specified Multi-AZ |
- parameter. |
- |
- :type filters: list |
- :param filters: |
- |
- :type max_records: integer |
- :param max_records: The maximum number of records to include in the |
- response. If more than the `MaxRecords` value is available, a |
- pagination token called a marker is included in the response so |
- that the following results can be retrieved. |
- Default: 100 |
- |
- Constraints: minimum 20, maximum 100 |
- |
- :type marker: string |
- :param marker: An optional pagination token provided by a previous |
- request. If this parameter is specified, the response includes only |
- records beyond the marker, up to the value specified by |
- `MaxRecords`. |
- |
- """ |
- params = {} |
- if reserved_db_instance_id is not None: |
- params['ReservedDBInstanceId'] = reserved_db_instance_id |
- if reserved_db_instances_offering_id is not None: |
- params['ReservedDBInstancesOfferingId'] = reserved_db_instances_offering_id |
- if db_instance_class is not None: |
- params['DBInstanceClass'] = db_instance_class |
- if duration is not None: |
- params['Duration'] = duration |
- if product_description is not None: |
- params['ProductDescription'] = product_description |
- if offering_type is not None: |
- params['OfferingType'] = offering_type |
- if multi_az is not None: |
- params['MultiAZ'] = str( |
- multi_az).lower() |
- if filters is not None: |
- self.build_complex_list_params( |
- params, filters, |
- 'Filters.member', |
- ('FilterName', 'FilterValue')) |
- if max_records is not None: |
- params['MaxRecords'] = max_records |
- if marker is not None: |
- params['Marker'] = marker |
- return self._make_request( |
- action='DescribeReservedDBInstances', |
- verb='POST', |
- path='/', params=params) |
- |
- def describe_reserved_db_instances_offerings(self, |
- reserved_db_instances_offering_id=None, |
- db_instance_class=None, |
- duration=None, |
- product_description=None, |
- offering_type=None, |
- multi_az=None, |
- max_records=None, |
- marker=None): |
- """ |
- Lists available reserved DB instance offerings. |
- |
- :type reserved_db_instances_offering_id: string |
- :param reserved_db_instances_offering_id: The offering identifier |
- filter value. Specify this parameter to show only the available |
- offering that matches the specified reservation identifier. |
- Example: `438012d3-4052-4cc7-b2e3-8d3372e0e706` |
- |
- :type db_instance_class: string |
- :param db_instance_class: The DB instance class filter value. Specify |
- this parameter to show only the available offerings matching the |
- specified DB instance class. |
- |
- :type duration: string |
- :param duration: Duration filter value, specified in years or seconds. |
- Specify this parameter to show only reservations for this duration. |
- Valid Values: `1 | 3 | 31536000 | 94608000` |
- |
- :type product_description: string |
- :param product_description: Product description filter value. Specify |
- this parameter to show only the available offerings matching the |
- specified product description. |
- |
- :type offering_type: string |
- :param offering_type: The offering type filter value. Specify this |
- parameter to show only the available offerings matching the |
- specified offering type. |
- Valid Values: `"Light Utilization" | "Medium Utilization" | "Heavy |
- Utilization" ` |
- |
- :type multi_az: boolean |
- :param multi_az: The Multi-AZ filter value. Specify this parameter to |
- show only the available offerings matching the specified Multi-AZ |
- parameter. |
- |
- :type max_records: integer |
- :param max_records: The maximum number of records to include in the |
- response. If more than the `MaxRecords` value is available, a |
- pagination token called a marker is included in the response so |
- that the following results can be retrieved. |
- Default: 100 |
- |
- Constraints: minimum 20, maximum 100 |
- |
- :type marker: string |
- :param marker: An optional pagination token provided by a previous |
- request. If this parameter is specified, the response includes only |
- records beyond the marker, up to the value specified by |
- `MaxRecords`. |
- |
- """ |
- params = {} |
- if reserved_db_instances_offering_id is not None: |
- params['ReservedDBInstancesOfferingId'] = reserved_db_instances_offering_id |
- if db_instance_class is not None: |
- params['DBInstanceClass'] = db_instance_class |
- if duration is not None: |
- params['Duration'] = duration |
- if product_description is not None: |
- params['ProductDescription'] = product_description |
- if offering_type is not None: |
- params['OfferingType'] = offering_type |
- if multi_az is not None: |
- params['MultiAZ'] = str( |
- multi_az).lower() |
- if max_records is not None: |
- params['MaxRecords'] = max_records |
- if marker is not None: |
- params['Marker'] = marker |
- return self._make_request( |
- action='DescribeReservedDBInstancesOfferings', |
- verb='POST', |
- path='/', params=params) |
- |
- def download_db_log_file_portion(self, db_instance_identifier, |
- log_file_name, marker=None, |
- number_of_lines=None): |
- """ |
- Downloads the last line of the specified log file. |
- |
- :type db_instance_identifier: string |
- :param db_instance_identifier: |
- The customer-assigned name of the DB instance that contains the log |
- files you want to list. |
- |
- Constraints: |
- |
- |
- + Must contain from 1 to 63 alphanumeric characters or hyphens |
- + First character must be a letter |
- + Cannot end with a hyphen or contain two consecutive hyphens |
- |
- :type log_file_name: string |
- :param log_file_name: The name of the log file to be downloaded. |
- |
- :type marker: string |
- :param marker: The pagination token provided in the previous request. |
- If this parameter is specified the response includes only records |
- beyond the marker, up to MaxRecords. |
- |
- :type number_of_lines: integer |
- :param number_of_lines: The number of lines remaining to be downloaded. |
- |
- """ |
- params = { |
- 'DBInstanceIdentifier': db_instance_identifier, |
- 'LogFileName': log_file_name, |
- } |
- if marker is not None: |
- params['Marker'] = marker |
- if number_of_lines is not None: |
- params['NumberOfLines'] = number_of_lines |
- return self._make_request( |
- action='DownloadDBLogFilePortion', |
- verb='POST', |
- path='/', params=params) |
- |
- def list_tags_for_resource(self, resource_name): |
- """ |
- Lists all tags on an Amazon RDS resource. |
- |
- For an overview on tagging an Amazon RDS resource, see |
- `Tagging Amazon RDS Resources`_. |
- |
- :type resource_name: string |
- :param resource_name: The Amazon RDS resource with tags to be listed. |
- This value is an Amazon Resource Name (ARN). For information about |
- creating an ARN, see ` Constructing an RDS Amazon Resource Name |
- (ARN)`_. |
- |
- """ |
- params = {'ResourceName': resource_name, } |
- return self._make_request( |
- action='ListTagsForResource', |
- verb='POST', |
- path='/', params=params) |
- |
- def modify_db_instance(self, db_instance_identifier, |
- allocated_storage=None, db_instance_class=None, |
- db_security_groups=None, |
- vpc_security_group_ids=None, |
- apply_immediately=None, master_user_password=None, |
- db_parameter_group_name=None, |
- backup_retention_period=None, |
- preferred_backup_window=None, |
- preferred_maintenance_window=None, multi_az=None, |
- engine_version=None, |
- allow_major_version_upgrade=None, |
- auto_minor_version_upgrade=None, iops=None, |
- option_group_name=None, |
- new_db_instance_identifier=None): |
- """ |
- Modify settings for a DB instance. You can change one or more |
- database configuration parameters by specifying these |
- parameters and the new values in the request. |
- |
- :type db_instance_identifier: string |
- :param db_instance_identifier: |
- The DB instance identifier. This value is stored as a lowercase string. |
- |
- Constraints: |
- |
- |
- + Must be the identifier for an existing DB instance |
- + Must contain from 1 to 63 alphanumeric characters or hyphens |
- + First character must be a letter |
- + Cannot end with a hyphen or contain two consecutive hyphens |
- |
- :type allocated_storage: integer |
- :param allocated_storage: The new storage capacity of the RDS instance. |
- Changing this parameter does not result in an outage and the change |
- is applied during the next maintenance window unless the |
- `ApplyImmediately` parameter is set to `True` for this request. |
- **MySQL** |
- |
- Default: Uses existing setting |
- |
- Valid Values: 5-1024 |
- |
- Constraints: Value supplied must be at least 10% greater than the |
- current value. Values that are not at least 10% greater than the |
- existing value are rounded up so that they are 10% greater than the |
- current value. |
- |
- Type: Integer |
- |
- **Oracle** |
- |
- Default: Uses existing setting |
- |
- Valid Values: 10-1024 |
- |
- Constraints: Value supplied must be at least 10% greater than the |
- current value. Values that are not at least 10% greater than the |
- existing value are rounded up so that they are 10% greater than the |
- current value. |
- |
- **SQL Server** |
- |
- Cannot be modified. |
- |
- If you choose to migrate your DB instance from using standard storage |
- to using Provisioned IOPS, or from using Provisioned IOPS to using |
- standard storage, the process can take time. The duration of the |
- migration depends on several factors such as database load, storage |
- size, storage type (standard or Provisioned IOPS), amount of IOPS |
- provisioned (if any), and the number of prior scale storage |
- operations. Typical migration times are under 24 hours, but the |
- process can take up to several days in some cases. During the |
- migration, the DB instance will be available for use, but may |
- experience performance degradation. While the migration takes |
- place, nightly backups for the instance will be suspended. No other |
- Amazon RDS operations can take place for the instance, including |
- modifying the instance, rebooting the instance, deleting the |
- instance, creating a read replica for the instance, and creating a |
- DB snapshot of the instance. |
- |
- :type db_instance_class: string |
- :param db_instance_class: The new compute and memory capacity of the DB |
- instance. To determine the instance classes that are available for |
- a particular DB engine, use the DescribeOrderableDBInstanceOptions |
- action. |
- Passing a value for this parameter causes an outage during the change |
- and is applied during the next maintenance window, unless the |
- `ApplyImmediately` parameter is specified as `True` for this |
- request. |
- |
- Default: Uses existing setting |
- |
- Valid Values: `db.t1.micro | db.m1.small | db.m1.medium | db.m1.large | |
- db.m1.xlarge | db.m2.xlarge | db.m2.2xlarge | db.m2.4xlarge` |
- |
- :type db_security_groups: list |
- :param db_security_groups: |
- A list of DB security groups to authorize on this DB instance. Changing |
- this parameter does not result in an outage and the change is |
- asynchronously applied as soon as possible. |
- |
- Constraints: |
- |
- |
- + Must be 1 to 255 alphanumeric characters |
- + First character must be a letter |
- + Cannot end with a hyphen or contain two consecutive hyphens |
- |
- :type vpc_security_group_ids: list |
- :param vpc_security_group_ids: |
- A list of EC2 VPC security groups to authorize on this DB instance. |
- This change is asynchronously applied as soon as possible. |
- |
- Constraints: |
- |
- |
- + Must be 1 to 255 alphanumeric characters |
- + First character must be a letter |
- + Cannot end with a hyphen or contain two consecutive hyphens |
- |
- :type apply_immediately: boolean |
- :param apply_immediately: Specifies whether or not the modifications in |
- this request and any pending modifications are asynchronously |
- applied as soon as possible, regardless of the |
- `PreferredMaintenanceWindow` setting for the DB instance. |
- If this parameter is passed as `False`, changes to the DB instance are |
- applied on the next call to RebootDBInstance, the next maintenance |
- reboot, or the next failure reboot, whichever occurs first. See |
- each parameter to determine when a change is applied. |
- |
- Default: `False` |
- |
- :type master_user_password: string |
- :param master_user_password: |
- The new password for the DB instance master user. Can be any printable |
- ASCII character except "/", '"', or "@". |
- |
- Changing this parameter does not result in an outage and the change is |
- asynchronously applied as soon as possible. Between the time of the |
- request and the completion of the request, the `MasterUserPassword` |
- element exists in the `PendingModifiedValues` element of the |
- operation response. |
- |
- Default: Uses existing setting |
- |
- Constraints: Must be 8 to 41 alphanumeric characters (MySQL), 8 to 30 |
- alphanumeric characters (Oracle), or 8 to 128 alphanumeric |
- characters (SQL Server). |
- |
- Amazon RDS API actions never return the password, so this action |
- provides a way to regain access to a master instance user if the |
- password is lost. |
- |
- :type db_parameter_group_name: string |
- :param db_parameter_group_name: The name of the DB parameter group to |
- apply to this DB instance. Changing this parameter does not result |
- in an outage and the change is applied during the next maintenance |
- window unless the `ApplyImmediately` parameter is set to `True` for |
- this request. |
- Default: Uses existing setting |
- |
- Constraints: The DB parameter group must be in the same DB parameter |
- group family as this DB instance. |
- |
- :type backup_retention_period: integer |
- :param backup_retention_period: |
- The number of days to retain automated backups. Setting this parameter |
- to a positive number enables backups. Setting this parameter to 0 |
- disables automated backups. |
- |
- Changing this parameter can result in an outage if you change from 0 to |
- a non-zero value or from a non-zero value to 0. These changes are |
- applied during the next maintenance window unless the |
- `ApplyImmediately` parameter is set to `True` for this request. If |
- you change the parameter from one non-zero value to another non- |
- zero value, the change is asynchronously applied as soon as |
- possible. |
- |
- Default: Uses existing setting |
- |
- Constraints: |
- |
- |
- + Must be a value from 0 to 8 |
- + Cannot be set to 0 if the DB instance is a master instance with read |
- replicas or if the DB instance is a read replica |
- |
- :type preferred_backup_window: string |
- :param preferred_backup_window: |
- The daily time range during which automated backups are created if |
- automated backups are enabled, as determined by the |
- `BackupRetentionPeriod`. Changing this parameter does not result in |
- an outage and the change is asynchronously applied as soon as |
- possible. |
- |
- Constraints: |
- |
- |
- + Must be in the format hh24:mi-hh24:mi |
- + Times should be Universal Time Coordinated (UTC) |
- + Must not conflict with the preferred maintenance window |
- + Must be at least 30 minutes |
- |
- :type preferred_maintenance_window: string |
- :param preferred_maintenance_window: The weekly time range (in UTC) |
- during which system maintenance can occur, which may result in an |
- outage. Changing this parameter does not result in an outage, |
- except in the following situation, and the change is asynchronously |
- applied as soon as possible. If there are pending actions that |
- cause a reboot, and the maintenance window is changed to include |
- the current time, then changing this parameter will cause a reboot |
- of the DB instance. If moving this window to the current time, |
- there must be at least 30 minutes between the current time and end |
- of the window to ensure pending changes are applied. |
- Default: Uses existing setting |
- |
- Format: ddd:hh24:mi-ddd:hh24:mi |
- |
- Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun |
- |
- Constraints: Must be at least 30 minutes |
- |
- :type multi_az: boolean |
- :param multi_az: Specifies if the DB instance is a Multi-AZ deployment. |
- Changing this parameter does not result in an outage and the change |
- is applied during the next maintenance window unless the |
- `ApplyImmediately` parameter is set to `True` for this request. |
- Constraints: Cannot be specified if the DB instance is a read replica. |
- |
- :type engine_version: string |
- :param engine_version: The version number of the database engine to |
- upgrade to. Changing this parameter results in an outage and the |
- change is applied during the next maintenance window unless the |
- `ApplyImmediately` parameter is set to `True` for this request. |
- For major version upgrades, if a non-default DB parameter group is |
- currently in use, a new DB parameter group in the DB parameter |
- group family for the new engine version must be specified. The new |
- DB parameter group can be the default for that DB parameter group |
- family. |
- |
- Example: `5.1.42` |
- |
- :type allow_major_version_upgrade: boolean |
- :param allow_major_version_upgrade: Indicates that major version |
- upgrades are allowed. Changing this parameter does not result in an |
- outage and the change is asynchronously applied as soon as |
- possible. |
- Constraints: This parameter must be set to true when specifying a value |
- for the EngineVersion parameter that is a different major version |
- than the DB instance's current version. |
- |
- :type auto_minor_version_upgrade: boolean |
- :param auto_minor_version_upgrade: Indicates that minor version |
- upgrades will be applied automatically to the DB instance during |
- the maintenance window. Changing this parameter does not result in |
- an outage except in the following case and the change is |
- asynchronously applied as soon as possible. An outage will result |
- if this parameter is set to `True` during the maintenance window, |
- and a newer minor version is available, and RDS has enabled auto |
- patching for that engine version. |
- |
- :type iops: integer |
- :param iops: The new Provisioned IOPS (I/O operations per second) value |
- for the RDS instance. Changing this parameter does not result in an |
- outage and the change is applied during the next maintenance window |
- unless the `ApplyImmediately` parameter is set to `True` for this |
- request. |
- Default: Uses existing setting |
- |
- Constraints: Value supplied must be at least 10% greater than the |
- current value. Values that are not at least 10% greater than the |
- existing value are rounded up so that they are 10% greater than the |
- current value. |
- |
- Type: Integer |
- |
- If you choose to migrate your DB instance from using standard storage |
- to using Provisioned IOPS, or from using Provisioned IOPS to using |
- standard storage, the process can take time. The duration of the |
- migration depends on several factors such as database load, storage |
- size, storage type (standard or Provisioned IOPS), amount of IOPS |
- provisioned (if any), and the number of prior scale storage |
- operations. Typical migration times are under 24 hours, but the |
- process can take up to several days in some cases. During the |
- migration, the DB instance will be available for use, but may |
- experience performance degradation. While the migration takes |
- place, nightly backups for the instance will be suspended. No other |
- Amazon RDS operations can take place for the instance, including |
- modifying the instance, rebooting the instance, deleting the |
- instance, creating a read replica for the instance, and creating a |
- DB snapshot of the instance. |
- |
- :type option_group_name: string |
- :param option_group_name: Indicates that the DB instance should be |
- associated with the specified option group. Changing this parameter |
- does not result in an outage except in the following case and the |
- change is applied during the next maintenance window unless the |
- `ApplyImmediately` parameter is set to `True` for this request. If |
- the parameter change results in an option group that enables OEM, |
- this change can cause a brief (sub-second) period during which new |
- connections are rejected but existing connections are not |
- interrupted. |
- Permanent options, such as the TDE option for Oracle Advanced Security |
- TDE, cannot be removed from an option group, and that option group |
- cannot be removed from a DB instance once it is associated with a |
- DB instance |
- |
- :type new_db_instance_identifier: string |
- :param new_db_instance_identifier: |
- The new DB instance identifier for the DB instance when renaming a DB |
- Instance. This value is stored as a lowercase string. |
- |
- Constraints: |
- |
- |
- + Must contain from 1 to 63 alphanumeric characters or hyphens |
- + First character must be a letter |
- + Cannot end with a hyphen or contain two consecutive hyphens |
- |
- """ |
- params = {'DBInstanceIdentifier': db_instance_identifier, } |
- if allocated_storage is not None: |
- params['AllocatedStorage'] = allocated_storage |
- if db_instance_class is not None: |
- params['DBInstanceClass'] = db_instance_class |
- if db_security_groups is not None: |
- self.build_list_params(params, |
- db_security_groups, |
- 'DBSecurityGroups.member') |
- if vpc_security_group_ids is not None: |
- self.build_list_params(params, |
- vpc_security_group_ids, |
- 'VpcSecurityGroupIds.member') |
- if apply_immediately is not None: |
- params['ApplyImmediately'] = str( |
- apply_immediately).lower() |
- if master_user_password is not None: |
- params['MasterUserPassword'] = master_user_password |
- if db_parameter_group_name is not None: |
- params['DBParameterGroupName'] = db_parameter_group_name |
- if backup_retention_period is not None: |
- params['BackupRetentionPeriod'] = backup_retention_period |
- if preferred_backup_window is not None: |
- params['PreferredBackupWindow'] = preferred_backup_window |
- if preferred_maintenance_window is not None: |
- params['PreferredMaintenanceWindow'] = preferred_maintenance_window |
- if multi_az is not None: |
- params['MultiAZ'] = str( |
- multi_az).lower() |
- if engine_version is not None: |
- params['EngineVersion'] = engine_version |
- if allow_major_version_upgrade is not None: |
- params['AllowMajorVersionUpgrade'] = str( |
- allow_major_version_upgrade).lower() |
- if auto_minor_version_upgrade is not None: |
- params['AutoMinorVersionUpgrade'] = str( |
- auto_minor_version_upgrade).lower() |
- if iops is not None: |
- params['Iops'] = iops |
- if option_group_name is not None: |
- params['OptionGroupName'] = option_group_name |
- if new_db_instance_identifier is not None: |
- params['NewDBInstanceIdentifier'] = new_db_instance_identifier |
- return self._make_request( |
- action='ModifyDBInstance', |
- verb='POST', |
- path='/', params=params) |
- |
- def modify_db_parameter_group(self, db_parameter_group_name, parameters): |
- """ |
- Modifies the parameters of a DB parameter group. To modify |
- more than one parameter, submit a list of the following: |
- `ParameterName`, `ParameterValue`, and `ApplyMethod`. A |
- maximum of 20 parameters can be modified in a single request. |
- |
- The `apply-immediate` method can be used only for dynamic |
- parameters; the `pending-reboot` method can be used with MySQL |
- and Oracle DB instances for either dynamic or static |
- parameters. For Microsoft SQL Server DB instances, the |
- `pending-reboot` method can be used only for static |
- parameters. |
- |
- :type db_parameter_group_name: string |
- :param db_parameter_group_name: |
- The name of the DB parameter group. |
- |
- Constraints: |
- |
- |
- + Must be the name of an existing DB parameter group |
- + Must be 1 to 255 alphanumeric characters |
- + First character must be a letter |
- + Cannot end with a hyphen or contain two consecutive hyphens |
- |
- :type parameters: list |
- :param parameters: |
- An array of parameter names, values, and the apply method for the |
- parameter update. At least one parameter name, value, and apply |
- method must be supplied; subsequent arguments are optional. A |
- maximum of 20 parameters may be modified in a single request. |
- |
- Valid Values (for the application method): `immediate | pending-reboot` |
- |
- You can use the immediate value with dynamic parameters only. You can |
- use the pending-reboot value for both dynamic and static |
- parameters, and changes are applied when DB instance reboots. |
- |
- """ |
- params = {'DBParameterGroupName': db_parameter_group_name, } |
- self.build_complex_list_params( |
- params, parameters, |
- 'Parameters.member', |
- ('ParameterName', 'ParameterValue', 'Description', 'Source', 'ApplyType', 'DataType', 'AllowedValues', 'IsModifiable', 'MinimumEngineVersion', 'ApplyMethod')) |
- return self._make_request( |
- action='ModifyDBParameterGroup', |
- verb='POST', |
- path='/', params=params) |
- |
- def modify_db_subnet_group(self, db_subnet_group_name, subnet_ids, |
- db_subnet_group_description=None): |
- """ |
- Modifies an existing DB subnet group. DB subnet groups must |
- contain at least one subnet in at least two AZs in the region. |
- |
- :type db_subnet_group_name: string |
- :param db_subnet_group_name: The name for the DB subnet group. This |
- value is stored as a lowercase string. |
- Constraints: Must contain no more than 255 alphanumeric characters or |
- hyphens. Must not be "Default". |
- |
- Example: `mySubnetgroup` |
- |
- :type db_subnet_group_description: string |
- :param db_subnet_group_description: The description for the DB subnet |
- group. |
- |
- :type subnet_ids: list |
- :param subnet_ids: The EC2 subnet IDs for the DB subnet group. |
- |
- """ |
- params = {'DBSubnetGroupName': db_subnet_group_name, } |
- self.build_list_params(params, |
- subnet_ids, |
- 'SubnetIds.member') |
- if db_subnet_group_description is not None: |
- params['DBSubnetGroupDescription'] = db_subnet_group_description |
- return self._make_request( |
- action='ModifyDBSubnetGroup', |
- verb='POST', |
- path='/', params=params) |
- |
- def modify_event_subscription(self, subscription_name, |
- sns_topic_arn=None, source_type=None, |
- event_categories=None, enabled=None): |
- """ |
- Modifies an existing RDS event notification subscription. Note |
- that you cannot modify the source identifiers using this call; |
- to change source identifiers for a subscription, use the |
- AddSourceIdentifierToSubscription and |
- RemoveSourceIdentifierFromSubscription calls. |
- |
- You can see a list of the event categories for a given |
- SourceType in the `Events`_ topic in the Amazon RDS User Guide |
- or by using the **DescribeEventCategories** action. |
- |
- :type subscription_name: string |
- :param subscription_name: The name of the RDS event notification |
- subscription. |
- |
- :type sns_topic_arn: string |
- :param sns_topic_arn: The Amazon Resource Name (ARN) of the SNS topic |
- created for event notification. The ARN is created by Amazon SNS |
- when you create a topic and subscribe to it. |
- |
- :type source_type: string |
- :param source_type: The type of source that will be generating the |
- events. For example, if you want to be notified of events generated |
- by a DB instance, you would set this parameter to db-instance. if |
- this value is not specified, all events are returned. |
- Valid values: db-instance | db-parameter-group | db-security-group | |
- db-snapshot |
- |
- :type event_categories: list |
- :param event_categories: A list of event categories for a SourceType |
- that you want to subscribe to. You can see a list of the categories |
- for a given SourceType in the `Events`_ topic in the Amazon RDS |
- User Guide or by using the **DescribeEventCategories** action. |
- |
- :type enabled: boolean |
- :param enabled: A Boolean value; set to **true** to activate the |
- subscription. |
- |
- """ |
- params = {'SubscriptionName': subscription_name, } |
- if sns_topic_arn is not None: |
- params['SnsTopicArn'] = sns_topic_arn |
- if source_type is not None: |
- params['SourceType'] = source_type |
- if event_categories is not None: |
- self.build_list_params(params, |
- event_categories, |
- 'EventCategories.member') |
- if enabled is not None: |
- params['Enabled'] = str( |
- enabled).lower() |
- return self._make_request( |
- action='ModifyEventSubscription', |
- verb='POST', |
- path='/', params=params) |
- |
- def modify_option_group(self, option_group_name, options_to_include=None, |
- options_to_remove=None, apply_immediately=None): |
- """ |
- Modifies an existing option group. |
- |
- :type option_group_name: string |
- :param option_group_name: The name of the option group to be modified. |
- Permanent options, such as the TDE option for Oracle Advanced Security |
- TDE, cannot be removed from an option group, and that option group |
- cannot be removed from a DB instance once it is associated with a |
- DB instance |
- |
- :type options_to_include: list |
- :param options_to_include: Options in this list are added to the option |
- group or, if already present, the specified configuration is used |
- to update the existing configuration. |
- |
- :type options_to_remove: list |
- :param options_to_remove: Options in this list are removed from the |
- option group. |
- |
- :type apply_immediately: boolean |
- :param apply_immediately: Indicates whether the changes should be |
- applied immediately, or during the next maintenance window for each |
- instance associated with the option group. |
- |
- """ |
- params = {'OptionGroupName': option_group_name, } |
- if options_to_include is not None: |
- self.build_complex_list_params( |
- params, options_to_include, |
- 'OptionsToInclude.member', |
- ('OptionName', 'Port', 'DBSecurityGroupMemberships', 'VpcSecurityGroupMemberships', 'OptionSettings')) |
- if options_to_remove is not None: |
- self.build_list_params(params, |
- options_to_remove, |
- 'OptionsToRemove.member') |
- if apply_immediately is not None: |
- params['ApplyImmediately'] = str( |
- apply_immediately).lower() |
- return self._make_request( |
- action='ModifyOptionGroup', |
- verb='POST', |
- path='/', params=params) |
- |
- def promote_read_replica(self, db_instance_identifier, |
- backup_retention_period=None, |
- preferred_backup_window=None): |
- """ |
- Promotes a read replica DB instance to a standalone DB |
- instance. |
- |
- :type db_instance_identifier: string |
- :param db_instance_identifier: The DB instance identifier. This value |
- is stored as a lowercase string. |
- Constraints: |
- |
- |
- + Must be the identifier for an existing read replica DB instance |
- + Must contain from 1 to 63 alphanumeric characters or hyphens |
- + First character must be a letter |
- + Cannot end with a hyphen or contain two consecutive hyphens |
- |
- |
- Example: mydbinstance |
- |
- :type backup_retention_period: integer |
- :param backup_retention_period: |
- The number of days to retain automated backups. Setting this parameter |
- to a positive number enables backups. Setting this parameter to 0 |
- disables automated backups. |
- |
- Default: 1 |
- |
- Constraints: |
- |
- |
- + Must be a value from 0 to 8 |
- |
- :type preferred_backup_window: string |
- :param preferred_backup_window: The daily time range during which |
- automated backups are created if automated backups are enabled, |
- using the `BackupRetentionPeriod` parameter. |
- Default: A 30-minute window selected at random from an 8-hour block of |
- time per region. See the Amazon RDS User Guide for the time blocks |
- for each region from which the default backup windows are assigned. |
- |
- Constraints: Must be in the format `hh24:mi-hh24:mi`. Times should be |
- Universal Time Coordinated (UTC). Must not conflict with the |
- preferred maintenance window. Must be at least 30 minutes. |
- |
- """ |
- params = {'DBInstanceIdentifier': db_instance_identifier, } |
- if backup_retention_period is not None: |
- params['BackupRetentionPeriod'] = backup_retention_period |
- if preferred_backup_window is not None: |
- params['PreferredBackupWindow'] = preferred_backup_window |
- return self._make_request( |
- action='PromoteReadReplica', |
- verb='POST', |
- path='/', params=params) |
- |
- def purchase_reserved_db_instances_offering(self, |
- reserved_db_instances_offering_id, |
- reserved_db_instance_id=None, |
- db_instance_count=None, |
- tags=None): |
- """ |
- Purchases a reserved DB instance offering. |
- |
- :type reserved_db_instances_offering_id: string |
- :param reserved_db_instances_offering_id: The ID of the Reserved DB |
- instance offering to purchase. |
- Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706 |
- |
- :type reserved_db_instance_id: string |
- :param reserved_db_instance_id: Customer-specified identifier to track |
- this reservation. |
- Example: myreservationID |
- |
- :type db_instance_count: integer |
- :param db_instance_count: The number of instances to reserve. |
- Default: `1` |
- |
- :type tags: list |
- :param tags: A list of tags. |
- |
- """ |
- params = { |
- 'ReservedDBInstancesOfferingId': reserved_db_instances_offering_id, |
- } |
- if reserved_db_instance_id is not None: |
- params['ReservedDBInstanceId'] = reserved_db_instance_id |
- if db_instance_count is not None: |
- params['DBInstanceCount'] = db_instance_count |
- if tags is not None: |
- self.build_complex_list_params( |
- params, tags, |
- 'Tags.member', |
- ('Key', 'Value')) |
- return self._make_request( |
- action='PurchaseReservedDBInstancesOffering', |
- verb='POST', |
- path='/', params=params) |
- |
- def reboot_db_instance(self, db_instance_identifier, force_failover=None): |
- """ |
- Rebooting a DB instance restarts the database engine service. |
- A reboot also applies to the DB instance any modifications to |
- the associated DB parameter group that were pending. Rebooting |
- a DB instance results in a momentary outage of the instance, |
- during which the DB instance status is set to rebooting. If |
- the RDS instance is configured for MultiAZ, it is possible |
- that the reboot will be conducted through a failover. An |
- Amazon RDS event is created when the reboot is completed. |
- |
- If your DB instance is deployed in multiple Availability |
- Zones, you can force a failover from one AZ to the other |
- during the reboot. You might force a failover to test the |
- availability of your DB instance deployment or to restore |
- operations to the original AZ after a failover occurs. |
- |
- The time required to reboot is a function of the specific |
- database engine's crash recovery process. To improve the |
- reboot time, we recommend that you reduce database activities |
- as much as possible during the reboot process to reduce |
- rollback activity for in-transit transactions. |
- |
- :type db_instance_identifier: string |
- :param db_instance_identifier: |
- The DB instance identifier. This parameter is stored as a lowercase |
- string. |
- |
- Constraints: |
- |
- |
- + Must contain from 1 to 63 alphanumeric characters or hyphens |
- + First character must be a letter |
- + Cannot end with a hyphen or contain two consecutive hyphens |
- |
- :type force_failover: boolean |
- :param force_failover: When `True`, the reboot will be conducted |
- through a MultiAZ failover. |
- Constraint: You cannot specify `True` if the instance is not configured |
- for MultiAZ. |
- |
- """ |
- params = {'DBInstanceIdentifier': db_instance_identifier, } |
- if force_failover is not None: |
- params['ForceFailover'] = str( |
- force_failover).lower() |
- return self._make_request( |
- action='RebootDBInstance', |
- verb='POST', |
- path='/', params=params) |
- |
- def remove_source_identifier_from_subscription(self, subscription_name, |
- source_identifier): |
- """ |
- Removes a source identifier from an existing RDS event |
- notification subscription. |
- |
- :type subscription_name: string |
- :param subscription_name: The name of the RDS event notification |
- subscription you want to remove a source identifier from. |
- |
- :type source_identifier: string |
- :param source_identifier: The source identifier to be removed from the |
- subscription, such as the **DB instance identifier** for a DB |
- instance or the name of a security group. |
- |
- """ |
- params = { |
- 'SubscriptionName': subscription_name, |
- 'SourceIdentifier': source_identifier, |
- } |
- return self._make_request( |
- action='RemoveSourceIdentifierFromSubscription', |
- verb='POST', |
- path='/', params=params) |
- |
- def remove_tags_from_resource(self, resource_name, tag_keys): |
- """ |
- Removes metadata tags from an Amazon RDS resource. |
- |
- For an overview on tagging an Amazon RDS resource, see |
- `Tagging Amazon RDS Resources`_. |
- |
- :type resource_name: string |
- :param resource_name: The Amazon RDS resource the tags will be removed |
- from. This value is an Amazon Resource Name (ARN). For information |
- about creating an ARN, see ` Constructing an RDS Amazon Resource |
- Name (ARN)`_. |
- |
- :type tag_keys: list |
- :param tag_keys: The tag key (name) of the tag to be removed. |
- |
- """ |
- params = {'ResourceName': resource_name, } |
- self.build_list_params(params, |
- tag_keys, |
- 'TagKeys.member') |
- return self._make_request( |
- action='RemoveTagsFromResource', |
- verb='POST', |
- path='/', params=params) |
- |
- def reset_db_parameter_group(self, db_parameter_group_name, |
- reset_all_parameters=None, parameters=None): |
- """ |
- Modifies the parameters of a DB parameter group to the |
- engine/system default value. To reset specific parameters |
- submit a list of the following: `ParameterName` and |
- `ApplyMethod`. To reset the entire DB parameter group, specify |
- the `DBParameterGroup` name and `ResetAllParameters` |
- parameters. When resetting the entire group, dynamic |
- parameters are updated immediately and static parameters are |
- set to `pending-reboot` to take effect on the next DB instance |
- restart or `RebootDBInstance` request. |
- |
- :type db_parameter_group_name: string |
- :param db_parameter_group_name: |
- The name of the DB parameter group. |
- |
- Constraints: |
- |
- |
- + Must be 1 to 255 alphanumeric characters |
- + First character must be a letter |
- + Cannot end with a hyphen or contain two consecutive hyphens |
- |
- :type reset_all_parameters: boolean |
- :param reset_all_parameters: Specifies whether ( `True`) or not ( |
- `False`) to reset all parameters in the DB parameter group to |
- default values. |
- Default: `True` |
- |
- :type parameters: list |
- :param parameters: An array of parameter names, values, and the apply |
- method for the parameter update. At least one parameter name, |
- value, and apply method must be supplied; subsequent arguments are |
- optional. A maximum of 20 parameters may be modified in a single |
- request. |
- **MySQL** |
- |
- Valid Values (for Apply method): `immediate` | `pending-reboot` |
- |
- You can use the immediate value with dynamic parameters only. You can |
- use the `pending-reboot` value for both dynamic and static |
- parameters, and changes are applied when DB instance reboots. |
- |
- **Oracle** |
- |
- Valid Values (for Apply method): `pending-reboot` |
- |
- """ |
- params = {'DBParameterGroupName': db_parameter_group_name, } |
- if reset_all_parameters is not None: |
- params['ResetAllParameters'] = str( |
- reset_all_parameters).lower() |
- if parameters is not None: |
- self.build_complex_list_params( |
- params, parameters, |
- 'Parameters.member', |
- ('ParameterName', 'ParameterValue', 'Description', 'Source', 'ApplyType', 'DataType', 'AllowedValues', 'IsModifiable', 'MinimumEngineVersion', 'ApplyMethod')) |
- return self._make_request( |
- action='ResetDBParameterGroup', |
- verb='POST', |
- path='/', params=params) |
- |
- def restore_db_instance_from_db_snapshot(self, db_instance_identifier, |
- db_snapshot_identifier, |
- db_instance_class=None, |
- port=None, |
- availability_zone=None, |
- db_subnet_group_name=None, |
- multi_az=None, |
- publicly_accessible=None, |
- auto_minor_version_upgrade=None, |
- license_model=None, |
- db_name=None, engine=None, |
- iops=None, |
- option_group_name=None, |
- tags=None): |
- """ |
- Creates a new DB instance from a DB snapshot. The target |
- database is created from the source database restore point |
- with the same configuration as the original source database, |
- except that the new RDS instance is created with the default |
- security group. |
- |
- :type db_instance_identifier: string |
- :param db_instance_identifier: |
- The identifier for the DB snapshot to restore from. |
- |
- Constraints: |
- |
- |
- + Must contain from 1 to 63 alphanumeric characters or hyphens |
- + First character must be a letter |
- + Cannot end with a hyphen or contain two consecutive hyphens |
- |
- :type db_snapshot_identifier: string |
- :param db_snapshot_identifier: Name of the DB instance to create from |
- the DB snapshot. This parameter isn't case sensitive. |
- Constraints: |
- |
- |
- + Must contain from 1 to 255 alphanumeric characters or hyphens |
- + First character must be a letter |
- + Cannot end with a hyphen or contain two consecutive hyphens |
- |
- |
- Example: `my-snapshot-id` |
- |
- :type db_instance_class: string |
- :param db_instance_class: The compute and memory capacity of the Amazon |
- RDS DB instance. |
- Valid Values: `db.t1.micro | db.m1.small | db.m1.medium | db.m1.large | |
- db.m1.xlarge | db.m2.2xlarge | db.m2.4xlarge` |
- |
- :type port: integer |
- :param port: The port number on which the database accepts connections. |
- Default: The same port as the original DB instance |
- |
- Constraints: Value must be `1150-65535` |
- |
- :type availability_zone: string |
- :param availability_zone: The EC2 Availability Zone that the database |
- instance will be created in. |
- Default: A random, system-chosen Availability Zone. |
- |
- Constraint: You cannot specify the AvailabilityZone parameter if the |
- MultiAZ parameter is set to `True`. |
- |
- Example: `us-east-1a` |
- |
- :type db_subnet_group_name: string |
- :param db_subnet_group_name: The DB subnet group name to use for the |
- new instance. |
- |
- :type multi_az: boolean |
- :param multi_az: Specifies if the DB instance is a Multi-AZ deployment. |
- Constraint: You cannot specify the AvailabilityZone parameter if the |
- MultiAZ parameter is set to `True`. |
- |
- :type publicly_accessible: boolean |
- :param publicly_accessible: 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. |
- Default: The default behavior varies depending on whether a VPC has |
- been requested or not. The following list shows the default |
- behavior in each case. |
- |
- |
- + **Default VPC:**true |
- + **VPC:**false |
- |
- |
- If no DB subnet group has been specified as part of the request and the |
- PubliclyAccessible value has not been set, the DB instance will be |
- publicly accessible. If a specific DB subnet group has been |
- specified as part of the request and the PubliclyAccessible value |
- has not been set, the DB instance will be private. |
- |
- :type auto_minor_version_upgrade: boolean |
- :param auto_minor_version_upgrade: Indicates that minor version |
- upgrades will be applied automatically to the DB instance during |
- the maintenance window. |
- |
- :type license_model: string |
- :param license_model: License model information for the restored DB |
- instance. |
- Default: Same as source. |
- |
- Valid values: `license-included` | `bring-your-own-license` | `general- |
- public-license` |
- |
- :type db_name: string |
- :param db_name: |
- The database name for the restored DB instance. |
- |
- |
- This parameter doesn't apply to the MySQL engine. |
- |
- :type engine: string |
- :param engine: The database engine to use for the new instance. |
- Default: The same as source |
- |
- Constraint: Must be compatible with the engine of the source |
- |
- Example: `oracle-ee` |
- |
- :type iops: integer |
- :param iops: Specifies the amount of provisioned IOPS for the DB |
- instance, expressed in I/O operations per second. If this parameter |
- is not specified, the IOPS value will be taken from the backup. If |
- this parameter is set to 0, the new instance will be converted to a |
- non-PIOPS instance, which will take additional time, though your DB |
- instance will be available for connections before the conversion |
- starts. |
- Constraints: Must be an integer greater than 1000. |
- |
- :type option_group_name: string |
- :param option_group_name: The name of the option group to be used for |
- the restored DB instance. |
- Permanent options, such as the TDE option for Oracle Advanced Security |
- TDE, cannot be removed from an option group, and that option group |
- cannot be removed from a DB instance once it is associated with a |
- DB instance |
- |
- :type tags: list |
- :param tags: A list of tags. |
- |
- """ |
- params = { |
- 'DBInstanceIdentifier': db_instance_identifier, |
- 'DBSnapshotIdentifier': db_snapshot_identifier, |
- } |
- if db_instance_class is not None: |
- params['DBInstanceClass'] = db_instance_class |
- if port is not None: |
- params['Port'] = port |
- if availability_zone is not None: |
- params['AvailabilityZone'] = availability_zone |
- if db_subnet_group_name is not None: |
- params['DBSubnetGroupName'] = db_subnet_group_name |
- if multi_az is not None: |
- params['MultiAZ'] = str( |
- multi_az).lower() |
- if publicly_accessible is not None: |
- params['PubliclyAccessible'] = str( |
- publicly_accessible).lower() |
- if auto_minor_version_upgrade is not None: |
- params['AutoMinorVersionUpgrade'] = str( |
- auto_minor_version_upgrade).lower() |
- if license_model is not None: |
- params['LicenseModel'] = license_model |
- if db_name is not None: |
- params['DBName'] = db_name |
- if engine is not None: |
- params['Engine'] = engine |
- if iops is not None: |
- params['Iops'] = iops |
- if option_group_name is not None: |
- params['OptionGroupName'] = option_group_name |
- if tags is not None: |
- self.build_complex_list_params( |
- params, tags, |
- 'Tags.member', |
- ('Key', 'Value')) |
- return self._make_request( |
- action='RestoreDBInstanceFromDBSnapshot', |
- verb='POST', |
- path='/', params=params) |
- |
- def restore_db_instance_to_point_in_time(self, |
- source_db_instance_identifier, |
- target_db_instance_identifier, |
- restore_time=None, |
- use_latest_restorable_time=None, |
- db_instance_class=None, |
- port=None, |
- availability_zone=None, |
- db_subnet_group_name=None, |
- multi_az=None, |
- publicly_accessible=None, |
- auto_minor_version_upgrade=None, |
- license_model=None, |
- db_name=None, engine=None, |
- iops=None, |
- option_group_name=None, |
- tags=None): |
- """ |
- Restores a DB instance to an arbitrary point-in-time. Users |
- can restore to any point in time before the |
- latestRestorableTime for up to backupRetentionPeriod days. The |
- target database is created from the source database with the |
- same configuration as the original database except that the DB |
- instance is created with the default DB security group. |
- |
- :type source_db_instance_identifier: string |
- :param source_db_instance_identifier: |
- The identifier of the source DB instance from which to restore. |
- |
- Constraints: |
- |
- |
- + Must be the identifier of an existing database instance |
- + Must contain from 1 to 63 alphanumeric characters or hyphens |
- + First character must be a letter |
- + Cannot end with a hyphen or contain two consecutive hyphens |
- |
- :type target_db_instance_identifier: string |
- :param target_db_instance_identifier: |
- The name of the new database instance to be created. |
- |
- Constraints: |
- |
- |
- + Must contain from 1 to 63 alphanumeric characters or hyphens |
- + First character must be a letter |
- + Cannot end with a hyphen or contain two consecutive hyphens |
- |
- :type restore_time: timestamp |
- :param restore_time: The date and time to restore from. |
- Valid Values: Value must be a UTC time |
- |
- Constraints: |
- |
- |
- + Must be before the latest restorable time for the DB instance |
- + Cannot be specified if UseLatestRestorableTime parameter is true |
- |
- |
- Example: `2009-09-07T23:45:00Z` |
- |
- :type use_latest_restorable_time: boolean |
- :param use_latest_restorable_time: Specifies whether ( `True`) or not ( |
- `False`) the DB instance is restored from the latest backup time. |
- Default: `False` |
- |
- Constraints: Cannot be specified if RestoreTime parameter is provided. |
- |
- :type db_instance_class: string |
- :param db_instance_class: The compute and memory capacity of the Amazon |
- RDS DB instance. |
- Valid Values: `db.t1.micro | db.m1.small | db.m1.medium | db.m1.large | |
- db.m1.xlarge | db.m2.2xlarge | db.m2.4xlarge` |
- |
- Default: The same DBInstanceClass as the original DB instance. |
- |
- :type port: integer |
- :param port: The port number on which the database accepts connections. |
- Constraints: Value must be `1150-65535` |
- |
- Default: The same port as the original DB instance. |
- |
- :type availability_zone: string |
- :param availability_zone: The EC2 Availability Zone that the database |
- instance will be created in. |
- Default: A random, system-chosen Availability Zone. |
- |
- Constraint: You cannot specify the AvailabilityZone parameter if the |
- MultiAZ parameter is set to true. |
- |
- Example: `us-east-1a` |
- |
- :type db_subnet_group_name: string |
- :param db_subnet_group_name: The DB subnet group name to use for the |
- new instance. |
- |
- :type multi_az: boolean |
- :param multi_az: Specifies if the DB instance is a Multi-AZ deployment. |
- Constraint: You cannot specify the AvailabilityZone parameter if the |
- MultiAZ parameter is set to `True`. |
- |
- :type publicly_accessible: boolean |
- :param publicly_accessible: 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. |
- Default: The default behavior varies depending on whether a VPC has |
- been requested or not. The following list shows the default |
- behavior in each case. |
- |
- |
- + **Default VPC:**true |
- + **VPC:**false |
- |
- |
- If no DB subnet group has been specified as part of the request and the |
- PubliclyAccessible value has not been set, the DB instance will be |
- publicly accessible. If a specific DB subnet group has been |
- specified as part of the request and the PubliclyAccessible value |
- has not been set, the DB instance will be private. |
- |
- :type auto_minor_version_upgrade: boolean |
- :param auto_minor_version_upgrade: Indicates that minor version |
- upgrades will be applied automatically to the DB instance during |
- the maintenance window. |
- |
- :type license_model: string |
- :param license_model: License model information for the restored DB |
- instance. |
- Default: Same as source. |
- |
- Valid values: `license-included` | `bring-your-own-license` | `general- |
- public-license` |
- |
- :type db_name: string |
- :param db_name: |
- The database name for the restored DB instance. |
- |
- |
- This parameter is not used for the MySQL engine. |
- |
- :type engine: string |
- :param engine: The database engine to use for the new instance. |
- Default: The same as source |
- |
- Constraint: Must be compatible with the engine of the source |
- |
- Example: `oracle-ee` |
- |
- :type iops: integer |
- :param iops: The amount of Provisioned IOPS (input/output operations |
- per second) to be initially allocated for the DB instance. |
- Constraints: Must be an integer greater than 1000. |
- |
- :type option_group_name: string |
- :param option_group_name: The name of the option group to be used for |
- the restored DB instance. |
- Permanent options, such as the TDE option for Oracle Advanced Security |
- TDE, cannot be removed from an option group, and that option group |
- cannot be removed from a DB instance once it is associated with a |
- DB instance |
- |
- :type tags: list |
- :param tags: A list of tags. |
- |
- """ |
- params = { |
- 'SourceDBInstanceIdentifier': source_db_instance_identifier, |
- 'TargetDBInstanceIdentifier': target_db_instance_identifier, |
- } |
- if restore_time is not None: |
- params['RestoreTime'] = restore_time |
- if use_latest_restorable_time is not None: |
- params['UseLatestRestorableTime'] = str( |
- use_latest_restorable_time).lower() |
- if db_instance_class is not None: |
- params['DBInstanceClass'] = db_instance_class |
- if port is not None: |
- params['Port'] = port |
- if availability_zone is not None: |
- params['AvailabilityZone'] = availability_zone |
- if db_subnet_group_name is not None: |
- params['DBSubnetGroupName'] = db_subnet_group_name |
- if multi_az is not None: |
- params['MultiAZ'] = str( |
- multi_az).lower() |
- if publicly_accessible is not None: |
- params['PubliclyAccessible'] = str( |
- publicly_accessible).lower() |
- if auto_minor_version_upgrade is not None: |
- params['AutoMinorVersionUpgrade'] = str( |
- auto_minor_version_upgrade).lower() |
- if license_model is not None: |
- params['LicenseModel'] = license_model |
- if db_name is not None: |
- params['DBName'] = db_name |
- if engine is not None: |
- params['Engine'] = engine |
- if iops is not None: |
- params['Iops'] = iops |
- if option_group_name is not None: |
- params['OptionGroupName'] = option_group_name |
- if tags is not None: |
- self.build_complex_list_params( |
- params, tags, |
- 'Tags.member', |
- ('Key', 'Value')) |
- return self._make_request( |
- action='RestoreDBInstanceToPointInTime', |
- verb='POST', |
- path='/', params=params) |
- |
- def revoke_db_security_group_ingress(self, db_security_group_name, |
- cidrip=None, |
- ec2_security_group_name=None, |
- ec2_security_group_id=None, |
- ec2_security_group_owner_id=None): |
- """ |
- Revokes ingress from a DBSecurityGroup for previously |
- authorized IP ranges or EC2 or VPC Security Groups. Required |
- parameters for this API are one of CIDRIP, EC2SecurityGroupId |
- for VPC, or (EC2SecurityGroupOwnerId and either |
- EC2SecurityGroupName or EC2SecurityGroupId). |
- |
- :type db_security_group_name: string |
- :param db_security_group_name: The name of the DB security group to |
- revoke ingress from. |
- |
- :type cidrip: string |
- :param cidrip: The IP range to revoke access from. Must be a valid CIDR |
- range. If `CIDRIP` is specified, `EC2SecurityGroupName`, |
- `EC2SecurityGroupId` and `EC2SecurityGroupOwnerId` cannot be |
- provided. |
- |
- :type ec2_security_group_name: string |
- :param ec2_security_group_name: The name of the EC2 security group to |
- revoke access from. For VPC DB security groups, |
- `EC2SecurityGroupId` must be provided. Otherwise, |
- EC2SecurityGroupOwnerId and either `EC2SecurityGroupName` or |
- `EC2SecurityGroupId` must be provided. |
- |
- :type ec2_security_group_id: string |
- :param ec2_security_group_id: The id of the EC2 security group to |
- revoke access from. For VPC DB security groups, |
- `EC2SecurityGroupId` must be provided. Otherwise, |
- EC2SecurityGroupOwnerId and either `EC2SecurityGroupName` or |
- `EC2SecurityGroupId` must be provided. |
- |
- :type ec2_security_group_owner_id: string |
- :param ec2_security_group_owner_id: The AWS Account Number of the owner |
- of the EC2 security group specified in the `EC2SecurityGroupName` |
- parameter. The AWS Access Key ID is not an acceptable value. For |
- VPC DB security groups, `EC2SecurityGroupId` must be provided. |
- Otherwise, EC2SecurityGroupOwnerId and either |
- `EC2SecurityGroupName` or `EC2SecurityGroupId` must be provided. |
- |
- """ |
- params = {'DBSecurityGroupName': db_security_group_name, } |
- if cidrip is not None: |
- params['CIDRIP'] = cidrip |
- if ec2_security_group_name is not None: |
- params['EC2SecurityGroupName'] = ec2_security_group_name |
- if ec2_security_group_id is not None: |
- params['EC2SecurityGroupId'] = ec2_security_group_id |
- if ec2_security_group_owner_id is not None: |
- params['EC2SecurityGroupOwnerId'] = ec2_security_group_owner_id |
- return self._make_request( |
- action='RevokeDBSecurityGroupIngress', |
- verb='POST', |
- path='/', params=params) |
- |
- def _make_request(self, action, verb, path, params): |
- params['ContentType'] = 'JSON' |
- response = self.make_request(action=action, verb='POST', |
- path='/', params=params) |
- body = response.read() |
- boto.log.debug(body) |
- if response.status == 200: |
- return json.loads(body) |
- else: |
- json_body = json.loads(body) |
- fault_name = json_body.get('Error', {}).get('Code', None) |
- exception_class = self._faults.get(fault_name, self.ResponseError) |
- raise exception_class(response.status, response.reason, |
- body=json_body) |