Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(614)

Unified Diff: tools/telemetry/third_party/gsutil/third_party/boto/boto/rds2/layer1.py

Issue 1260493004: Revert "Add gsutil 4.13 to telemetry/third_party" (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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)

Powered by Google App Engine
This is Rietveld 408576698