Added capability to deploy PostgreSQL servers on Amazon RDS. Fixes #7177

This commit is contained in:
Khushboo Vashi 2022-02-14 12:13:48 +05:30 committed by Akshay Joshi
parent b89e306df0
commit e61a1045f5
50 changed files with 3393 additions and 42 deletions

View File

@ -0,0 +1,87 @@
.. _cloud_deployment:
******************************
`Cloud Deployment`:index:
******************************
The PostgreSQL server can be deployed on the Amazon AWS cloud using this module.
Currently only RDS is available, but in the future more cloud options will be available.
To launch the *Cloud Deployment...* tool, right click on the *Server Group* or *Server* of the tree control, and select
*Deploy a Cloud Instance* from the *Register* menu.
.. image:: images/cloud_deployment_provider.png
:alt: Cloud Deployment Provider
:align: center
Once you launch the tool, the Amazon RDS is already selected as this is the only option currently available.
Click on the *Next* button to proceed further.
.. image:: images/cloud_deployment_credentials.png
:alt: Cloud Deployment Provider
:align: center
In the Credentials dialog, provide the region in which you want to deploy the instance along with
*AWS access key* and *AWS secret access key*.
Provide *AWS session token* only if your AWS session is temporary.
To proceed further, click on the next button. Before going further, pgAdmin will validate your credentials.
.. image:: images/cloud_deployment_instance.png
:alt: Cloud Deployment Provider
:align: center
Use the fields from the Instance Specification tab to specify the Instance details.
* Use the *Instance name* field to add an instance name for the PostgreSQL server; the name
specified will be displayed in the *Browser* tree control too.
* Use the *Public IP* field to specify the IP Address range for permitting the inbound traffic.
* Use the *Database version* field to specify the PostgreSQL version to deploy.
* Use the *Instance class* field to allocate the computational, network, and memory capacity required by planned workload of this DB instance.
* Use the *Instance type* field to select the instance type.
* Use the *Storage type* field to select the instance storage type. Three options are available. General Purpose (SSD) storage, Provisioned IOPS (SSD) and Magnetic storage.
* Use the *Allocated storage* field to specify the storage capacity in GiB.
* Use the *Provisioned IOPS* in case of Provisioned IOPS (SSD) storage type.
.. image:: images/cloud_deployment_database.png
:alt: Cloud Deployment Provider
:align: center
Use the fields from the Database Details tab to specify the Instance details.
* Use the drop-down list box in the *Server group* field to select the parent
node for the server; the server will be displayed in the *Browser* tree
control within the specified group.
* Use the *Database name* field to add the database name for the PostgreSQL server.
* Use the *Username* field to specify the name of a role that will be used when
authenticating with the server.
* Use the *Password* field to provide a password that will be supplied when
authenticating with the server.
* Use the *Confirm password* field to repeat the password.
* Enter the listener port number of the server host in the *Port* field.
.. image:: images/cloud_deployment_review.png
:alt: Cloud Deployment Provider
:align: center
At the end, review the Instance details that you provided. Click on Finish button to deploy the instance on Amazon RDS.
.. image:: images/cloud_deployment_tree.png
:alt: Cloud Deployment Provider
:align: center
Once you click on the finish, one background process will start which will deploy the instance in the cloud
and monitor the progress of the deployment. The Server will be added to the tree with the cloud uploading icon.
Once the deployment is done, the necessary server details will be updated.

View File

@ -18,7 +18,7 @@ control, and select *Server Group* from the *Create* menu.
Use the fields on the *Server* dialog to define the connection properties for
each new server that you wish to manage with pgAdmin. To open the *Server*
dialog, right-click on the *Servers* node of the tree control, and select
*Server* from the *Create* menu.
*Server* from the *Register* menu.
.. toctree::

View File

@ -17,3 +17,4 @@ will provide detailed information about creating a custom deployment.
desktop_deployment
server_deployment
container_deployment
cloud_deployment

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 63 KiB

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 72 KiB

After

Width:  |  Height:  |  Size: 83 KiB

View File

@ -9,6 +9,7 @@ This release contains a number of bug fixes and new features since the release o
New features
************
| `Issue #7177 <https://redmine.postgresql.org/issues/7177>`_ - Added capability to deploy PostgreSQL servers on Amazon RDS.
Housekeeping
************

View File

@ -45,3 +45,6 @@ requests==2.25.*
pyotp==2.*
qrcode==7.*
Pillow==8.3.*
boto3==1.20.*
botocore==1.23.*
urllib3==1.26.*

999
web/logfile Normal file
View File

@ -0,0 +1,999 @@
2022-02-08 17:29:28,714 INFO {"Adding": "Adding ingress rule for: {}..."}
2022-02-08 17:29:28,717 DEBUG Changing event name from creating-client-class.iot-data to creating-client-class.iot-data-plane
2022-02-08 17:29:28,718 DEBUG Changing event name from before-call.apigateway to before-call.api-gateway
2022-02-08 17:29:28,719 DEBUG Changing event name from request-created.machinelearning.Predict to request-created.machine-learning.Predict
2022-02-08 17:29:28,720 DEBUG Changing event name from before-parameter-build.autoscaling.CreateLaunchConfiguration to before-parameter-build.auto-scaling.CreateLaunchConfiguration
2022-02-08 17:29:28,720 DEBUG Changing event name from before-parameter-build.route53 to before-parameter-build.route-53
2022-02-08 17:29:28,721 DEBUG Changing event name from request-created.cloudsearchdomain.Search to request-created.cloudsearch-domain.Search
2022-02-08 17:29:28,721 DEBUG Changing event name from docs.*.autoscaling.CreateLaunchConfiguration.complete-section to docs.*.auto-scaling.CreateLaunchConfiguration.complete-section
2022-02-08 17:29:28,724 DEBUG Changing event name from before-parameter-build.logs.CreateExportTask to before-parameter-build.cloudwatch-logs.CreateExportTask
2022-02-08 17:29:28,724 DEBUG Changing event name from docs.*.logs.CreateExportTask.complete-section to docs.*.cloudwatch-logs.CreateExportTask.complete-section
2022-02-08 17:29:28,724 DEBUG Changing event name from before-parameter-build.cloudsearchdomain.Search to before-parameter-build.cloudsearch-domain.Search
2022-02-08 17:29:28,725 DEBUG Changing event name from docs.*.cloudsearchdomain.Search.complete-section to docs.*.cloudsearch-domain.Search.complete-section
2022-02-08 17:29:28,727 DEBUG Loading JSON file: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/botocore/data/endpoints.json
2022-02-08 17:29:28,736 DEBUG Loading JSON file: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/botocore/data/sdk-default-configuration.json
2022-02-08 17:29:28,736 DEBUG Event choose-service-name: calling handler <function handle_service_name_alias at 0x106fc45e0>
2022-02-08 17:29:28,759 DEBUG Loading JSON file: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/botocore/data/ec2/2016-11-15/service-2.json
2022-02-08 17:29:28,791 DEBUG Event creating-client-class.ec2: calling handler <function add_generate_presigned_url at 0x106f7a440>
2022-02-08 17:29:28,809 DEBUG Setting ec2 timeout as (60, 60)
2022-02-08 17:29:28,811 DEBUG Loading JSON file: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/botocore/data/_retry.json
2022-02-08 17:29:28,811 DEBUG Registering retry handlers for service: ec2
2022-02-08 17:29:28,812 INFO {"Creating": "Creating security group: pgacloud_pgadminla_127-0-0-1/32_C70iMpm7qq..."}
2022-02-08 17:29:28,812 DEBUG Event before-parameter-build.ec2.CreateSecurityGroup: calling handler <bound method ParameterAlias.alias_parameter_in_call of <botocore.handlers.ParameterAlias object at 0x106fcb130>>
2022-02-08 17:29:28,812 DEBUG Event before-parameter-build.ec2.CreateSecurityGroup: calling handler <function generate_idempotent_uuid at 0x106fc77f0>
2022-02-08 17:29:28,813 DEBUG Event before-call.ec2.CreateSecurityGroup: calling handler <function inject_api_version_header_if_needed at 0x106ff9090>
2022-02-08 17:29:28,813 DEBUG Making request for OperationModel(name=CreateSecurityGroup) with params: {'url_path': '/', 'query_string': '', 'method': 'POST', 'headers': {'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': 'Boto3/1.20.46 Python/3.10.1 Darwin/20.3.0 Botocore/1.23.46'}, 'body': {'Action': 'CreateSecurityGroup', 'Version': '2016-11-15', 'GroupDescription': 'Inbound access for 127.0.0.1/32 to RDS instance pgadminla', 'GroupName': 'pgacloud_pgadminla_127-0-0-1/32_C70iMpm7qq'}, 'url': 'https://ec2.ap-south-1.amazonaws.com/', 'context': {'client_region': 'ap-south-1', 'client_config': <botocore.config.Config object at 0x107d03fd0>, 'has_streaming_input': False, 'auth_type': None}}
2022-02-08 17:29:28,813 DEBUG Event request-created.ec2.CreateSecurityGroup: calling handler <bound method RequestSigner.handler of <botocore.signers.RequestSigner object at 0x107d03e80>>
2022-02-08 17:29:28,813 DEBUG Event choose-signer.ec2.CreateSecurityGroup: calling handler <function set_operation_specific_signer at 0x106fc76d0>
2022-02-08 17:29:28,813 DEBUG Calculating signature using v4 auth.
2022-02-08 17:29:28,814 DEBUG CanonicalRequest:
POST
/
content-type:application/x-www-form-urlencoded; charset=utf-8
host:ec2.ap-south-1.amazonaws.com
x-amz-date:20220208T115928Z
content-type;host;x-amz-date
33d76533eacf72f0436f55e32741572342c9bba3624698d16ad28d759fbc4e3f
2022-02-08 17:29:28,814 DEBUG StringToSign:
AWS4-HMAC-SHA256
20220208T115928Z
20220208/ap-south-1/ec2/aws4_request
44add2125132fb3915073cb1b70880b2fa13eb6b8061f31b3d68e26ff7614d86
2022-02-08 17:29:28,814 DEBUG Signature:
1932c4813f32609f2182b125082f27089b21365fc7cabe43d976e7dedab512f5
2022-02-08 17:29:28,814 DEBUG Sending http request: <AWSPreparedRequest stream_output=False, method=POST, url=https://ec2.ap-south-1.amazonaws.com/, headers={'Content-Type': b'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': b'Boto3/1.20.46 Python/3.10.1 Darwin/20.3.0 Botocore/1.23.46', 'X-Amz-Date': b'20220208T115928Z', 'Authorization': b'AWS4-HMAC-SHA256 Credential=AKIAVJ2ENV5GFATKFHH7/20220208/ap-south-1/ec2/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=1932c4813f32609f2182b125082f27089b21365fc7cabe43d976e7dedab512f5', 'Content-Length': '177'}>
2022-02-08 17:29:28,816 DEBUG Certificate path: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/certifi/cacert.pem
2022-02-08 17:29:28,816 DEBUG Starting new HTTPS connection (1): ec2.ap-south-1.amazonaws.com:443
2022-02-08 17:29:28,992 DEBUG https://ec2.ap-south-1.amazonaws.com:443 "POST / HTTP/1.1" 200 283
2022-02-08 17:29:28,993 DEBUG Response headers: {'x-amzn-RequestId': '270b2ebe-4cd0-4755-9d07-7bb5fc6756a2', 'Cache-Control': 'no-cache, no-store', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains', 'Content-Type': 'text/xml;charset=UTF-8', 'Content-Length': '283', 'Date': 'Tue, 08 Feb 2022 11:59:28 GMT', 'Server': 'AmazonEC2'}
2022-02-08 17:29:28,993 DEBUG Response body:
b'<?xml version="1.0" encoding="UTF-8"?>\n<CreateSecurityGroupResponse xmlns="http://ec2.amazonaws.com/doc/2016-11-15/">\n <requestId>270b2ebe-4cd0-4755-9d07-7bb5fc6756a2</requestId>\n <return>true</return>\n <groupId>sg-02f64f31a809baf0b</groupId>\n</CreateSecurityGroupResponse>\n'
2022-02-08 17:29:28,994 DEBUG Event needs-retry.ec2.CreateSecurityGroup: calling handler <botocore.retryhandler.RetryHandler object at 0x107d3d1b0>
2022-02-08 17:29:28,994 DEBUG No retry needed.
2022-02-08 17:29:28,995 DEBUG Changing event name from creating-client-class.iot-data to creating-client-class.iot-data-plane
2022-02-08 17:29:28,997 DEBUG Changing event name from before-call.apigateway to before-call.api-gateway
2022-02-08 17:29:28,997 DEBUG Changing event name from request-created.machinelearning.Predict to request-created.machine-learning.Predict
2022-02-08 17:29:28,999 DEBUG Changing event name from before-parameter-build.autoscaling.CreateLaunchConfiguration to before-parameter-build.auto-scaling.CreateLaunchConfiguration
2022-02-08 17:29:28,999 DEBUG Changing event name from before-parameter-build.route53 to before-parameter-build.route-53
2022-02-08 17:29:28,999 DEBUG Changing event name from request-created.cloudsearchdomain.Search to request-created.cloudsearch-domain.Search
2022-02-08 17:29:29,000 DEBUG Changing event name from docs.*.autoscaling.CreateLaunchConfiguration.complete-section to docs.*.auto-scaling.CreateLaunchConfiguration.complete-section
2022-02-08 17:29:29,003 DEBUG Changing event name from before-parameter-build.logs.CreateExportTask to before-parameter-build.cloudwatch-logs.CreateExportTask
2022-02-08 17:29:29,003 DEBUG Changing event name from docs.*.logs.CreateExportTask.complete-section to docs.*.cloudwatch-logs.CreateExportTask.complete-section
2022-02-08 17:29:29,003 DEBUG Changing event name from before-parameter-build.cloudsearchdomain.Search to before-parameter-build.cloudsearch-domain.Search
2022-02-08 17:29:29,003 DEBUG Changing event name from docs.*.cloudsearchdomain.Search.complete-section to docs.*.cloudsearch-domain.Search.complete-section
2022-02-08 17:29:29,005 DEBUG Loading JSON file: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/botocore/data/endpoints.json
2022-02-08 17:29:29,027 DEBUG Loading JSON file: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/botocore/data/sdk-default-configuration.json
2022-02-08 17:29:29,027 DEBUG Event choose-service-name: calling handler <function handle_service_name_alias at 0x106fc45e0>
2022-02-08 17:29:29,049 DEBUG Loading JSON file: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/botocore/data/ec2/2016-11-15/service-2.json
2022-02-08 17:29:29,078 DEBUG Event creating-client-class.ec2: calling handler <function add_generate_presigned_url at 0x106f7a440>
2022-02-08 17:29:29,081 DEBUG Setting ec2 timeout as (60, 60)
2022-02-08 17:29:29,081 DEBUG Loading JSON file: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/botocore/data/_retry.json
2022-02-08 17:29:29,082 DEBUG Registering retry handlers for service: ec2
2022-02-08 17:29:29,084 INFO {"Adding": "Adding ingress rule for: 127.0.0.1/32..."}
2022-02-08 17:29:29,084 DEBUG Event before-parameter-build.ec2.AuthorizeSecurityGroupIngress: calling handler <bound method ParameterAlias.alias_parameter_in_call of <botocore.handlers.ParameterAlias object at 0x106fcb130>>
2022-02-08 17:29:29,085 DEBUG Event before-parameter-build.ec2.AuthorizeSecurityGroupIngress: calling handler <function generate_idempotent_uuid at 0x106fc77f0>
2022-02-08 17:29:29,085 DEBUG Event before-call.ec2.AuthorizeSecurityGroupIngress: calling handler <function inject_api_version_header_if_needed at 0x106ff9090>
2022-02-08 17:29:29,085 DEBUG Making request for OperationModel(name=AuthorizeSecurityGroupIngress) with params: {'url_path': '/', 'query_string': '', 'method': 'POST', 'headers': {'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': 'Boto3/1.20.46 Python/3.10.1 Darwin/20.3.0 Botocore/1.23.46'}, 'body': {'Action': 'AuthorizeSecurityGroupIngress', 'Version': '2016-11-15', 'GroupId': 'sg-02f64f31a809baf0b', 'IpPermissions.1.FromPort': 5432, 'IpPermissions.1.ToPort': 5432, 'IpPermissions.1.IpProtocol': 'tcp', 'IpPermissions.1.IpRanges.1.CidrIp': '127.0.0.1/32', 'IpPermissions.1.IpRanges.1.Description': 'pgcloud client 127.0.0.1/32'}, 'url': 'https://ec2.ap-south-1.amazonaws.com/', 'context': {'client_region': 'ap-south-1', 'client_config': <botocore.config.Config object at 0x108bcec20>, 'has_streaming_input': False, 'auth_type': None}}
2022-02-08 17:29:29,085 DEBUG Event request-created.ec2.AuthorizeSecurityGroupIngress: calling handler <bound method RequestSigner.handler of <botocore.signers.RequestSigner object at 0x108bceb90>>
2022-02-08 17:29:29,085 DEBUG Event choose-signer.ec2.AuthorizeSecurityGroupIngress: calling handler <function set_operation_specific_signer at 0x106fc76d0>
2022-02-08 17:29:29,085 DEBUG Calculating signature using v4 auth.
2022-02-08 17:29:29,086 DEBUG CanonicalRequest:
POST
/
content-type:application/x-www-form-urlencoded; charset=utf-8
host:ec2.ap-south-1.amazonaws.com
x-amz-date:20220208T115929Z
content-type;host;x-amz-date
431a258a3d7cbe0a52ce57bcf2d4e91fef6bc63d78b5f6666f22166ea668d1ff
2022-02-08 17:29:29,086 DEBUG StringToSign:
AWS4-HMAC-SHA256
20220208T115929Z
20220208/ap-south-1/ec2/aws4_request
7ed0cf1acc339615ed07777cb3c9053015c9ce6c421351e88ea9c69c0ff18851
2022-02-08 17:29:29,086 DEBUG Signature:
046799a05552417f1b14239776c167b3442c03a91de5794ae475a0e71407cd46
2022-02-08 17:29:29,086 DEBUG Sending http request: <AWSPreparedRequest stream_output=False, method=POST, url=https://ec2.ap-south-1.amazonaws.com/, headers={'Content-Type': b'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': b'Boto3/1.20.46 Python/3.10.1 Darwin/20.3.0 Botocore/1.23.46', 'X-Amz-Date': b'20220208T115929Z', 'Authorization': b'AWS4-HMAC-SHA256 Credential=AKIAVJ2ENV5GFATKFHH7/20220208/ap-south-1/ec2/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=046799a05552417f1b14239776c167b3442c03a91de5794ae475a0e71407cd46', 'Content-Length': '291'}>
2022-02-08 17:29:29,086 DEBUG Certificate path: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/certifi/cacert.pem
2022-02-08 17:29:29,086 DEBUG Starting new HTTPS connection (1): ec2.ap-south-1.amazonaws.com:443
2022-02-08 17:29:29,330 DEBUG https://ec2.ap-south-1.amazonaws.com:443 "POST / HTTP/1.1" 200 793
2022-02-08 17:29:29,330 DEBUG Response headers: {'x-amzn-RequestId': '09c933ed-114e-4041-b218-fb9e0067c6cf', 'Cache-Control': 'no-cache, no-store', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains', 'Content-Type': 'text/xml;charset=UTF-8', 'Content-Length': '793', 'Date': 'Tue, 08 Feb 2022 11:59:28 GMT', 'Server': 'AmazonEC2'}
2022-02-08 17:29:29,330 DEBUG Response body:
b'<?xml version="1.0" encoding="UTF-8"?>\n<AuthorizeSecurityGroupIngressResponse xmlns="http://ec2.amazonaws.com/doc/2016-11-15/">\n <requestId>09c933ed-114e-4041-b218-fb9e0067c6cf</requestId>\n <return>true</return>\n <securityGroupRuleSet>\n <item>\n <groupOwnerId>364678852428</groupOwnerId>\n <groupId>sg-02f64f31a809baf0b</groupId>\n <securityGroupRuleId>sgr-02f8761cb1c7f3b75</securityGroupRuleId>\n <description>pgcloud client 127.0.0.1/32</description>\n <isEgress>false</isEgress>\n <ipProtocol>tcp</ipProtocol>\n <fromPort>5432</fromPort>\n <toPort>5432</toPort>\n <cidrIpv4>127.0.0.1/32</cidrIpv4>\n </item>\n </securityGroupRuleSet>\n</AuthorizeSecurityGroupIngressResponse>\n'
2022-02-08 17:29:29,331 DEBUG Event needs-retry.ec2.AuthorizeSecurityGroupIngress: calling handler <botocore.retryhandler.RetryHandler object at 0x108bcf5b0>
2022-02-08 17:29:29,331 DEBUG No retry needed.
2022-02-08 17:29:29,332 DEBUG Changing event name from creating-client-class.iot-data to creating-client-class.iot-data-plane
2022-02-08 17:29:29,333 DEBUG Changing event name from before-call.apigateway to before-call.api-gateway
2022-02-08 17:29:29,334 DEBUG Changing event name from request-created.machinelearning.Predict to request-created.machine-learning.Predict
2022-02-08 17:29:29,335 DEBUG Changing event name from before-parameter-build.autoscaling.CreateLaunchConfiguration to before-parameter-build.auto-scaling.CreateLaunchConfiguration
2022-02-08 17:29:29,335 DEBUG Changing event name from before-parameter-build.route53 to before-parameter-build.route-53
2022-02-08 17:29:29,336 DEBUG Changing event name from request-created.cloudsearchdomain.Search to request-created.cloudsearch-domain.Search
2022-02-08 17:29:29,336 DEBUG Changing event name from docs.*.autoscaling.CreateLaunchConfiguration.complete-section to docs.*.auto-scaling.CreateLaunchConfiguration.complete-section
2022-02-08 17:29:29,339 DEBUG Changing event name from before-parameter-build.logs.CreateExportTask to before-parameter-build.cloudwatch-logs.CreateExportTask
2022-02-08 17:29:29,339 DEBUG Changing event name from docs.*.logs.CreateExportTask.complete-section to docs.*.cloudwatch-logs.CreateExportTask.complete-section
2022-02-08 17:29:29,339 DEBUG Changing event name from before-parameter-build.cloudsearchdomain.Search to before-parameter-build.cloudsearch-domain.Search
2022-02-08 17:29:29,339 DEBUG Changing event name from docs.*.cloudsearchdomain.Search.complete-section to docs.*.cloudsearch-domain.Search.complete-section
2022-02-08 17:29:29,341 DEBUG Loading JSON file: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/botocore/data/endpoints.json
2022-02-08 17:29:29,349 DEBUG Loading JSON file: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/botocore/data/sdk-default-configuration.json
2022-02-08 17:29:29,349 DEBUG Event choose-service-name: calling handler <function handle_service_name_alias at 0x106fc45e0>
2022-02-08 17:29:29,373 DEBUG Loading JSON file: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/botocore/data/ec2/2016-11-15/service-2.json
2022-02-08 17:29:29,402 DEBUG Event creating-client-class.ec2: calling handler <function add_generate_presigned_url at 0x106f7a440>
2022-02-08 17:29:29,404 DEBUG Setting ec2 timeout as (60, 60)
2022-02-08 17:29:29,405 DEBUG Loading JSON file: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/botocore/data/_retry.json
2022-02-08 17:29:29,405 DEBUG Registering retry handlers for service: ec2
2022-02-08 17:29:29,407 DEBUG Changing event name from creating-client-class.iot-data to creating-client-class.iot-data-plane
2022-02-08 17:29:29,409 DEBUG Changing event name from before-call.apigateway to before-call.api-gateway
2022-02-08 17:29:29,409 DEBUG Changing event name from request-created.machinelearning.Predict to request-created.machine-learning.Predict
2022-02-08 17:29:29,410 DEBUG Changing event name from before-parameter-build.autoscaling.CreateLaunchConfiguration to before-parameter-build.auto-scaling.CreateLaunchConfiguration
2022-02-08 17:29:29,410 DEBUG Changing event name from before-parameter-build.route53 to before-parameter-build.route-53
2022-02-08 17:29:29,411 DEBUG Changing event name from request-created.cloudsearchdomain.Search to request-created.cloudsearch-domain.Search
2022-02-08 17:29:29,411 DEBUG Changing event name from docs.*.autoscaling.CreateLaunchConfiguration.complete-section to docs.*.auto-scaling.CreateLaunchConfiguration.complete-section
2022-02-08 17:29:29,413 DEBUG Changing event name from before-parameter-build.logs.CreateExportTask to before-parameter-build.cloudwatch-logs.CreateExportTask
2022-02-08 17:29:29,413 DEBUG Changing event name from docs.*.logs.CreateExportTask.complete-section to docs.*.cloudwatch-logs.CreateExportTask.complete-section
2022-02-08 17:29:29,413 DEBUG Changing event name from before-parameter-build.cloudsearchdomain.Search to before-parameter-build.cloudsearch-domain.Search
2022-02-08 17:29:29,414 DEBUG Changing event name from docs.*.cloudsearchdomain.Search.complete-section to docs.*.cloudsearch-domain.Search.complete-section
2022-02-08 17:29:29,415 DEBUG Loading JSON file: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/botocore/data/endpoints.json
2022-02-08 17:29:29,423 DEBUG Loading JSON file: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/botocore/data/sdk-default-configuration.json
2022-02-08 17:29:29,424 DEBUG Event choose-service-name: calling handler <function handle_service_name_alias at 0x106fc45e0>
2022-02-08 17:29:29,436 DEBUG Loading JSON file: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/botocore/data/rds/2014-10-31/service-2.json
2022-02-08 17:29:29,443 DEBUG Loading JSON file: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/botocore/data/rds/2014-10-31/service-2.sdk-extras.json
2022-02-08 17:29:29,445 DEBUG Event creating-client-class.rds: calling handler <function add_generate_db_auth_token at 0x106f53910>
2022-02-08 17:29:29,445 DEBUG Event creating-client-class.rds: calling handler <function add_generate_presigned_url at 0x106f7a440>
2022-02-08 17:29:29,446 DEBUG Setting rds timeout as (60, 60)
2022-02-08 17:29:29,447 DEBUG Loading JSON file: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/botocore/data/_retry.json
2022-02-08 17:29:29,447 DEBUG Registering retry handlers for service: rds
2022-02-08 17:29:29,447 DEBUG Event before-parameter-build.rds.CreateDBInstance: calling handler <function generate_idempotent_uuid at 0x106fc77f0>
2022-02-08 17:29:29,448 DEBUG Event before-call.rds.CreateDBInstance: calling handler <function inject_api_version_header_if_needed at 0x106ff9090>
2022-02-08 17:29:29,448 DEBUG Making request for OperationModel(name=CreateDBInstance) with params: {'url_path': '/', 'query_string': '', 'method': 'POST', 'headers': {'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': 'Boto3/1.20.46 Python/3.10.1 Darwin/20.3.0 Botocore/1.23.46'}, 'body': {'Action': 'CreateDBInstance', 'Version': '2014-10-31', 'DBInstanceIdentifier': 'pgadminla', 'AllocatedStorage': 20, 'DBName': 'postgres', 'Engine': 'postgres', 'Port': 5432, 'EngineVersion': '9.6.5', 'StorageType': 'gp2', 'StorageEncrypted': 'true', 'Iops': 0, 'AutoMinorVersionUpgrade': 'true', 'MultiAZ': 'false', 'MasterUsername': 'khushboo', 'MasterUserPassword': 'kh', 'DBInstanceClass': 'db.m4.10xlarge', 'VpcSecurityGroupIds.VpcSecurityGroupId.1': 'sg-02f64f31a809baf0b'}, 'url': 'https://rds.ap-south-1.amazonaws.com/', 'context': {'client_region': 'ap-south-1', 'client_config': <botocore.config.Config object at 0x109b81ea0>, 'has_streaming_input': False, 'auth_type': None}}
2022-02-08 17:29:29,448 DEBUG Event request-created.rds.CreateDBInstance: calling handler <bound method RequestSigner.handler of <botocore.signers.RequestSigner object at 0x109b81e10>>
2022-02-08 17:29:29,448 DEBUG Event choose-signer.rds.CreateDBInstance: calling handler <function set_operation_specific_signer at 0x106fc76d0>
2022-02-08 17:29:29,448 DEBUG Calculating signature using v4 auth.
2022-02-08 17:29:29,448 DEBUG CanonicalRequest:
POST
/
content-type:application/x-www-form-urlencoded; charset=utf-8
host:rds.ap-south-1.amazonaws.com
x-amz-date:20220208T115929Z
content-type;host;x-amz-date
635c41a75053d6f6a897008ea8e082957c3fc4de19faa176207059e875e47414
2022-02-08 17:29:29,448 DEBUG StringToSign:
AWS4-HMAC-SHA256
20220208T115929Z
20220208/ap-south-1/rds/aws4_request
c68f6623669aad19339211b020443fc2cbe8028b966e8401a79c482b21ea74c1
2022-02-08 17:29:29,448 DEBUG Signature:
051d71eee59510c84cc54f03e73af526f2f436e5c93655793f01d4e5a99f693a
2022-02-08 17:29:29,449 DEBUG Sending http request: <AWSPreparedRequest stream_output=False, method=POST, url=https://rds.ap-south-1.amazonaws.com/, headers={'Content-Type': b'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': b'Boto3/1.20.46 Python/3.10.1 Darwin/20.3.0 Botocore/1.23.46', 'X-Amz-Date': b'20220208T115929Z', 'Authorization': b'AWS4-HMAC-SHA256 Credential=AKIAVJ2ENV5GFATKFHH7/20220208/ap-south-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=051d71eee59510c84cc54f03e73af526f2f436e5c93655793f01d4e5a99f693a', 'Content-Length': '382'}>
2022-02-08 17:29:29,449 DEBUG Certificate path: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/certifi/cacert.pem
2022-02-08 17:29:29,449 DEBUG Starting new HTTPS connection (1): rds.ap-south-1.amazonaws.com:443
2022-02-08 17:29:30,143 DEBUG https://rds.ap-south-1.amazonaws.com:443 "POST / HTTP/1.1" 400 349
2022-02-08 17:29:30,143 DEBUG Response headers: {'x-amzn-RequestId': '0c3d77b9-9f8f-4fd5-b198-afb673c7b67f', 'Content-Type': 'text/xml', 'Content-Length': '349', 'Date': 'Tue, 08 Feb 2022 11:59:30 GMT', 'Connection': 'close'}
2022-02-08 17:29:30,144 DEBUG Response body:
b'<ErrorResponse xmlns="http://rds.amazonaws.com/doc/2014-10-31/">\n <Error>\n <Type>Sender</Type>\n <Code>InvalidParameterValue</Code>\n <Message>The parameter MasterUserPassword is not a valid password because it is shorter than 8 characters.</Message>\n </Error>\n <RequestId>0c3d77b9-9f8f-4fd5-b198-afb673c7b67f</RequestId>\n</ErrorResponse>\n'
2022-02-08 17:29:30,148 DEBUG Event needs-retry.rds.CreateDBInstance: calling handler <botocore.retryhandler.RetryHandler object at 0x109b827a0>
2022-02-08 17:29:30,148 DEBUG No retry needed.
2022-02-08 17:29:30,150 DEBUG Event before-parameter-build.ec2.DeleteSecurityGroup: calling handler <bound method ParameterAlias.alias_parameter_in_call of <botocore.handlers.ParameterAlias object at 0x106fcb130>>
2022-02-08 17:29:30,150 DEBUG Event before-parameter-build.ec2.DeleteSecurityGroup: calling handler <function generate_idempotent_uuid at 0x106fc77f0>
2022-02-08 17:29:30,150 DEBUG Event before-call.ec2.DeleteSecurityGroup: calling handler <function inject_api_version_header_if_needed at 0x106ff9090>
2022-02-08 17:29:30,150 DEBUG Making request for OperationModel(name=DeleteSecurityGroup) with params: {'url_path': '/', 'query_string': '', 'method': 'POST', 'headers': {'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': 'Boto3/1.20.46 Python/3.10.1 Darwin/20.3.0 Botocore/1.23.46'}, 'body': {'Action': 'DeleteSecurityGroup', 'Version': '2016-11-15', 'GroupId': 'sg-02f64f31a809baf0b'}, 'url': 'https://ec2.ap-south-1.amazonaws.com/', 'context': {'client_region': 'ap-south-1', 'client_config': <botocore.config.Config object at 0x109555b40>, 'has_streaming_input': False, 'auth_type': None}}
2022-02-08 17:29:30,150 DEBUG Event request-created.ec2.DeleteSecurityGroup: calling handler <bound method RequestSigner.handler of <botocore.signers.RequestSigner object at 0x109555ab0>>
2022-02-08 17:29:30,150 DEBUG Event choose-signer.ec2.DeleteSecurityGroup: calling handler <function set_operation_specific_signer at 0x106fc76d0>
2022-02-08 17:29:30,151 DEBUG Calculating signature using v4 auth.
2022-02-08 17:29:30,151 DEBUG CanonicalRequest:
POST
/
content-type:application/x-www-form-urlencoded; charset=utf-8
host:ec2.ap-south-1.amazonaws.com
x-amz-date:20220208T115930Z
content-type;host;x-amz-date
9839585f8101e0ee9adbecf5725066b8bd65b63b734d1d2284051efffcaba18b
2022-02-08 17:29:30,151 DEBUG StringToSign:
AWS4-HMAC-SHA256
20220208T115930Z
20220208/ap-south-1/ec2/aws4_request
ee9a50a88b962dd93e4f6779fecd3a418522d75479780f154052b198160090bd
2022-02-08 17:29:30,151 DEBUG Signature:
653b2364235734e91baaa20af42d0d77c710b2c49f99ab81837db5efb6afd075
2022-02-08 17:29:30,151 DEBUG Sending http request: <AWSPreparedRequest stream_output=False, method=POST, url=https://ec2.ap-south-1.amazonaws.com/, headers={'Content-Type': b'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': b'Boto3/1.20.46 Python/3.10.1 Darwin/20.3.0 Botocore/1.23.46', 'X-Amz-Date': b'20220208T115930Z', 'Authorization': b'AWS4-HMAC-SHA256 Credential=AKIAVJ2ENV5GFATKFHH7/20220208/ap-south-1/ec2/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=653b2364235734e91baaa20af42d0d77c710b2c49f99ab81837db5efb6afd075', 'Content-Length': '74'}>
2022-02-08 17:29:30,151 DEBUG Certificate path: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/certifi/cacert.pem
2022-02-08 17:29:30,152 DEBUG Starting new HTTPS connection (1): ec2.ap-south-1.amazonaws.com:443
2022-02-08 17:29:30,401 DEBUG https://ec2.ap-south-1.amazonaws.com:443 "POST / HTTP/1.1" 200 239
2022-02-08 17:29:30,401 DEBUG Response headers: {'x-amzn-RequestId': '6cb83274-0e58-4c92-994c-6759086d6b79', 'Cache-Control': 'no-cache, no-store', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains', 'Content-Type': 'text/xml;charset=UTF-8', 'Content-Length': '239', 'Date': 'Tue, 08 Feb 2022 11:59:30 GMT', 'Server': 'AmazonEC2'}
2022-02-08 17:29:30,401 DEBUG Response body:
b'<?xml version="1.0" encoding="UTF-8"?>\n<DeleteSecurityGroupResponse xmlns="http://ec2.amazonaws.com/doc/2016-11-15/">\n <requestId>6cb83274-0e58-4c92-994c-6759086d6b79</requestId>\n <return>true</return>\n</DeleteSecurityGroupResponse>\n'
2022-02-08 17:29:30,402 DEBUG Event needs-retry.ec2.DeleteSecurityGroup: calling handler <botocore.retryhandler.RetryHandler object at 0x1095564d0>
2022-02-08 17:29:30,402 DEBUG No retry needed.
2022-02-08 17:30:23,643 INFO {"Adding": "Adding ingress rule for: {}..."}
2022-02-08 17:30:23,646 DEBUG Changing event name from creating-client-class.iot-data to creating-client-class.iot-data-plane
2022-02-08 17:30:23,647 DEBUG Changing event name from before-call.apigateway to before-call.api-gateway
2022-02-08 17:30:23,647 DEBUG Changing event name from request-created.machinelearning.Predict to request-created.machine-learning.Predict
2022-02-08 17:30:23,649 DEBUG Changing event name from before-parameter-build.autoscaling.CreateLaunchConfiguration to before-parameter-build.auto-scaling.CreateLaunchConfiguration
2022-02-08 17:30:23,649 DEBUG Changing event name from before-parameter-build.route53 to before-parameter-build.route-53
2022-02-08 17:30:23,649 DEBUG Changing event name from request-created.cloudsearchdomain.Search to request-created.cloudsearch-domain.Search
2022-02-08 17:30:23,650 DEBUG Changing event name from docs.*.autoscaling.CreateLaunchConfiguration.complete-section to docs.*.auto-scaling.CreateLaunchConfiguration.complete-section
2022-02-08 17:30:23,652 DEBUG Changing event name from before-parameter-build.logs.CreateExportTask to before-parameter-build.cloudwatch-logs.CreateExportTask
2022-02-08 17:30:23,652 DEBUG Changing event name from docs.*.logs.CreateExportTask.complete-section to docs.*.cloudwatch-logs.CreateExportTask.complete-section
2022-02-08 17:30:23,652 DEBUG Changing event name from before-parameter-build.cloudsearchdomain.Search to before-parameter-build.cloudsearch-domain.Search
2022-02-08 17:30:23,652 DEBUG Changing event name from docs.*.cloudsearchdomain.Search.complete-section to docs.*.cloudsearch-domain.Search.complete-section
2022-02-08 17:30:23,654 DEBUG Loading JSON file: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/botocore/data/endpoints.json
2022-02-08 17:30:23,662 DEBUG Loading JSON file: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/botocore/data/sdk-default-configuration.json
2022-02-08 17:30:23,662 DEBUG Event choose-service-name: calling handler <function handle_service_name_alias at 0x10e0605e0>
2022-02-08 17:30:23,682 DEBUG Loading JSON file: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/botocore/data/ec2/2016-11-15/service-2.json
2022-02-08 17:30:23,722 DEBUG Event creating-client-class.ec2: calling handler <function add_generate_presigned_url at 0x10e016440>
2022-02-08 17:30:23,743 DEBUG Setting ec2 timeout as (60, 60)
2022-02-08 17:30:23,745 DEBUG Loading JSON file: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/botocore/data/_retry.json
2022-02-08 17:30:23,746 DEBUG Registering retry handlers for service: ec2
2022-02-08 17:30:23,747 INFO {"Creating": "Creating security group: pgacloud_KhTest_127-0-0-1/32_bAFP7zM8v9..."}
2022-02-08 17:30:23,747 DEBUG Event before-parameter-build.ec2.CreateSecurityGroup: calling handler <bound method ParameterAlias.alias_parameter_in_call of <botocore.handlers.ParameterAlias object at 0x10e067160>>
2022-02-08 17:30:23,747 DEBUG Event before-parameter-build.ec2.CreateSecurityGroup: calling handler <function generate_idempotent_uuid at 0x10e0637f0>
2022-02-08 17:30:23,748 DEBUG Event before-call.ec2.CreateSecurityGroup: calling handler <function inject_api_version_header_if_needed at 0x10e095090>
2022-02-08 17:30:23,748 DEBUG Making request for OperationModel(name=CreateSecurityGroup) with params: {'url_path': '/', 'query_string': '', 'method': 'POST', 'headers': {'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': 'Boto3/1.20.46 Python/3.10.1 Darwin/20.3.0 Botocore/1.23.46'}, 'body': {'Action': 'CreateSecurityGroup', 'Version': '2016-11-15', 'GroupDescription': 'Inbound access for 127.0.0.1/32 to RDS instance KhTest', 'GroupName': 'pgacloud_KhTest_127-0-0-1/32_bAFP7zM8v9'}, 'url': 'https://ec2.ap-south-1.amazonaws.com/', 'context': {'client_region': 'ap-south-1', 'client_config': <botocore.config.Config object at 0x10edf8040>, 'has_streaming_input': False, 'auth_type': None}}
2022-02-08 17:30:23,748 DEBUG Event request-created.ec2.CreateSecurityGroup: calling handler <bound method RequestSigner.handler of <botocore.signers.RequestSigner object at 0x10edd7eb0>>
2022-02-08 17:30:23,748 DEBUG Event choose-signer.ec2.CreateSecurityGroup: calling handler <function set_operation_specific_signer at 0x10e0636d0>
2022-02-08 17:30:23,748 DEBUG Calculating signature using v4 auth.
2022-02-08 17:30:23,748 DEBUG CanonicalRequest:
POST
/
content-type:application/x-www-form-urlencoded; charset=utf-8
host:ec2.ap-south-1.amazonaws.com
x-amz-date:20220208T120023Z
content-type;host;x-amz-date
de909f3da3058a79ea089f198187038c397f8662e3c92a526736cec0ac057c7a
2022-02-08 17:30:23,749 DEBUG StringToSign:
AWS4-HMAC-SHA256
20220208T120023Z
20220208/ap-south-1/ec2/aws4_request
131a7537b626776f481d3b645b74d1f0ca3ac98f629e3f4ce8728ef44d494852
2022-02-08 17:30:23,749 DEBUG Signature:
2e229590ea3fecfea112bf7be3a3c4829a2a7c08a4d361f0add12ad51bed0dc5
2022-02-08 17:30:23,749 DEBUG Sending http request: <AWSPreparedRequest stream_output=False, method=POST, url=https://ec2.ap-south-1.amazonaws.com/, headers={'Content-Type': b'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': b'Boto3/1.20.46 Python/3.10.1 Darwin/20.3.0 Botocore/1.23.46', 'X-Amz-Date': b'20220208T120023Z', 'Authorization': b'AWS4-HMAC-SHA256 Credential=AKIAVJ2ENV5GFATKFHH7/20220208/ap-south-1/ec2/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=2e229590ea3fecfea112bf7be3a3c4829a2a7c08a4d361f0add12ad51bed0dc5', 'Content-Length': '171'}>
2022-02-08 17:30:23,751 DEBUG Certificate path: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/certifi/cacert.pem
2022-02-08 17:30:23,752 DEBUG Starting new HTTPS connection (1): ec2.ap-south-1.amazonaws.com:443
2022-02-08 17:30:23,959 DEBUG https://ec2.ap-south-1.amazonaws.com:443 "POST / HTTP/1.1" 200 283
2022-02-08 17:30:23,960 DEBUG Response headers: {'x-amzn-RequestId': 'e1b9da8a-f453-494d-8801-2e1cd020aef2', 'Cache-Control': 'no-cache, no-store', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains', 'Content-Type': 'text/xml;charset=UTF-8', 'Content-Length': '283', 'Date': 'Tue, 08 Feb 2022 12:00:23 GMT', 'Server': 'AmazonEC2'}
2022-02-08 17:30:23,960 DEBUG Response body:
b'<?xml version="1.0" encoding="UTF-8"?>\n<CreateSecurityGroupResponse xmlns="http://ec2.amazonaws.com/doc/2016-11-15/">\n <requestId>e1b9da8a-f453-494d-8801-2e1cd020aef2</requestId>\n <return>true</return>\n <groupId>sg-05c680adc3fc69fa5</groupId>\n</CreateSecurityGroupResponse>\n'
2022-02-08 17:30:23,961 DEBUG Event needs-retry.ec2.CreateSecurityGroup: calling handler <botocore.retryhandler.RetryHandler object at 0x10edf91e0>
2022-02-08 17:30:23,961 DEBUG No retry needed.
2022-02-08 17:30:23,962 DEBUG Changing event name from creating-client-class.iot-data to creating-client-class.iot-data-plane
2022-02-08 17:30:23,964 DEBUG Changing event name from before-call.apigateway to before-call.api-gateway
2022-02-08 17:30:23,965 DEBUG Changing event name from request-created.machinelearning.Predict to request-created.machine-learning.Predict
2022-02-08 17:30:23,966 DEBUG Changing event name from before-parameter-build.autoscaling.CreateLaunchConfiguration to before-parameter-build.auto-scaling.CreateLaunchConfiguration
2022-02-08 17:30:23,966 DEBUG Changing event name from before-parameter-build.route53 to before-parameter-build.route-53
2022-02-08 17:30:23,966 DEBUG Changing event name from request-created.cloudsearchdomain.Search to request-created.cloudsearch-domain.Search
2022-02-08 17:30:23,967 DEBUG Changing event name from docs.*.autoscaling.CreateLaunchConfiguration.complete-section to docs.*.auto-scaling.CreateLaunchConfiguration.complete-section
2022-02-08 17:30:23,970 DEBUG Changing event name from before-parameter-build.logs.CreateExportTask to before-parameter-build.cloudwatch-logs.CreateExportTask
2022-02-08 17:30:23,970 DEBUG Changing event name from docs.*.logs.CreateExportTask.complete-section to docs.*.cloudwatch-logs.CreateExportTask.complete-section
2022-02-08 17:30:23,970 DEBUG Changing event name from before-parameter-build.cloudsearchdomain.Search to before-parameter-build.cloudsearch-domain.Search
2022-02-08 17:30:23,970 DEBUG Changing event name from docs.*.cloudsearchdomain.Search.complete-section to docs.*.cloudsearch-domain.Search.complete-section
2022-02-08 17:30:23,972 DEBUG Loading JSON file: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/botocore/data/endpoints.json
2022-02-08 17:30:23,994 DEBUG Loading JSON file: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/botocore/data/sdk-default-configuration.json
2022-02-08 17:30:23,995 DEBUG Event choose-service-name: calling handler <function handle_service_name_alias at 0x10e0605e0>
2022-02-08 17:30:24,016 DEBUG Loading JSON file: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/botocore/data/ec2/2016-11-15/service-2.json
2022-02-08 17:30:24,047 DEBUG Event creating-client-class.ec2: calling handler <function add_generate_presigned_url at 0x10e016440>
2022-02-08 17:30:24,050 DEBUG Setting ec2 timeout as (60, 60)
2022-02-08 17:30:24,050 DEBUG Loading JSON file: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/botocore/data/_retry.json
2022-02-08 17:30:24,051 DEBUG Registering retry handlers for service: ec2
2022-02-08 17:30:24,053 INFO {"Adding": "Adding ingress rule for: 127.0.0.1/32..."}
2022-02-08 17:30:24,053 DEBUG Event before-parameter-build.ec2.AuthorizeSecurityGroupIngress: calling handler <bound method ParameterAlias.alias_parameter_in_call of <botocore.handlers.ParameterAlias object at 0x10e067160>>
2022-02-08 17:30:24,054 DEBUG Event before-parameter-build.ec2.AuthorizeSecurityGroupIngress: calling handler <function generate_idempotent_uuid at 0x10e0637f0>
2022-02-08 17:30:24,054 DEBUG Event before-call.ec2.AuthorizeSecurityGroupIngress: calling handler <function inject_api_version_header_if_needed at 0x10e095090>
2022-02-08 17:30:24,054 DEBUG Making request for OperationModel(name=AuthorizeSecurityGroupIngress) with params: {'url_path': '/', 'query_string': '', 'method': 'POST', 'headers': {'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': 'Boto3/1.20.46 Python/3.10.1 Darwin/20.3.0 Botocore/1.23.46'}, 'body': {'Action': 'AuthorizeSecurityGroupIngress', 'Version': '2016-11-15', 'GroupId': 'sg-05c680adc3fc69fa5', 'IpPermissions.1.FromPort': 5432, 'IpPermissions.1.ToPort': 5432, 'IpPermissions.1.IpProtocol': 'tcp', 'IpPermissions.1.IpRanges.1.CidrIp': '127.0.0.1/32', 'IpPermissions.1.IpRanges.1.Description': 'pgcloud client 127.0.0.1/32'}, 'url': 'https://ec2.ap-south-1.amazonaws.com/', 'context': {'client_region': 'ap-south-1', 'client_config': <botocore.config.Config object at 0x117d66c50>, 'has_streaming_input': False, 'auth_type': None}}
2022-02-08 17:30:24,054 DEBUG Event request-created.ec2.AuthorizeSecurityGroupIngress: calling handler <bound method RequestSigner.handler of <botocore.signers.RequestSigner object at 0x117d66bc0>>
2022-02-08 17:30:24,054 DEBUG Event choose-signer.ec2.AuthorizeSecurityGroupIngress: calling handler <function set_operation_specific_signer at 0x10e0636d0>
2022-02-08 17:30:24,054 DEBUG Calculating signature using v4 auth.
2022-02-08 17:30:24,055 DEBUG CanonicalRequest:
POST
/
content-type:application/x-www-form-urlencoded; charset=utf-8
host:ec2.ap-south-1.amazonaws.com
x-amz-date:20220208T120024Z
content-type;host;x-amz-date
01354ba981b022ce21e14d27a3382d1a7666862a3ac9c8fc81201b7ca892e861
2022-02-08 17:30:24,055 DEBUG StringToSign:
AWS4-HMAC-SHA256
20220208T120024Z
20220208/ap-south-1/ec2/aws4_request
763702a67c2f614dd48d9cc3c446de65c55daee950f056efb5de432c62c47b76
2022-02-08 17:30:24,055 DEBUG Signature:
10a673b787603deb2981e3b7519e596c9eeb2965ea84bc391954b29b2860902d
2022-02-08 17:30:24,055 DEBUG Sending http request: <AWSPreparedRequest stream_output=False, method=POST, url=https://ec2.ap-south-1.amazonaws.com/, headers={'Content-Type': b'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': b'Boto3/1.20.46 Python/3.10.1 Darwin/20.3.0 Botocore/1.23.46', 'X-Amz-Date': b'20220208T120024Z', 'Authorization': b'AWS4-HMAC-SHA256 Credential=AKIAVJ2ENV5GFATKFHH7/20220208/ap-south-1/ec2/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=10a673b787603deb2981e3b7519e596c9eeb2965ea84bc391954b29b2860902d', 'Content-Length': '291'}>
2022-02-08 17:30:24,055 DEBUG Certificate path: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/certifi/cacert.pem
2022-02-08 17:30:24,055 DEBUG Starting new HTTPS connection (1): ec2.ap-south-1.amazonaws.com:443
2022-02-08 17:30:24,269 DEBUG https://ec2.ap-south-1.amazonaws.com:443 "POST / HTTP/1.1" 200 793
2022-02-08 17:30:24,270 DEBUG Response headers: {'x-amzn-RequestId': 'dc431aec-df55-4ce4-9d85-80f963b207e2', 'Cache-Control': 'no-cache, no-store', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains', 'Content-Type': 'text/xml;charset=UTF-8', 'Content-Length': '793', 'Date': 'Tue, 08 Feb 2022 12:00:23 GMT', 'Server': 'AmazonEC2'}
2022-02-08 17:30:24,270 DEBUG Response body:
b'<?xml version="1.0" encoding="UTF-8"?>\n<AuthorizeSecurityGroupIngressResponse xmlns="http://ec2.amazonaws.com/doc/2016-11-15/">\n <requestId>dc431aec-df55-4ce4-9d85-80f963b207e2</requestId>\n <return>true</return>\n <securityGroupRuleSet>\n <item>\n <groupOwnerId>364678852428</groupOwnerId>\n <groupId>sg-05c680adc3fc69fa5</groupId>\n <securityGroupRuleId>sgr-0736812112586bd1e</securityGroupRuleId>\n <description>pgcloud client 127.0.0.1/32</description>\n <isEgress>false</isEgress>\n <ipProtocol>tcp</ipProtocol>\n <fromPort>5432</fromPort>\n <toPort>5432</toPort>\n <cidrIpv4>127.0.0.1/32</cidrIpv4>\n </item>\n </securityGroupRuleSet>\n</AuthorizeSecurityGroupIngressResponse>\n'
2022-02-08 17:30:24,270 DEBUG Event needs-retry.ec2.AuthorizeSecurityGroupIngress: calling handler <botocore.retryhandler.RetryHandler object at 0x117d675e0>
2022-02-08 17:30:24,271 DEBUG No retry needed.
2022-02-08 17:30:24,272 DEBUG Changing event name from creating-client-class.iot-data to creating-client-class.iot-data-plane
2022-02-08 17:30:24,273 DEBUG Changing event name from before-call.apigateway to before-call.api-gateway
2022-02-08 17:30:24,274 DEBUG Changing event name from request-created.machinelearning.Predict to request-created.machine-learning.Predict
2022-02-08 17:30:24,276 DEBUG Changing event name from before-parameter-build.autoscaling.CreateLaunchConfiguration to before-parameter-build.auto-scaling.CreateLaunchConfiguration
2022-02-08 17:30:24,276 DEBUG Changing event name from before-parameter-build.route53 to before-parameter-build.route-53
2022-02-08 17:30:24,277 DEBUG Changing event name from request-created.cloudsearchdomain.Search to request-created.cloudsearch-domain.Search
2022-02-08 17:30:24,277 DEBUG Changing event name from docs.*.autoscaling.CreateLaunchConfiguration.complete-section to docs.*.auto-scaling.CreateLaunchConfiguration.complete-section
2022-02-08 17:30:24,280 DEBUG Changing event name from before-parameter-build.logs.CreateExportTask to before-parameter-build.cloudwatch-logs.CreateExportTask
2022-02-08 17:30:24,280 DEBUG Changing event name from docs.*.logs.CreateExportTask.complete-section to docs.*.cloudwatch-logs.CreateExportTask.complete-section
2022-02-08 17:30:24,280 DEBUG Changing event name from before-parameter-build.cloudsearchdomain.Search to before-parameter-build.cloudsearch-domain.Search
2022-02-08 17:30:24,280 DEBUG Changing event name from docs.*.cloudsearchdomain.Search.complete-section to docs.*.cloudsearch-domain.Search.complete-section
2022-02-08 17:30:24,282 DEBUG Loading JSON file: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/botocore/data/endpoints.json
2022-02-08 17:30:24,290 DEBUG Loading JSON file: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/botocore/data/sdk-default-configuration.json
2022-02-08 17:30:24,290 DEBUG Event choose-service-name: calling handler <function handle_service_name_alias at 0x10e0605e0>
2022-02-08 17:30:24,312 DEBUG Loading JSON file: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/botocore/data/ec2/2016-11-15/service-2.json
2022-02-08 17:30:24,343 DEBUG Event creating-client-class.ec2: calling handler <function add_generate_presigned_url at 0x10e016440>
2022-02-08 17:30:24,345 DEBUG Setting ec2 timeout as (60, 60)
2022-02-08 17:30:24,345 DEBUG Loading JSON file: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/botocore/data/_retry.json
2022-02-08 17:30:24,346 DEBUG Registering retry handlers for service: ec2
2022-02-08 17:30:24,348 DEBUG Changing event name from creating-client-class.iot-data to creating-client-class.iot-data-plane
2022-02-08 17:30:24,349 DEBUG Changing event name from before-call.apigateway to before-call.api-gateway
2022-02-08 17:30:24,350 DEBUG Changing event name from request-created.machinelearning.Predict to request-created.machine-learning.Predict
2022-02-08 17:30:24,351 DEBUG Changing event name from before-parameter-build.autoscaling.CreateLaunchConfiguration to before-parameter-build.auto-scaling.CreateLaunchConfiguration
2022-02-08 17:30:24,351 DEBUG Changing event name from before-parameter-build.route53 to before-parameter-build.route-53
2022-02-08 17:30:24,351 DEBUG Changing event name from request-created.cloudsearchdomain.Search to request-created.cloudsearch-domain.Search
2022-02-08 17:30:24,352 DEBUG Changing event name from docs.*.autoscaling.CreateLaunchConfiguration.complete-section to docs.*.auto-scaling.CreateLaunchConfiguration.complete-section
2022-02-08 17:30:24,354 DEBUG Changing event name from before-parameter-build.logs.CreateExportTask to before-parameter-build.cloudwatch-logs.CreateExportTask
2022-02-08 17:30:24,354 DEBUG Changing event name from docs.*.logs.CreateExportTask.complete-section to docs.*.cloudwatch-logs.CreateExportTask.complete-section
2022-02-08 17:30:24,354 DEBUG Changing event name from before-parameter-build.cloudsearchdomain.Search to before-parameter-build.cloudsearch-domain.Search
2022-02-08 17:30:24,354 DEBUG Changing event name from docs.*.cloudsearchdomain.Search.complete-section to docs.*.cloudsearch-domain.Search.complete-section
2022-02-08 17:30:24,356 DEBUG Loading JSON file: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/botocore/data/endpoints.json
2022-02-08 17:30:24,364 DEBUG Loading JSON file: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/botocore/data/sdk-default-configuration.json
2022-02-08 17:30:24,364 DEBUG Event choose-service-name: calling handler <function handle_service_name_alias at 0x10e0605e0>
2022-02-08 17:30:24,380 DEBUG Loading JSON file: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/botocore/data/rds/2014-10-31/service-2.json
2022-02-08 17:30:24,387 DEBUG Loading JSON file: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/botocore/data/rds/2014-10-31/service-2.sdk-extras.json
2022-02-08 17:30:24,389 DEBUG Event creating-client-class.rds: calling handler <function add_generate_db_auth_token at 0x10dfef910>
2022-02-08 17:30:24,389 DEBUG Event creating-client-class.rds: calling handler <function add_generate_presigned_url at 0x10e016440>
2022-02-08 17:30:24,391 DEBUG Setting rds timeout as (60, 60)
2022-02-08 17:30:24,392 DEBUG Loading JSON file: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/botocore/data/_retry.json
2022-02-08 17:30:24,392 DEBUG Registering retry handlers for service: rds
2022-02-08 17:30:24,393 DEBUG Event before-parameter-build.rds.CreateDBInstance: calling handler <function generate_idempotent_uuid at 0x10e0637f0>
2022-02-08 17:30:24,393 DEBUG Event before-call.rds.CreateDBInstance: calling handler <function inject_api_version_header_if_needed at 0x10e095090>
2022-02-08 17:30:24,393 DEBUG Making request for OperationModel(name=CreateDBInstance) with params: {'url_path': '/', 'query_string': '', 'method': 'POST', 'headers': {'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': 'Boto3/1.20.46 Python/3.10.1 Darwin/20.3.0 Botocore/1.23.46'}, 'body': {'Action': 'CreateDBInstance', 'Version': '2014-10-31', 'DBInstanceIdentifier': 'KhTest', 'AllocatedStorage': 20, 'DBName': 'postgres', 'Engine': 'postgres', 'Port': 5432, 'EngineVersion': '9.6.1', 'StorageType': 'gp2', 'StorageEncrypted': 'true', 'Iops': 0, 'AutoMinorVersionUpgrade': 'true', 'MultiAZ': 'false', 'MasterUsername': 'khushboo', 'MasterUserPassword': 'Khushboo', 'DBInstanceClass': 'db.m4.10xlarge', 'VpcSecurityGroupIds.VpcSecurityGroupId.1': 'sg-05c680adc3fc69fa5'}, 'url': 'https://rds.ap-south-1.amazonaws.com/', 'context': {'client_region': 'ap-south-1', 'client_config': <botocore.config.Config object at 0x118cdded0>, 'has_streaming_input': False, 'auth_type': None}}
2022-02-08 17:30:24,393 DEBUG Event request-created.rds.CreateDBInstance: calling handler <bound method RequestSigner.handler of <botocore.signers.RequestSigner object at 0x118cdde40>>
2022-02-08 17:30:24,393 DEBUG Event choose-signer.rds.CreateDBInstance: calling handler <function set_operation_specific_signer at 0x10e0636d0>
2022-02-08 17:30:24,394 DEBUG Calculating signature using v4 auth.
2022-02-08 17:30:24,394 DEBUG CanonicalRequest:
POST
/
content-type:application/x-www-form-urlencoded; charset=utf-8
host:rds.ap-south-1.amazonaws.com
x-amz-date:20220208T120024Z
content-type;host;x-amz-date
c5e047c1e7be2d31b9c442977f60b819e1927f7b2df8bd9c2a2ac876cdeed888
2022-02-08 17:30:24,394 DEBUG StringToSign:
AWS4-HMAC-SHA256
20220208T120024Z
20220208/ap-south-1/rds/aws4_request
8776e35a5d4ad86452fb3bea9afbfc21433f9adea604f1eeb56b7dc1485aa75b
2022-02-08 17:30:24,394 DEBUG Signature:
b6a4014534c9ad57ec073e93f4ac8531eba529ce834c90249c9a7a249413dd3a
2022-02-08 17:30:24,394 DEBUG Sending http request: <AWSPreparedRequest stream_output=False, method=POST, url=https://rds.ap-south-1.amazonaws.com/, headers={'Content-Type': b'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': b'Boto3/1.20.46 Python/3.10.1 Darwin/20.3.0 Botocore/1.23.46', 'X-Amz-Date': b'20220208T120024Z', 'Authorization': b'AWS4-HMAC-SHA256 Credential=AKIAVJ2ENV5GFATKFHH7/20220208/ap-south-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=b6a4014534c9ad57ec073e93f4ac8531eba529ce834c90249c9a7a249413dd3a', 'Content-Length': '385'}>
2022-02-08 17:30:24,394 DEBUG Certificate path: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/certifi/cacert.pem
2022-02-08 17:30:24,395 DEBUG Starting new HTTPS connection (1): rds.ap-south-1.amazonaws.com:443
2022-02-08 17:30:25,633 DEBUG https://rds.ap-south-1.amazonaws.com:443 "POST / HTTP/1.1" 200 4247
2022-02-08 17:30:25,633 DEBUG Response headers: {'x-amzn-RequestId': '0ff5f3af-0337-4db8-b6c1-ecc4c65cec9c', 'Content-Type': 'text/xml', 'Content-Length': '4247', 'Date': 'Tue, 08 Feb 2022 12:00:25 GMT'}
2022-02-08 17:30:25,634 DEBUG Response body:
b'<CreateDBInstanceResponse xmlns="http://rds.amazonaws.com/doc/2014-10-31/">\n <CreateDBInstanceResult>\n <DBInstance>\n <AllocatedStorage>20</AllocatedStorage>\n <AssociatedRoles/>\n <DBParameterGroups>\n <DBParameterGroup>\n <DBParameterGroupName>default.postgres9.6</DBParameterGroupName>\n <ParameterApplyStatus>in-sync</ParameterApplyStatus>\n </DBParameterGroup>\n </DBParameterGroups>\n <DBSecurityGroups/>\n <EngineVersion>9.6.1</EngineVersion>\n <MasterUsername>khushboo</MasterUsername>\n <DBInstanceClass>db.m4.10xlarge</DBInstanceClass>\n <StorageThroughput>0</StorageThroughput>\n <HttpEndpointEnabled>false</HttpEndpointEnabled>\n <ReadReplicaDBInstanceIdentifiers/>\n <CustomerOwnedIpEnabled>false</CustomerOwnedIpEnabled>\n <MonitoringInterval>0</MonitoringInterval>\n <DBInstanceStatus>creating</DBInstanceStatus>\n <BackupRetentionPeriod>1</BackupRetentionPeriod>\n <KmsKeyId>arn:aws:kms:ap-south-1:364678852428:key/231709c2-7c94-49a5-af19-07199168dd1d</KmsKeyId>\n <OptionGroupMemberships>\n <OptionGroupMembership>\n <OptionGroupName>default:postgres-9-6</OptionGroupName>\n <Status>in-sync</Status>\n </OptionGroupMembership>\n </OptionGroupMemberships>\n <BackupTarget>region</BackupTarget>\n <CACertificateIdentifier>rds-ca-2019</CACertificateIdentifier>\n <DbInstancePort>0</DbInstancePort>\n <DbiResourceId>db-BUJY6KHDQ36N6SUXI65GC452EQ</DbiResourceId>\n <PreferredBackupWindow>23:22-23:52</PreferredBackupWindow>\n <DeletionProtection>false</DeletionProtection>\n <DBInstanceIdentifier>khtest</DBInstanceIdentifier>\n <DBInstanceArn>arn:aws:rds:ap-south-1:364678852428:db:khtest</DBInstanceArn>\n <Engine>postgres</Engine>\n <PubliclyAccessible>true</PubliclyAccessible>\n <IAMDatabaseAuthenticationEnabled>false</IAMDatabaseAuthenticationEnabled>\n <NetworkType>IPV4</NetworkType>\n <PerformanceInsightsEnabled>false</PerformanceInsightsEnabled>\n <DBName>postgres</DBName>\n <MultiAZ>false</MultiAZ>\n <DomainMemberships/>\n <StorageEncrypted>true</StorageEncrypted>\n <DBSubnetGroup>\n <VpcId>vpc-07c09e8c7e59e4272</VpcId>\n <Subnets>\n <Subnet>\n <SubnetIdentifier>subnet-084ecee0253c0de08</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1a</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n <Subnet>\n <SubnetIdentifier>subnet-005c6e858233ebcc8</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1b</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n <Subnet>\n <SubnetIdentifier>subnet-0fe8dbbdb819ac8c9</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1c</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n </Subnets>\n <SubnetGroupStatus>Complete</SubnetGroupStatus>\n <DBSubnetGroupDescription>default</DBSubnetGroupDescription>\n <DBSubnetGroupName>default</DBSubnetGroupName>\n </DBSubnetGroup>\n <VpcSecurityGroups>\n <VpcSecurityGroupMembership>\n <VpcSecurityGroupId>sg-05c680adc3fc69fa5</VpcSecurityGroupId>\n <Status>active</Status>\n </VpcSecurityGroupMembership>\n </VpcSecurityGroups>\n <TagList/>\n <LicenseModel>postgresql-license</LicenseModel>\n <PendingModifiedValues>\n <MasterUserPassword>****</MasterUserPassword>\n </PendingModifiedValues>\n <PreferredMaintenanceWindow>thu:06:13-thu:06:43</PreferredMaintenanceWindow>\n <StorageType>gp2</StorageType>\n <AutoMinorVersionUpgrade>true</AutoMinorVersionUpgrade>\n <CopyTagsToSnapshot>false</CopyTagsToSnapshot>\n </DBInstance>\n </CreateDBInstanceResult>\n <ResponseMetadata>\n <RequestId>0ff5f3af-0337-4db8-b6c1-ecc4c65cec9c</RequestId>\n </ResponseMetadata>\n</CreateDBInstanceResponse>\n'
2022-02-08 17:30:25,638 DEBUG Event needs-retry.rds.CreateDBInstance: calling handler <botocore.retryhandler.RetryHandler object at 0x118cde7d0>
2022-02-08 17:30:25,638 DEBUG No retry needed.
2022-02-08 17:30:25,638 DEBUG Event before-parameter-build.rds.DescribeDBInstances: calling handler <function generate_idempotent_uuid at 0x10e0637f0>
2022-02-08 17:30:25,638 DEBUG Event before-call.rds.DescribeDBInstances: calling handler <function inject_api_version_header_if_needed at 0x10e095090>
2022-02-08 17:30:25,638 DEBUG Making request for OperationModel(name=DescribeDBInstances) with params: {'url_path': '/', 'query_string': '', 'method': 'POST', 'headers': {'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': 'Boto3/1.20.46 Python/3.10.1 Darwin/20.3.0 Botocore/1.23.46'}, 'body': {'Action': 'DescribeDBInstances', 'Version': '2014-10-31', 'DBInstanceIdentifier': 'KhTest'}, 'url': 'https://rds.ap-south-1.amazonaws.com/', 'context': {'client_region': 'ap-south-1', 'client_config': <botocore.config.Config object at 0x118cdded0>, 'has_streaming_input': False, 'auth_type': None}}
2022-02-08 17:30:25,639 DEBUG Event request-created.rds.DescribeDBInstances: calling handler <bound method RequestSigner.handler of <botocore.signers.RequestSigner object at 0x118cdde40>>
2022-02-08 17:30:25,639 DEBUG Event choose-signer.rds.DescribeDBInstances: calling handler <function set_operation_specific_signer at 0x10e0636d0>
2022-02-08 17:30:25,639 DEBUG Calculating signature using v4 auth.
2022-02-08 17:30:25,639 DEBUG CanonicalRequest:
POST
/
content-type:application/x-www-form-urlencoded; charset=utf-8
host:rds.ap-south-1.amazonaws.com
x-amz-date:20220208T120025Z
content-type;host;x-amz-date
2b3b8b966d87481c286215c38f9f2f4529da4f4507574b8f4aab9427c6154842
2022-02-08 17:30:25,639 DEBUG StringToSign:
AWS4-HMAC-SHA256
20220208T120025Z
20220208/ap-south-1/rds/aws4_request
9701c03673095c0f8187bf8674741fcc63b884998b4c247b384edadc853d411a
2022-02-08 17:30:25,639 DEBUG Signature:
9b5c371cbdbd76bb1e026e8477967a23774ec79dfe487f74864a78a61da70666
2022-02-08 17:30:25,640 DEBUG Sending http request: <AWSPreparedRequest stream_output=False, method=POST, url=https://rds.ap-south-1.amazonaws.com/, headers={'Content-Type': b'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': b'Boto3/1.20.46 Python/3.10.1 Darwin/20.3.0 Botocore/1.23.46', 'X-Amz-Date': b'20220208T120025Z', 'Authorization': b'AWS4-HMAC-SHA256 Credential=AKIAVJ2ENV5GFATKFHH7/20220208/ap-south-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=9b5c371cbdbd76bb1e026e8477967a23774ec79dfe487f74864a78a61da70666', 'Content-Length': '73'}>
2022-02-08 17:30:25,640 DEBUG Certificate path: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/certifi/cacert.pem
2022-02-08 17:30:25,714 DEBUG https://rds.ap-south-1.amazonaws.com:443 "POST / HTTP/1.1" 200 4541
2022-02-08 17:30:25,715 DEBUG Response headers: {'x-amzn-RequestId': '430b389d-db36-44b0-839f-962a507165be', 'Content-Type': 'text/xml', 'Content-Length': '4541', 'Date': 'Tue, 08 Feb 2022 12:00:25 GMT'}
2022-02-08 17:30:25,715 DEBUG Response body:
b'<DescribeDBInstancesResponse xmlns="http://rds.amazonaws.com/doc/2014-10-31/">\n <DescribeDBInstancesResult>\n <DBInstances>\n <DBInstance>\n <AllocatedStorage>20</AllocatedStorage>\n <AssociatedRoles/>\n <DBParameterGroups>\n <DBParameterGroup>\n <DBParameterGroupName>default.postgres9.6</DBParameterGroupName>\n <ParameterApplyStatus>in-sync</ParameterApplyStatus>\n </DBParameterGroup>\n </DBParameterGroups>\n <DBSecurityGroups/>\n <EngineVersion>9.6.1</EngineVersion>\n <MasterUsername>khushboo</MasterUsername>\n <DBInstanceClass>db.m4.10xlarge</DBInstanceClass>\n <StorageThroughput>0</StorageThroughput>\n <HttpEndpointEnabled>false</HttpEndpointEnabled>\n <ReadReplicaDBInstanceIdentifiers/>\n <CustomerOwnedIpEnabled>false</CustomerOwnedIpEnabled>\n <MonitoringInterval>0</MonitoringInterval>\n <DBInstanceStatus>creating</DBInstanceStatus>\n <BackupRetentionPeriod>1</BackupRetentionPeriod>\n <KmsKeyId>arn:aws:kms:ap-south-1:364678852428:key/231709c2-7c94-49a5-af19-07199168dd1d</KmsKeyId>\n <OptionGroupMemberships>\n <OptionGroupMembership>\n <OptionGroupName>default:postgres-9-6</OptionGroupName>\n <Status>in-sync</Status>\n </OptionGroupMembership>\n </OptionGroupMemberships>\n <BackupTarget>region</BackupTarget>\n <CACertificateIdentifier>rds-ca-2019</CACertificateIdentifier>\n <DbInstancePort>0</DbInstancePort>\n <DbiResourceId>db-BUJY6KHDQ36N6SUXI65GC452EQ</DbiResourceId>\n <PreferredBackupWindow>23:22-23:52</PreferredBackupWindow>\n <DeletionProtection>false</DeletionProtection>\n <DBInstanceIdentifier>khtest</DBInstanceIdentifier>\n <DBInstanceArn>arn:aws:rds:ap-south-1:364678852428:db:khtest</DBInstanceArn>\n <Engine>postgres</Engine>\n <PubliclyAccessible>true</PubliclyAccessible>\n <IAMDatabaseAuthenticationEnabled>false</IAMDatabaseAuthenticationEnabled>\n <NetworkType>IPV4</NetworkType>\n <ActivityStreamStatus>stopped</ActivityStreamStatus>\n <PerformanceInsightsEnabled>false</PerformanceInsightsEnabled>\n <DBName>postgres</DBName>\n <MultiAZ>false</MultiAZ>\n <DomainMemberships/>\n <StorageEncrypted>true</StorageEncrypted>\n <DBSubnetGroup>\n <VpcId>vpc-07c09e8c7e59e4272</VpcId>\n <Subnets>\n <Subnet>\n <SubnetIdentifier>subnet-084ecee0253c0de08</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1a</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n <Subnet>\n <SubnetIdentifier>subnet-005c6e858233ebcc8</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1b</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n <Subnet>\n <SubnetIdentifier>subnet-0fe8dbbdb819ac8c9</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1c</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n </Subnets>\n <SubnetGroupStatus>Complete</SubnetGroupStatus>\n <DBSubnetGroupDescription>default</DBSubnetGroupDescription>\n <DBSubnetGroupName>default</DBSubnetGroupName>\n </DBSubnetGroup>\n <VpcSecurityGroups>\n <VpcSecurityGroupMembership>\n <VpcSecurityGroupId>sg-05c680adc3fc69fa5</VpcSecurityGroupId>\n <Status>active</Status>\n </VpcSecurityGroupMembership>\n </VpcSecurityGroups>\n <TagList/>\n <LicenseModel>postgresql-license</LicenseModel>\n <PendingModifiedValues>\n <MasterUserPassword>****</MasterUserPassword>\n </PendingModifiedValues>\n <PreferredMaintenanceWindow>thu:06:13-thu:06:43</PreferredMaintenanceWindow>\n <StorageType>gp2</StorageType>\n <AutoMinorVersionUpgrade>true</AutoMinorVersionUpgrade>\n <CopyTagsToSnapshot>false</CopyTagsToSnapshot>\n </DBInstance>\n </DBInstances>\n </DescribeDBInstancesResult>\n <ResponseMetadata>\n <RequestId>430b389d-db36-44b0-839f-962a507165be</RequestId>\n </ResponseMetadata>\n</DescribeDBInstancesResponse>\n'
2022-02-08 17:30:25,717 DEBUG Event needs-retry.rds.DescribeDBInstances: calling handler <botocore.retryhandler.RetryHandler object at 0x118cde7d0>
2022-02-08 17:30:25,717 DEBUG No retry needed.
2022-02-08 17:30:25,717 INFO {"Status-": "creating"}
2022-02-08 17:30:30,721 DEBUG Event before-parameter-build.rds.DescribeDBInstances: calling handler <function generate_idempotent_uuid at 0x10e0637f0>
2022-02-08 17:30:30,722 DEBUG Event before-call.rds.DescribeDBInstances: calling handler <function inject_api_version_header_if_needed at 0x10e095090>
2022-02-08 17:30:30,722 DEBUG Making request for OperationModel(name=DescribeDBInstances) with params: {'url_path': '/', 'query_string': '', 'method': 'POST', 'headers': {'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': 'Boto3/1.20.46 Python/3.10.1 Darwin/20.3.0 Botocore/1.23.46'}, 'body': {'Action': 'DescribeDBInstances', 'Version': '2014-10-31', 'DBInstanceIdentifier': 'KhTest'}, 'url': 'https://rds.ap-south-1.amazonaws.com/', 'context': {'client_region': 'ap-south-1', 'client_config': <botocore.config.Config object at 0x118cdded0>, 'has_streaming_input': False, 'auth_type': None}}
2022-02-08 17:30:30,722 DEBUG Event request-created.rds.DescribeDBInstances: calling handler <bound method RequestSigner.handler of <botocore.signers.RequestSigner object at 0x118cdde40>>
2022-02-08 17:30:30,722 DEBUG Event choose-signer.rds.DescribeDBInstances: calling handler <function set_operation_specific_signer at 0x10e0636d0>
2022-02-08 17:30:30,722 DEBUG Calculating signature using v4 auth.
2022-02-08 17:30:30,722 DEBUG CanonicalRequest:
POST
/
content-type:application/x-www-form-urlencoded; charset=utf-8
host:rds.ap-south-1.amazonaws.com
x-amz-date:20220208T120030Z
content-type;host;x-amz-date
2b3b8b966d87481c286215c38f9f2f4529da4f4507574b8f4aab9427c6154842
2022-02-08 17:30:30,722 DEBUG StringToSign:
AWS4-HMAC-SHA256
20220208T120030Z
20220208/ap-south-1/rds/aws4_request
53990a4d61bd143214022d826c78b05733f88496cce690d0da37c6e5fd57d6fa
2022-02-08 17:30:30,722 DEBUG Signature:
32b524e342ca7dac27615f224531d6dc24600c736de57aa50c300aca1aa5c46e
2022-02-08 17:30:30,722 DEBUG Sending http request: <AWSPreparedRequest stream_output=False, method=POST, url=https://rds.ap-south-1.amazonaws.com/, headers={'Content-Type': b'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': b'Boto3/1.20.46 Python/3.10.1 Darwin/20.3.0 Botocore/1.23.46', 'X-Amz-Date': b'20220208T120030Z', 'Authorization': b'AWS4-HMAC-SHA256 Credential=AKIAVJ2ENV5GFATKFHH7/20220208/ap-south-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=32b524e342ca7dac27615f224531d6dc24600c736de57aa50c300aca1aa5c46e', 'Content-Length': '73'}>
2022-02-08 17:30:30,723 DEBUG Certificate path: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/certifi/cacert.pem
2022-02-08 17:30:30,828 DEBUG https://rds.ap-south-1.amazonaws.com:443 "POST / HTTP/1.1" 200 4541
2022-02-08 17:30:30,829 DEBUG Response headers: {'x-amzn-RequestId': '74f939c5-5fda-403c-9c98-dc83369e0746', 'Content-Type': 'text/xml', 'Content-Length': '4541', 'Date': 'Tue, 08 Feb 2022 12:00:30 GMT'}
2022-02-08 17:30:30,829 DEBUG Response body:
b'<DescribeDBInstancesResponse xmlns="http://rds.amazonaws.com/doc/2014-10-31/">\n <DescribeDBInstancesResult>\n <DBInstances>\n <DBInstance>\n <AllocatedStorage>20</AllocatedStorage>\n <AssociatedRoles/>\n <DBParameterGroups>\n <DBParameterGroup>\n <DBParameterGroupName>default.postgres9.6</DBParameterGroupName>\n <ParameterApplyStatus>in-sync</ParameterApplyStatus>\n </DBParameterGroup>\n </DBParameterGroups>\n <DBSecurityGroups/>\n <EngineVersion>9.6.1</EngineVersion>\n <MasterUsername>khushboo</MasterUsername>\n <DBInstanceClass>db.m4.10xlarge</DBInstanceClass>\n <StorageThroughput>0</StorageThroughput>\n <HttpEndpointEnabled>false</HttpEndpointEnabled>\n <ReadReplicaDBInstanceIdentifiers/>\n <CustomerOwnedIpEnabled>false</CustomerOwnedIpEnabled>\n <MonitoringInterval>0</MonitoringInterval>\n <DBInstanceStatus>creating</DBInstanceStatus>\n <BackupRetentionPeriod>1</BackupRetentionPeriod>\n <KmsKeyId>arn:aws:kms:ap-south-1:364678852428:key/231709c2-7c94-49a5-af19-07199168dd1d</KmsKeyId>\n <OptionGroupMemberships>\n <OptionGroupMembership>\n <OptionGroupName>default:postgres-9-6</OptionGroupName>\n <Status>in-sync</Status>\n </OptionGroupMembership>\n </OptionGroupMemberships>\n <BackupTarget>region</BackupTarget>\n <CACertificateIdentifier>rds-ca-2019</CACertificateIdentifier>\n <DbInstancePort>0</DbInstancePort>\n <DbiResourceId>db-BUJY6KHDQ36N6SUXI65GC452EQ</DbiResourceId>\n <PreferredBackupWindow>23:22-23:52</PreferredBackupWindow>\n <DeletionProtection>false</DeletionProtection>\n <DBInstanceIdentifier>khtest</DBInstanceIdentifier>\n <DBInstanceArn>arn:aws:rds:ap-south-1:364678852428:db:khtest</DBInstanceArn>\n <Engine>postgres</Engine>\n <PubliclyAccessible>true</PubliclyAccessible>\n <IAMDatabaseAuthenticationEnabled>false</IAMDatabaseAuthenticationEnabled>\n <NetworkType>IPV4</NetworkType>\n <ActivityStreamStatus>stopped</ActivityStreamStatus>\n <PerformanceInsightsEnabled>false</PerformanceInsightsEnabled>\n <DBName>postgres</DBName>\n <MultiAZ>false</MultiAZ>\n <DomainMemberships/>\n <StorageEncrypted>true</StorageEncrypted>\n <DBSubnetGroup>\n <VpcId>vpc-07c09e8c7e59e4272</VpcId>\n <Subnets>\n <Subnet>\n <SubnetIdentifier>subnet-084ecee0253c0de08</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1a</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n <Subnet>\n <SubnetIdentifier>subnet-005c6e858233ebcc8</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1b</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n <Subnet>\n <SubnetIdentifier>subnet-0fe8dbbdb819ac8c9</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1c</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n </Subnets>\n <SubnetGroupStatus>Complete</SubnetGroupStatus>\n <DBSubnetGroupDescription>default</DBSubnetGroupDescription>\n <DBSubnetGroupName>default</DBSubnetGroupName>\n </DBSubnetGroup>\n <VpcSecurityGroups>\n <VpcSecurityGroupMembership>\n <VpcSecurityGroupId>sg-05c680adc3fc69fa5</VpcSecurityGroupId>\n <Status>active</Status>\n </VpcSecurityGroupMembership>\n </VpcSecurityGroups>\n <TagList/>\n <LicenseModel>postgresql-license</LicenseModel>\n <PendingModifiedValues>\n <MasterUserPassword>****</MasterUserPassword>\n </PendingModifiedValues>\n <PreferredMaintenanceWindow>thu:06:13-thu:06:43</PreferredMaintenanceWindow>\n <StorageType>gp2</StorageType>\n <AutoMinorVersionUpgrade>true</AutoMinorVersionUpgrade>\n <CopyTagsToSnapshot>false</CopyTagsToSnapshot>\n </DBInstance>\n </DBInstances>\n </DescribeDBInstancesResult>\n <ResponseMetadata>\n <RequestId>74f939c5-5fda-403c-9c98-dc83369e0746</RequestId>\n </ResponseMetadata>\n</DescribeDBInstancesResponse>\n'
2022-02-08 17:30:30,830 DEBUG Event needs-retry.rds.DescribeDBInstances: calling handler <botocore.retryhandler.RetryHandler object at 0x118cde7d0>
2022-02-08 17:30:30,830 DEBUG No retry needed.
2022-02-08 17:30:30,830 INFO {"Status-": "creating"}
2022-02-08 17:30:35,834 DEBUG Event before-parameter-build.rds.DescribeDBInstances: calling handler <function generate_idempotent_uuid at 0x10e0637f0>
2022-02-08 17:30:35,835 DEBUG Event before-call.rds.DescribeDBInstances: calling handler <function inject_api_version_header_if_needed at 0x10e095090>
2022-02-08 17:30:35,835 DEBUG Making request for OperationModel(name=DescribeDBInstances) with params: {'url_path': '/', 'query_string': '', 'method': 'POST', 'headers': {'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': 'Boto3/1.20.46 Python/3.10.1 Darwin/20.3.0 Botocore/1.23.46'}, 'body': {'Action': 'DescribeDBInstances', 'Version': '2014-10-31', 'DBInstanceIdentifier': 'KhTest'}, 'url': 'https://rds.ap-south-1.amazonaws.com/', 'context': {'client_region': 'ap-south-1', 'client_config': <botocore.config.Config object at 0x118cdded0>, 'has_streaming_input': False, 'auth_type': None}}
2022-02-08 17:30:35,835 DEBUG Event request-created.rds.DescribeDBInstances: calling handler <bound method RequestSigner.handler of <botocore.signers.RequestSigner object at 0x118cdde40>>
2022-02-08 17:30:35,835 DEBUG Event choose-signer.rds.DescribeDBInstances: calling handler <function set_operation_specific_signer at 0x10e0636d0>
2022-02-08 17:30:35,836 DEBUG Calculating signature using v4 auth.
2022-02-08 17:30:35,836 DEBUG CanonicalRequest:
POST
/
content-type:application/x-www-form-urlencoded; charset=utf-8
host:rds.ap-south-1.amazonaws.com
x-amz-date:20220208T120035Z
content-type;host;x-amz-date
2b3b8b966d87481c286215c38f9f2f4529da4f4507574b8f4aab9427c6154842
2022-02-08 17:30:35,836 DEBUG StringToSign:
AWS4-HMAC-SHA256
20220208T120035Z
20220208/ap-south-1/rds/aws4_request
62454c6195d75ea71b7d2c6a7cdf2a53173c623dc49783efc7f8c3fb51a2981e
2022-02-08 17:30:35,836 DEBUG Signature:
370546ae1355068b894a647122c2fd92e2aa46a66a0fdc56cf7f20ecc7b39aec
2022-02-08 17:30:35,836 DEBUG Sending http request: <AWSPreparedRequest stream_output=False, method=POST, url=https://rds.ap-south-1.amazonaws.com/, headers={'Content-Type': b'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': b'Boto3/1.20.46 Python/3.10.1 Darwin/20.3.0 Botocore/1.23.46', 'X-Amz-Date': b'20220208T120035Z', 'Authorization': b'AWS4-HMAC-SHA256 Credential=AKIAVJ2ENV5GFATKFHH7/20220208/ap-south-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=370546ae1355068b894a647122c2fd92e2aa46a66a0fdc56cf7f20ecc7b39aec', 'Content-Length': '73'}>
2022-02-08 17:30:35,837 DEBUG Certificate path: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/certifi/cacert.pem
2022-02-08 17:30:35,916 DEBUG https://rds.ap-south-1.amazonaws.com:443 "POST / HTTP/1.1" 200 4541
2022-02-08 17:30:35,916 DEBUG Response headers: {'x-amzn-RequestId': '2de3bd02-d1c7-42d6-b21b-9006d68a063b', 'Content-Type': 'text/xml', 'Content-Length': '4541', 'Date': 'Tue, 08 Feb 2022 12:00:35 GMT'}
2022-02-08 17:30:35,916 DEBUG Response body:
b'<DescribeDBInstancesResponse xmlns="http://rds.amazonaws.com/doc/2014-10-31/">\n <DescribeDBInstancesResult>\n <DBInstances>\n <DBInstance>\n <AllocatedStorage>20</AllocatedStorage>\n <AssociatedRoles/>\n <DBParameterGroups>\n <DBParameterGroup>\n <DBParameterGroupName>default.postgres9.6</DBParameterGroupName>\n <ParameterApplyStatus>in-sync</ParameterApplyStatus>\n </DBParameterGroup>\n </DBParameterGroups>\n <DBSecurityGroups/>\n <EngineVersion>9.6.1</EngineVersion>\n <MasterUsername>khushboo</MasterUsername>\n <DBInstanceClass>db.m4.10xlarge</DBInstanceClass>\n <StorageThroughput>0</StorageThroughput>\n <HttpEndpointEnabled>false</HttpEndpointEnabled>\n <ReadReplicaDBInstanceIdentifiers/>\n <CustomerOwnedIpEnabled>false</CustomerOwnedIpEnabled>\n <MonitoringInterval>0</MonitoringInterval>\n <DBInstanceStatus>creating</DBInstanceStatus>\n <BackupRetentionPeriod>1</BackupRetentionPeriod>\n <KmsKeyId>arn:aws:kms:ap-south-1:364678852428:key/231709c2-7c94-49a5-af19-07199168dd1d</KmsKeyId>\n <OptionGroupMemberships>\n <OptionGroupMembership>\n <OptionGroupName>default:postgres-9-6</OptionGroupName>\n <Status>in-sync</Status>\n </OptionGroupMembership>\n </OptionGroupMemberships>\n <BackupTarget>region</BackupTarget>\n <CACertificateIdentifier>rds-ca-2019</CACertificateIdentifier>\n <DbInstancePort>0</DbInstancePort>\n <DbiResourceId>db-BUJY6KHDQ36N6SUXI65GC452EQ</DbiResourceId>\n <PreferredBackupWindow>23:22-23:52</PreferredBackupWindow>\n <DeletionProtection>false</DeletionProtection>\n <DBInstanceIdentifier>khtest</DBInstanceIdentifier>\n <DBInstanceArn>arn:aws:rds:ap-south-1:364678852428:db:khtest</DBInstanceArn>\n <Engine>postgres</Engine>\n <PubliclyAccessible>true</PubliclyAccessible>\n <IAMDatabaseAuthenticationEnabled>false</IAMDatabaseAuthenticationEnabled>\n <NetworkType>IPV4</NetworkType>\n <ActivityStreamStatus>stopped</ActivityStreamStatus>\n <PerformanceInsightsEnabled>false</PerformanceInsightsEnabled>\n <DBName>postgres</DBName>\n <MultiAZ>false</MultiAZ>\n <DomainMemberships/>\n <StorageEncrypted>true</StorageEncrypted>\n <DBSubnetGroup>\n <VpcId>vpc-07c09e8c7e59e4272</VpcId>\n <Subnets>\n <Subnet>\n <SubnetIdentifier>subnet-084ecee0253c0de08</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1a</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n <Subnet>\n <SubnetIdentifier>subnet-005c6e858233ebcc8</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1b</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n <Subnet>\n <SubnetIdentifier>subnet-0fe8dbbdb819ac8c9</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1c</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n </Subnets>\n <SubnetGroupStatus>Complete</SubnetGroupStatus>\n <DBSubnetGroupDescription>default</DBSubnetGroupDescription>\n <DBSubnetGroupName>default</DBSubnetGroupName>\n </DBSubnetGroup>\n <VpcSecurityGroups>\n <VpcSecurityGroupMembership>\n <VpcSecurityGroupId>sg-05c680adc3fc69fa5</VpcSecurityGroupId>\n <Status>active</Status>\n </VpcSecurityGroupMembership>\n </VpcSecurityGroups>\n <TagList/>\n <LicenseModel>postgresql-license</LicenseModel>\n <PendingModifiedValues>\n <MasterUserPassword>****</MasterUserPassword>\n </PendingModifiedValues>\n <PreferredMaintenanceWindow>thu:06:13-thu:06:43</PreferredMaintenanceWindow>\n <StorageType>gp2</StorageType>\n <AutoMinorVersionUpgrade>true</AutoMinorVersionUpgrade>\n <CopyTagsToSnapshot>false</CopyTagsToSnapshot>\n </DBInstance>\n </DBInstances>\n </DescribeDBInstancesResult>\n <ResponseMetadata>\n <RequestId>2de3bd02-d1c7-42d6-b21b-9006d68a063b</RequestId>\n </ResponseMetadata>\n</DescribeDBInstancesResponse>\n'
2022-02-08 17:30:35,917 DEBUG Event needs-retry.rds.DescribeDBInstances: calling handler <botocore.retryhandler.RetryHandler object at 0x118cde7d0>
2022-02-08 17:30:35,917 DEBUG No retry needed.
2022-02-08 17:30:35,918 INFO {"Status-": "creating"}
2022-02-08 17:30:40,922 DEBUG Event before-parameter-build.rds.DescribeDBInstances: calling handler <function generate_idempotent_uuid at 0x10e0637f0>
2022-02-08 17:30:40,922 DEBUG Event before-call.rds.DescribeDBInstances: calling handler <function inject_api_version_header_if_needed at 0x10e095090>
2022-02-08 17:30:40,922 DEBUG Making request for OperationModel(name=DescribeDBInstances) with params: {'url_path': '/', 'query_string': '', 'method': 'POST', 'headers': {'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': 'Boto3/1.20.46 Python/3.10.1 Darwin/20.3.0 Botocore/1.23.46'}, 'body': {'Action': 'DescribeDBInstances', 'Version': '2014-10-31', 'DBInstanceIdentifier': 'KhTest'}, 'url': 'https://rds.ap-south-1.amazonaws.com/', 'context': {'client_region': 'ap-south-1', 'client_config': <botocore.config.Config object at 0x118cdded0>, 'has_streaming_input': False, 'auth_type': None}}
2022-02-08 17:30:40,922 DEBUG Event request-created.rds.DescribeDBInstances: calling handler <bound method RequestSigner.handler of <botocore.signers.RequestSigner object at 0x118cdde40>>
2022-02-08 17:30:40,923 DEBUG Event choose-signer.rds.DescribeDBInstances: calling handler <function set_operation_specific_signer at 0x10e0636d0>
2022-02-08 17:30:40,923 DEBUG Calculating signature using v4 auth.
2022-02-08 17:30:40,923 DEBUG CanonicalRequest:
POST
/
content-type:application/x-www-form-urlencoded; charset=utf-8
host:rds.ap-south-1.amazonaws.com
x-amz-date:20220208T120040Z
content-type;host;x-amz-date
2b3b8b966d87481c286215c38f9f2f4529da4f4507574b8f4aab9427c6154842
2022-02-08 17:30:40,923 DEBUG StringToSign:
AWS4-HMAC-SHA256
20220208T120040Z
20220208/ap-south-1/rds/aws4_request
07881f356328f78852be70a56b76cb7de671349df4cd437c903738a02a5fa4e9
2022-02-08 17:30:40,923 DEBUG Signature:
32da6a195e2d7ed6bd652ed0781bdf5ff2f8e28b3f2d7a2fe4542400a700cc14
2022-02-08 17:30:40,924 DEBUG Sending http request: <AWSPreparedRequest stream_output=False, method=POST, url=https://rds.ap-south-1.amazonaws.com/, headers={'Content-Type': b'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': b'Boto3/1.20.46 Python/3.10.1 Darwin/20.3.0 Botocore/1.23.46', 'X-Amz-Date': b'20220208T120040Z', 'Authorization': b'AWS4-HMAC-SHA256 Credential=AKIAVJ2ENV5GFATKFHH7/20220208/ap-south-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=32da6a195e2d7ed6bd652ed0781bdf5ff2f8e28b3f2d7a2fe4542400a700cc14', 'Content-Length': '73'}>
2022-02-08 17:30:40,924 DEBUG Certificate path: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/certifi/cacert.pem
2022-02-08 17:30:40,995 DEBUG https://rds.ap-south-1.amazonaws.com:443 "POST / HTTP/1.1" 200 4598
2022-02-08 17:30:40,996 DEBUG Response headers: {'x-amzn-RequestId': 'cb16e6a1-e5e0-41b2-8d25-93392e1974c5', 'Content-Type': 'text/xml', 'Content-Length': '4598', 'Date': 'Tue, 08 Feb 2022 12:00:40 GMT'}
2022-02-08 17:30:40,996 DEBUG Response body:
b'<DescribeDBInstancesResponse xmlns="http://rds.amazonaws.com/doc/2014-10-31/">\n <DescribeDBInstancesResult>\n <DBInstances>\n <DBInstance>\n <AllocatedStorage>20</AllocatedStorage>\n <AssociatedRoles/>\n <DBParameterGroups>\n <DBParameterGroup>\n <DBParameterGroupName>default.postgres9.6</DBParameterGroupName>\n <ParameterApplyStatus>in-sync</ParameterApplyStatus>\n </DBParameterGroup>\n </DBParameterGroups>\n <AvailabilityZone>ap-south-1b</AvailabilityZone>\n <DBSecurityGroups/>\n <EngineVersion>9.6.1</EngineVersion>\n <MasterUsername>khushboo</MasterUsername>\n <DBInstanceClass>db.m4.10xlarge</DBInstanceClass>\n <StorageThroughput>0</StorageThroughput>\n <HttpEndpointEnabled>false</HttpEndpointEnabled>\n <ReadReplicaDBInstanceIdentifiers/>\n <CustomerOwnedIpEnabled>false</CustomerOwnedIpEnabled>\n <MonitoringInterval>0</MonitoringInterval>\n <DBInstanceStatus>creating</DBInstanceStatus>\n <BackupRetentionPeriod>1</BackupRetentionPeriod>\n <KmsKeyId>arn:aws:kms:ap-south-1:364678852428:key/231709c2-7c94-49a5-af19-07199168dd1d</KmsKeyId>\n <OptionGroupMemberships>\n <OptionGroupMembership>\n <OptionGroupName>default:postgres-9-6</OptionGroupName>\n <Status>in-sync</Status>\n </OptionGroupMembership>\n </OptionGroupMemberships>\n <BackupTarget>region</BackupTarget>\n <CACertificateIdentifier>rds-ca-2019</CACertificateIdentifier>\n <DbInstancePort>0</DbInstancePort>\n <DbiResourceId>db-BUJY6KHDQ36N6SUXI65GC452EQ</DbiResourceId>\n <PreferredBackupWindow>23:22-23:52</PreferredBackupWindow>\n <DeletionProtection>false</DeletionProtection>\n <DBInstanceIdentifier>khtest</DBInstanceIdentifier>\n <DBInstanceArn>arn:aws:rds:ap-south-1:364678852428:db:khtest</DBInstanceArn>\n <Engine>postgres</Engine>\n <PubliclyAccessible>true</PubliclyAccessible>\n <IAMDatabaseAuthenticationEnabled>false</IAMDatabaseAuthenticationEnabled>\n <NetworkType>IPV4</NetworkType>\n <ActivityStreamStatus>stopped</ActivityStreamStatus>\n <PerformanceInsightsEnabled>false</PerformanceInsightsEnabled>\n <DBName>postgres</DBName>\n <MultiAZ>false</MultiAZ>\n <DomainMemberships/>\n <StorageEncrypted>true</StorageEncrypted>\n <DBSubnetGroup>\n <VpcId>vpc-07c09e8c7e59e4272</VpcId>\n <Subnets>\n <Subnet>\n <SubnetIdentifier>subnet-084ecee0253c0de08</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1a</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n <Subnet>\n <SubnetIdentifier>subnet-005c6e858233ebcc8</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1b</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n <Subnet>\n <SubnetIdentifier>subnet-0fe8dbbdb819ac8c9</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1c</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n </Subnets>\n <SubnetGroupStatus>Complete</SubnetGroupStatus>\n <DBSubnetGroupDescription>default</DBSubnetGroupDescription>\n <DBSubnetGroupName>default</DBSubnetGroupName>\n </DBSubnetGroup>\n <VpcSecurityGroups>\n <VpcSecurityGroupMembership>\n <VpcSecurityGroupId>sg-05c680adc3fc69fa5</VpcSecurityGroupId>\n <Status>active</Status>\n </VpcSecurityGroupMembership>\n </VpcSecurityGroups>\n <TagList/>\n <LicenseModel>postgresql-license</LicenseModel>\n <PendingModifiedValues>\n <MasterUserPassword>****</MasterUserPassword>\n </PendingModifiedValues>\n <PreferredMaintenanceWindow>thu:06:13-thu:06:43</PreferredMaintenanceWindow>\n <StorageType>gp2</StorageType>\n <AutoMinorVersionUpgrade>true</AutoMinorVersionUpgrade>\n <CopyTagsToSnapshot>false</CopyTagsToSnapshot>\n </DBInstance>\n </DBInstances>\n </DescribeDBInstancesResult>\n <ResponseMetadata>\n <RequestId>cb16e6a1-e5e0-41b2-8d25-93392e1974c5</RequestId>\n </ResponseMetadata>\n</DescribeDBInstancesResponse>\n'
2022-02-08 17:30:40,997 DEBUG Event needs-retry.rds.DescribeDBInstances: calling handler <botocore.retryhandler.RetryHandler object at 0x118cde7d0>
2022-02-08 17:30:40,997 DEBUG No retry needed.
2022-02-08 17:30:40,997 INFO {"Status-": "creating"}
2022-02-08 17:30:46,001 DEBUG Event before-parameter-build.rds.DescribeDBInstances: calling handler <function generate_idempotent_uuid at 0x10e0637f0>
2022-02-08 17:30:46,002 DEBUG Event before-call.rds.DescribeDBInstances: calling handler <function inject_api_version_header_if_needed at 0x10e095090>
2022-02-08 17:30:46,002 DEBUG Making request for OperationModel(name=DescribeDBInstances) with params: {'url_path': '/', 'query_string': '', 'method': 'POST', 'headers': {'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': 'Boto3/1.20.46 Python/3.10.1 Darwin/20.3.0 Botocore/1.23.46'}, 'body': {'Action': 'DescribeDBInstances', 'Version': '2014-10-31', 'DBInstanceIdentifier': 'KhTest'}, 'url': 'https://rds.ap-south-1.amazonaws.com/', 'context': {'client_region': 'ap-south-1', 'client_config': <botocore.config.Config object at 0x118cdded0>, 'has_streaming_input': False, 'auth_type': None}}
2022-02-08 17:30:46,002 DEBUG Event request-created.rds.DescribeDBInstances: calling handler <bound method RequestSigner.handler of <botocore.signers.RequestSigner object at 0x118cdde40>>
2022-02-08 17:30:46,002 DEBUG Event choose-signer.rds.DescribeDBInstances: calling handler <function set_operation_specific_signer at 0x10e0636d0>
2022-02-08 17:30:46,002 DEBUG Calculating signature using v4 auth.
2022-02-08 17:30:46,002 DEBUG CanonicalRequest:
POST
/
content-type:application/x-www-form-urlencoded; charset=utf-8
host:rds.ap-south-1.amazonaws.com
x-amz-date:20220208T120046Z
content-type;host;x-amz-date
2b3b8b966d87481c286215c38f9f2f4529da4f4507574b8f4aab9427c6154842
2022-02-08 17:30:46,002 DEBUG StringToSign:
AWS4-HMAC-SHA256
20220208T120046Z
20220208/ap-south-1/rds/aws4_request
ad2264f2e1b75800de51635bab5a4bd29d9a77ad9069c18ae3f41ff15e308e8a
2022-02-08 17:30:46,002 DEBUG Signature:
02df9775ab9f90da9af35ad7efacb850ef4cbaf295a508626baf263085e4e44c
2022-02-08 17:30:46,003 DEBUG Sending http request: <AWSPreparedRequest stream_output=False, method=POST, url=https://rds.ap-south-1.amazonaws.com/, headers={'Content-Type': b'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': b'Boto3/1.20.46 Python/3.10.1 Darwin/20.3.0 Botocore/1.23.46', 'X-Amz-Date': b'20220208T120046Z', 'Authorization': b'AWS4-HMAC-SHA256 Credential=AKIAVJ2ENV5GFATKFHH7/20220208/ap-south-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=02df9775ab9f90da9af35ad7efacb850ef4cbaf295a508626baf263085e4e44c', 'Content-Length': '73'}>
2022-02-08 17:30:46,003 DEBUG Certificate path: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/certifi/cacert.pem
2022-02-08 17:30:46,080 DEBUG https://rds.ap-south-1.amazonaws.com:443 "POST / HTTP/1.1" 200 4598
2022-02-08 17:30:46,081 DEBUG Response headers: {'x-amzn-RequestId': 'a69b5a9b-8deb-4dab-b3a9-ac63558c0c2f', 'Content-Type': 'text/xml', 'Content-Length': '4598', 'Date': 'Tue, 08 Feb 2022 12:00:45 GMT'}
2022-02-08 17:30:46,081 DEBUG Response body:
b'<DescribeDBInstancesResponse xmlns="http://rds.amazonaws.com/doc/2014-10-31/">\n <DescribeDBInstancesResult>\n <DBInstances>\n <DBInstance>\n <AllocatedStorage>20</AllocatedStorage>\n <AssociatedRoles/>\n <DBParameterGroups>\n <DBParameterGroup>\n <DBParameterGroupName>default.postgres9.6</DBParameterGroupName>\n <ParameterApplyStatus>in-sync</ParameterApplyStatus>\n </DBParameterGroup>\n </DBParameterGroups>\n <AvailabilityZone>ap-south-1b</AvailabilityZone>\n <DBSecurityGroups/>\n <EngineVersion>9.6.1</EngineVersion>\n <MasterUsername>khushboo</MasterUsername>\n <DBInstanceClass>db.m4.10xlarge</DBInstanceClass>\n <StorageThroughput>0</StorageThroughput>\n <HttpEndpointEnabled>false</HttpEndpointEnabled>\n <ReadReplicaDBInstanceIdentifiers/>\n <CustomerOwnedIpEnabled>false</CustomerOwnedIpEnabled>\n <MonitoringInterval>0</MonitoringInterval>\n <DBInstanceStatus>creating</DBInstanceStatus>\n <BackupRetentionPeriod>1</BackupRetentionPeriod>\n <KmsKeyId>arn:aws:kms:ap-south-1:364678852428:key/231709c2-7c94-49a5-af19-07199168dd1d</KmsKeyId>\n <OptionGroupMemberships>\n <OptionGroupMembership>\n <OptionGroupName>default:postgres-9-6</OptionGroupName>\n <Status>in-sync</Status>\n </OptionGroupMembership>\n </OptionGroupMemberships>\n <BackupTarget>region</BackupTarget>\n <CACertificateIdentifier>rds-ca-2019</CACertificateIdentifier>\n <DbInstancePort>0</DbInstancePort>\n <DbiResourceId>db-BUJY6KHDQ36N6SUXI65GC452EQ</DbiResourceId>\n <PreferredBackupWindow>23:22-23:52</PreferredBackupWindow>\n <DeletionProtection>false</DeletionProtection>\n <DBInstanceIdentifier>khtest</DBInstanceIdentifier>\n <DBInstanceArn>arn:aws:rds:ap-south-1:364678852428:db:khtest</DBInstanceArn>\n <Engine>postgres</Engine>\n <PubliclyAccessible>true</PubliclyAccessible>\n <IAMDatabaseAuthenticationEnabled>false</IAMDatabaseAuthenticationEnabled>\n <NetworkType>IPV4</NetworkType>\n <ActivityStreamStatus>stopped</ActivityStreamStatus>\n <PerformanceInsightsEnabled>false</PerformanceInsightsEnabled>\n <DBName>postgres</DBName>\n <MultiAZ>false</MultiAZ>\n <DomainMemberships/>\n <StorageEncrypted>true</StorageEncrypted>\n <DBSubnetGroup>\n <VpcId>vpc-07c09e8c7e59e4272</VpcId>\n <Subnets>\n <Subnet>\n <SubnetIdentifier>subnet-084ecee0253c0de08</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1a</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n <Subnet>\n <SubnetIdentifier>subnet-005c6e858233ebcc8</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1b</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n <Subnet>\n <SubnetIdentifier>subnet-0fe8dbbdb819ac8c9</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1c</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n </Subnets>\n <SubnetGroupStatus>Complete</SubnetGroupStatus>\n <DBSubnetGroupDescription>default</DBSubnetGroupDescription>\n <DBSubnetGroupName>default</DBSubnetGroupName>\n </DBSubnetGroup>\n <VpcSecurityGroups>\n <VpcSecurityGroupMembership>\n <VpcSecurityGroupId>sg-05c680adc3fc69fa5</VpcSecurityGroupId>\n <Status>active</Status>\n </VpcSecurityGroupMembership>\n </VpcSecurityGroups>\n <TagList/>\n <LicenseModel>postgresql-license</LicenseModel>\n <PendingModifiedValues>\n <MasterUserPassword>****</MasterUserPassword>\n </PendingModifiedValues>\n <PreferredMaintenanceWindow>thu:06:13-thu:06:43</PreferredMaintenanceWindow>\n <StorageType>gp2</StorageType>\n <AutoMinorVersionUpgrade>true</AutoMinorVersionUpgrade>\n <CopyTagsToSnapshot>false</CopyTagsToSnapshot>\n </DBInstance>\n </DBInstances>\n </DescribeDBInstancesResult>\n <ResponseMetadata>\n <RequestId>a69b5a9b-8deb-4dab-b3a9-ac63558c0c2f</RequestId>\n </ResponseMetadata>\n</DescribeDBInstancesResponse>\n'
2022-02-08 17:30:46,081 DEBUG Event needs-retry.rds.DescribeDBInstances: calling handler <botocore.retryhandler.RetryHandler object at 0x118cde7d0>
2022-02-08 17:30:46,081 DEBUG No retry needed.
2022-02-08 17:30:46,082 INFO {"Status-": "creating"}
2022-02-08 17:30:51,084 DEBUG Event before-parameter-build.rds.DescribeDBInstances: calling handler <function generate_idempotent_uuid at 0x10e0637f0>
2022-02-08 17:30:51,085 DEBUG Event before-call.rds.DescribeDBInstances: calling handler <function inject_api_version_header_if_needed at 0x10e095090>
2022-02-08 17:30:51,085 DEBUG Making request for OperationModel(name=DescribeDBInstances) with params: {'url_path': '/', 'query_string': '', 'method': 'POST', 'headers': {'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': 'Boto3/1.20.46 Python/3.10.1 Darwin/20.3.0 Botocore/1.23.46'}, 'body': {'Action': 'DescribeDBInstances', 'Version': '2014-10-31', 'DBInstanceIdentifier': 'KhTest'}, 'url': 'https://rds.ap-south-1.amazonaws.com/', 'context': {'client_region': 'ap-south-1', 'client_config': <botocore.config.Config object at 0x118cdded0>, 'has_streaming_input': False, 'auth_type': None}}
2022-02-08 17:30:51,085 DEBUG Event request-created.rds.DescribeDBInstances: calling handler <bound method RequestSigner.handler of <botocore.signers.RequestSigner object at 0x118cdde40>>
2022-02-08 17:30:51,085 DEBUG Event choose-signer.rds.DescribeDBInstances: calling handler <function set_operation_specific_signer at 0x10e0636d0>
2022-02-08 17:30:51,086 DEBUG Calculating signature using v4 auth.
2022-02-08 17:30:51,086 DEBUG CanonicalRequest:
POST
/
content-type:application/x-www-form-urlencoded; charset=utf-8
host:rds.ap-south-1.amazonaws.com
x-amz-date:20220208T120051Z
content-type;host;x-amz-date
2b3b8b966d87481c286215c38f9f2f4529da4f4507574b8f4aab9427c6154842
2022-02-08 17:30:51,086 DEBUG StringToSign:
AWS4-HMAC-SHA256
20220208T120051Z
20220208/ap-south-1/rds/aws4_request
5aab57b23274923369bd52e600b42ebb3847c74d4aba7cf843955248ef8fa188
2022-02-08 17:30:51,086 DEBUG Signature:
f3a1d76bacff76c8a08a4c05c0eb413216170c5ac74d309e9992eec9b3c86ca6
2022-02-08 17:30:51,086 DEBUG Sending http request: <AWSPreparedRequest stream_output=False, method=POST, url=https://rds.ap-south-1.amazonaws.com/, headers={'Content-Type': b'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': b'Boto3/1.20.46 Python/3.10.1 Darwin/20.3.0 Botocore/1.23.46', 'X-Amz-Date': b'20220208T120051Z', 'Authorization': b'AWS4-HMAC-SHA256 Credential=AKIAVJ2ENV5GFATKFHH7/20220208/ap-south-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=f3a1d76bacff76c8a08a4c05c0eb413216170c5ac74d309e9992eec9b3c86ca6', 'Content-Length': '73'}>
2022-02-08 17:30:51,087 DEBUG Certificate path: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/certifi/cacert.pem
2022-02-08 17:30:51,189 DEBUG https://rds.ap-south-1.amazonaws.com:443 "POST / HTTP/1.1" 200 4598
2022-02-08 17:30:51,190 DEBUG Response headers: {'x-amzn-RequestId': '2e83b152-263d-4ae7-9240-e97b3560911d', 'Content-Type': 'text/xml', 'Content-Length': '4598', 'Date': 'Tue, 08 Feb 2022 12:00:50 GMT'}
2022-02-08 17:30:51,190 DEBUG Response body:
b'<DescribeDBInstancesResponse xmlns="http://rds.amazonaws.com/doc/2014-10-31/">\n <DescribeDBInstancesResult>\n <DBInstances>\n <DBInstance>\n <AllocatedStorage>20</AllocatedStorage>\n <AssociatedRoles/>\n <DBParameterGroups>\n <DBParameterGroup>\n <DBParameterGroupName>default.postgres9.6</DBParameterGroupName>\n <ParameterApplyStatus>in-sync</ParameterApplyStatus>\n </DBParameterGroup>\n </DBParameterGroups>\n <AvailabilityZone>ap-south-1b</AvailabilityZone>\n <DBSecurityGroups/>\n <EngineVersion>9.6.1</EngineVersion>\n <MasterUsername>khushboo</MasterUsername>\n <DBInstanceClass>db.m4.10xlarge</DBInstanceClass>\n <StorageThroughput>0</StorageThroughput>\n <HttpEndpointEnabled>false</HttpEndpointEnabled>\n <ReadReplicaDBInstanceIdentifiers/>\n <CustomerOwnedIpEnabled>false</CustomerOwnedIpEnabled>\n <MonitoringInterval>0</MonitoringInterval>\n <DBInstanceStatus>creating</DBInstanceStatus>\n <BackupRetentionPeriod>1</BackupRetentionPeriod>\n <KmsKeyId>arn:aws:kms:ap-south-1:364678852428:key/231709c2-7c94-49a5-af19-07199168dd1d</KmsKeyId>\n <OptionGroupMemberships>\n <OptionGroupMembership>\n <OptionGroupName>default:postgres-9-6</OptionGroupName>\n <Status>in-sync</Status>\n </OptionGroupMembership>\n </OptionGroupMemberships>\n <BackupTarget>region</BackupTarget>\n <CACertificateIdentifier>rds-ca-2019</CACertificateIdentifier>\n <DbInstancePort>0</DbInstancePort>\n <DbiResourceId>db-BUJY6KHDQ36N6SUXI65GC452EQ</DbiResourceId>\n <PreferredBackupWindow>23:22-23:52</PreferredBackupWindow>\n <DeletionProtection>false</DeletionProtection>\n <DBInstanceIdentifier>khtest</DBInstanceIdentifier>\n <DBInstanceArn>arn:aws:rds:ap-south-1:364678852428:db:khtest</DBInstanceArn>\n <Engine>postgres</Engine>\n <PubliclyAccessible>true</PubliclyAccessible>\n <IAMDatabaseAuthenticationEnabled>false</IAMDatabaseAuthenticationEnabled>\n <NetworkType>IPV4</NetworkType>\n <ActivityStreamStatus>stopped</ActivityStreamStatus>\n <PerformanceInsightsEnabled>false</PerformanceInsightsEnabled>\n <DBName>postgres</DBName>\n <MultiAZ>false</MultiAZ>\n <DomainMemberships/>\n <StorageEncrypted>true</StorageEncrypted>\n <DBSubnetGroup>\n <VpcId>vpc-07c09e8c7e59e4272</VpcId>\n <Subnets>\n <Subnet>\n <SubnetIdentifier>subnet-084ecee0253c0de08</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1a</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n <Subnet>\n <SubnetIdentifier>subnet-005c6e858233ebcc8</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1b</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n <Subnet>\n <SubnetIdentifier>subnet-0fe8dbbdb819ac8c9</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1c</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n </Subnets>\n <SubnetGroupStatus>Complete</SubnetGroupStatus>\n <DBSubnetGroupDescription>default</DBSubnetGroupDescription>\n <DBSubnetGroupName>default</DBSubnetGroupName>\n </DBSubnetGroup>\n <VpcSecurityGroups>\n <VpcSecurityGroupMembership>\n <VpcSecurityGroupId>sg-05c680adc3fc69fa5</VpcSecurityGroupId>\n <Status>active</Status>\n </VpcSecurityGroupMembership>\n </VpcSecurityGroups>\n <TagList/>\n <LicenseModel>postgresql-license</LicenseModel>\n <PendingModifiedValues>\n <MasterUserPassword>****</MasterUserPassword>\n </PendingModifiedValues>\n <PreferredMaintenanceWindow>thu:06:13-thu:06:43</PreferredMaintenanceWindow>\n <StorageType>gp2</StorageType>\n <AutoMinorVersionUpgrade>true</AutoMinorVersionUpgrade>\n <CopyTagsToSnapshot>false</CopyTagsToSnapshot>\n </DBInstance>\n </DBInstances>\n </DescribeDBInstancesResult>\n <ResponseMetadata>\n <RequestId>2e83b152-263d-4ae7-9240-e97b3560911d</RequestId>\n </ResponseMetadata>\n</DescribeDBInstancesResponse>\n'
2022-02-08 17:30:51,191 DEBUG Event needs-retry.rds.DescribeDBInstances: calling handler <botocore.retryhandler.RetryHandler object at 0x118cde7d0>
2022-02-08 17:30:51,191 DEBUG No retry needed.
2022-02-08 17:30:51,191 INFO {"Status-": "creating"}
2022-02-08 17:30:56,195 DEBUG Event before-parameter-build.rds.DescribeDBInstances: calling handler <function generate_idempotent_uuid at 0x10e0637f0>
2022-02-08 17:30:56,196 DEBUG Event before-call.rds.DescribeDBInstances: calling handler <function inject_api_version_header_if_needed at 0x10e095090>
2022-02-08 17:30:56,196 DEBUG Making request for OperationModel(name=DescribeDBInstances) with params: {'url_path': '/', 'query_string': '', 'method': 'POST', 'headers': {'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': 'Boto3/1.20.46 Python/3.10.1 Darwin/20.3.0 Botocore/1.23.46'}, 'body': {'Action': 'DescribeDBInstances', 'Version': '2014-10-31', 'DBInstanceIdentifier': 'KhTest'}, 'url': 'https://rds.ap-south-1.amazonaws.com/', 'context': {'client_region': 'ap-south-1', 'client_config': <botocore.config.Config object at 0x118cdded0>, 'has_streaming_input': False, 'auth_type': None}}
2022-02-08 17:30:56,196 DEBUG Event request-created.rds.DescribeDBInstances: calling handler <bound method RequestSigner.handler of <botocore.signers.RequestSigner object at 0x118cdde40>>
2022-02-08 17:30:56,197 DEBUG Event choose-signer.rds.DescribeDBInstances: calling handler <function set_operation_specific_signer at 0x10e0636d0>
2022-02-08 17:30:56,197 DEBUG Calculating signature using v4 auth.
2022-02-08 17:30:56,197 DEBUG CanonicalRequest:
POST
/
content-type:application/x-www-form-urlencoded; charset=utf-8
host:rds.ap-south-1.amazonaws.com
x-amz-date:20220208T120056Z
content-type;host;x-amz-date
2b3b8b966d87481c286215c38f9f2f4529da4f4507574b8f4aab9427c6154842
2022-02-08 17:30:56,197 DEBUG StringToSign:
AWS4-HMAC-SHA256
20220208T120056Z
20220208/ap-south-1/rds/aws4_request
bece0a026756489b6cde13dd7980db2503b7d05836f166ef2981967a514ec627
2022-02-08 17:30:56,197 DEBUG Signature:
54f71f108973d188ee2c704512abc0dd2ce8559b1400274708ae92a70d185db2
2022-02-08 17:30:56,198 DEBUG Sending http request: <AWSPreparedRequest stream_output=False, method=POST, url=https://rds.ap-south-1.amazonaws.com/, headers={'Content-Type': b'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': b'Boto3/1.20.46 Python/3.10.1 Darwin/20.3.0 Botocore/1.23.46', 'X-Amz-Date': b'20220208T120056Z', 'Authorization': b'AWS4-HMAC-SHA256 Credential=AKIAVJ2ENV5GFATKFHH7/20220208/ap-south-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=54f71f108973d188ee2c704512abc0dd2ce8559b1400274708ae92a70d185db2', 'Content-Length': '73'}>
2022-02-08 17:30:56,198 DEBUG Certificate path: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/certifi/cacert.pem
2022-02-08 17:30:56,276 DEBUG https://rds.ap-south-1.amazonaws.com:443 "POST / HTTP/1.1" 200 4598
2022-02-08 17:30:56,276 DEBUG Response headers: {'x-amzn-RequestId': 'c256ae42-970b-4a5e-a9da-ca6b06997f11', 'Content-Type': 'text/xml', 'Content-Length': '4598', 'Date': 'Tue, 08 Feb 2022 12:00:55 GMT'}
2022-02-08 17:30:56,276 DEBUG Response body:
b'<DescribeDBInstancesResponse xmlns="http://rds.amazonaws.com/doc/2014-10-31/">\n <DescribeDBInstancesResult>\n <DBInstances>\n <DBInstance>\n <AllocatedStorage>20</AllocatedStorage>\n <AssociatedRoles/>\n <DBParameterGroups>\n <DBParameterGroup>\n <DBParameterGroupName>default.postgres9.6</DBParameterGroupName>\n <ParameterApplyStatus>in-sync</ParameterApplyStatus>\n </DBParameterGroup>\n </DBParameterGroups>\n <AvailabilityZone>ap-south-1b</AvailabilityZone>\n <DBSecurityGroups/>\n <EngineVersion>9.6.1</EngineVersion>\n <MasterUsername>khushboo</MasterUsername>\n <DBInstanceClass>db.m4.10xlarge</DBInstanceClass>\n <StorageThroughput>0</StorageThroughput>\n <HttpEndpointEnabled>false</HttpEndpointEnabled>\n <ReadReplicaDBInstanceIdentifiers/>\n <CustomerOwnedIpEnabled>false</CustomerOwnedIpEnabled>\n <MonitoringInterval>0</MonitoringInterval>\n <DBInstanceStatus>creating</DBInstanceStatus>\n <BackupRetentionPeriod>1</BackupRetentionPeriod>\n <KmsKeyId>arn:aws:kms:ap-south-1:364678852428:key/231709c2-7c94-49a5-af19-07199168dd1d</KmsKeyId>\n <OptionGroupMemberships>\n <OptionGroupMembership>\n <OptionGroupName>default:postgres-9-6</OptionGroupName>\n <Status>in-sync</Status>\n </OptionGroupMembership>\n </OptionGroupMemberships>\n <BackupTarget>region</BackupTarget>\n <CACertificateIdentifier>rds-ca-2019</CACertificateIdentifier>\n <DbInstancePort>0</DbInstancePort>\n <DbiResourceId>db-BUJY6KHDQ36N6SUXI65GC452EQ</DbiResourceId>\n <PreferredBackupWindow>23:22-23:52</PreferredBackupWindow>\n <DeletionProtection>false</DeletionProtection>\n <DBInstanceIdentifier>khtest</DBInstanceIdentifier>\n <DBInstanceArn>arn:aws:rds:ap-south-1:364678852428:db:khtest</DBInstanceArn>\n <Engine>postgres</Engine>\n <PubliclyAccessible>true</PubliclyAccessible>\n <IAMDatabaseAuthenticationEnabled>false</IAMDatabaseAuthenticationEnabled>\n <NetworkType>IPV4</NetworkType>\n <ActivityStreamStatus>stopped</ActivityStreamStatus>\n <PerformanceInsightsEnabled>false</PerformanceInsightsEnabled>\n <DBName>postgres</DBName>\n <MultiAZ>false</MultiAZ>\n <DomainMemberships/>\n <StorageEncrypted>true</StorageEncrypted>\n <DBSubnetGroup>\n <VpcId>vpc-07c09e8c7e59e4272</VpcId>\n <Subnets>\n <Subnet>\n <SubnetIdentifier>subnet-084ecee0253c0de08</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1a</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n <Subnet>\n <SubnetIdentifier>subnet-005c6e858233ebcc8</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1b</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n <Subnet>\n <SubnetIdentifier>subnet-0fe8dbbdb819ac8c9</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1c</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n </Subnets>\n <SubnetGroupStatus>Complete</SubnetGroupStatus>\n <DBSubnetGroupDescription>default</DBSubnetGroupDescription>\n <DBSubnetGroupName>default</DBSubnetGroupName>\n </DBSubnetGroup>\n <VpcSecurityGroups>\n <VpcSecurityGroupMembership>\n <VpcSecurityGroupId>sg-05c680adc3fc69fa5</VpcSecurityGroupId>\n <Status>active</Status>\n </VpcSecurityGroupMembership>\n </VpcSecurityGroups>\n <TagList/>\n <LicenseModel>postgresql-license</LicenseModel>\n <PendingModifiedValues>\n <MasterUserPassword>****</MasterUserPassword>\n </PendingModifiedValues>\n <PreferredMaintenanceWindow>thu:06:13-thu:06:43</PreferredMaintenanceWindow>\n <StorageType>gp2</StorageType>\n <AutoMinorVersionUpgrade>true</AutoMinorVersionUpgrade>\n <CopyTagsToSnapshot>false</CopyTagsToSnapshot>\n </DBInstance>\n </DBInstances>\n </DescribeDBInstancesResult>\n <ResponseMetadata>\n <RequestId>c256ae42-970b-4a5e-a9da-ca6b06997f11</RequestId>\n </ResponseMetadata>\n</DescribeDBInstancesResponse>\n'
2022-02-08 17:30:56,277 DEBUG Event needs-retry.rds.DescribeDBInstances: calling handler <botocore.retryhandler.RetryHandler object at 0x118cde7d0>
2022-02-08 17:30:56,277 DEBUG No retry needed.
2022-02-08 17:30:56,277 INFO {"Status-": "creating"}
2022-02-08 17:31:01,278 DEBUG Event before-parameter-build.rds.DescribeDBInstances: calling handler <function generate_idempotent_uuid at 0x10e0637f0>
2022-02-08 17:31:01,278 DEBUG Event before-call.rds.DescribeDBInstances: calling handler <function inject_api_version_header_if_needed at 0x10e095090>
2022-02-08 17:31:01,278 DEBUG Making request for OperationModel(name=DescribeDBInstances) with params: {'url_path': '/', 'query_string': '', 'method': 'POST', 'headers': {'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': 'Boto3/1.20.46 Python/3.10.1 Darwin/20.3.0 Botocore/1.23.46'}, 'body': {'Action': 'DescribeDBInstances', 'Version': '2014-10-31', 'DBInstanceIdentifier': 'KhTest'}, 'url': 'https://rds.ap-south-1.amazonaws.com/', 'context': {'client_region': 'ap-south-1', 'client_config': <botocore.config.Config object at 0x118cdded0>, 'has_streaming_input': False, 'auth_type': None}}
2022-02-08 17:31:01,278 DEBUG Event request-created.rds.DescribeDBInstances: calling handler <bound method RequestSigner.handler of <botocore.signers.RequestSigner object at 0x118cdde40>>
2022-02-08 17:31:01,278 DEBUG Event choose-signer.rds.DescribeDBInstances: calling handler <function set_operation_specific_signer at 0x10e0636d0>
2022-02-08 17:31:01,279 DEBUG Calculating signature using v4 auth.
2022-02-08 17:31:01,279 DEBUG CanonicalRequest:
POST
/
content-type:application/x-www-form-urlencoded; charset=utf-8
host:rds.ap-south-1.amazonaws.com
x-amz-date:20220208T120101Z
content-type;host;x-amz-date
2b3b8b966d87481c286215c38f9f2f4529da4f4507574b8f4aab9427c6154842
2022-02-08 17:31:01,279 DEBUG StringToSign:
AWS4-HMAC-SHA256
20220208T120101Z
20220208/ap-south-1/rds/aws4_request
ad3544b95b95de9148baa9245f7f36caff49fa95305cd080d0132495af63ff7a
2022-02-08 17:31:01,279 DEBUG Signature:
57ec7056404677794079ad4be3f00b3c04f3d7cf1ed59746a2aa8e22b3aa2fcf
2022-02-08 17:31:01,279 DEBUG Sending http request: <AWSPreparedRequest stream_output=False, method=POST, url=https://rds.ap-south-1.amazonaws.com/, headers={'Content-Type': b'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': b'Boto3/1.20.46 Python/3.10.1 Darwin/20.3.0 Botocore/1.23.46', 'X-Amz-Date': b'20220208T120101Z', 'Authorization': b'AWS4-HMAC-SHA256 Credential=AKIAVJ2ENV5GFATKFHH7/20220208/ap-south-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=57ec7056404677794079ad4be3f00b3c04f3d7cf1ed59746a2aa8e22b3aa2fcf', 'Content-Length': '73'}>
2022-02-08 17:31:01,280 DEBUG Certificate path: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/certifi/cacert.pem
2022-02-08 17:31:01,347 DEBUG https://rds.ap-south-1.amazonaws.com:443 "POST / HTTP/1.1" 200 4598
2022-02-08 17:31:01,348 DEBUG Response headers: {'x-amzn-RequestId': '275f455f-ce7b-4f79-b082-d56c0be64cc8', 'Content-Type': 'text/xml', 'Content-Length': '4598', 'Date': 'Tue, 08 Feb 2022 12:01:00 GMT'}
2022-02-08 17:31:01,348 DEBUG Response body:
b'<DescribeDBInstancesResponse xmlns="http://rds.amazonaws.com/doc/2014-10-31/">\n <DescribeDBInstancesResult>\n <DBInstances>\n <DBInstance>\n <AllocatedStorage>20</AllocatedStorage>\n <AssociatedRoles/>\n <DBParameterGroups>\n <DBParameterGroup>\n <DBParameterGroupName>default.postgres9.6</DBParameterGroupName>\n <ParameterApplyStatus>in-sync</ParameterApplyStatus>\n </DBParameterGroup>\n </DBParameterGroups>\n <AvailabilityZone>ap-south-1b</AvailabilityZone>\n <DBSecurityGroups/>\n <EngineVersion>9.6.1</EngineVersion>\n <MasterUsername>khushboo</MasterUsername>\n <DBInstanceClass>db.m4.10xlarge</DBInstanceClass>\n <StorageThroughput>0</StorageThroughput>\n <HttpEndpointEnabled>false</HttpEndpointEnabled>\n <ReadReplicaDBInstanceIdentifiers/>\n <CustomerOwnedIpEnabled>false</CustomerOwnedIpEnabled>\n <MonitoringInterval>0</MonitoringInterval>\n <DBInstanceStatus>creating</DBInstanceStatus>\n <BackupRetentionPeriod>1</BackupRetentionPeriod>\n <KmsKeyId>arn:aws:kms:ap-south-1:364678852428:key/231709c2-7c94-49a5-af19-07199168dd1d</KmsKeyId>\n <OptionGroupMemberships>\n <OptionGroupMembership>\n <OptionGroupName>default:postgres-9-6</OptionGroupName>\n <Status>in-sync</Status>\n </OptionGroupMembership>\n </OptionGroupMemberships>\n <BackupTarget>region</BackupTarget>\n <CACertificateIdentifier>rds-ca-2019</CACertificateIdentifier>\n <DbInstancePort>0</DbInstancePort>\n <DbiResourceId>db-BUJY6KHDQ36N6SUXI65GC452EQ</DbiResourceId>\n <PreferredBackupWindow>23:22-23:52</PreferredBackupWindow>\n <DeletionProtection>false</DeletionProtection>\n <DBInstanceIdentifier>khtest</DBInstanceIdentifier>\n <DBInstanceArn>arn:aws:rds:ap-south-1:364678852428:db:khtest</DBInstanceArn>\n <Engine>postgres</Engine>\n <PubliclyAccessible>true</PubliclyAccessible>\n <IAMDatabaseAuthenticationEnabled>false</IAMDatabaseAuthenticationEnabled>\n <NetworkType>IPV4</NetworkType>\n <ActivityStreamStatus>stopped</ActivityStreamStatus>\n <PerformanceInsightsEnabled>false</PerformanceInsightsEnabled>\n <DBName>postgres</DBName>\n <MultiAZ>false</MultiAZ>\n <DomainMemberships/>\n <StorageEncrypted>true</StorageEncrypted>\n <DBSubnetGroup>\n <VpcId>vpc-07c09e8c7e59e4272</VpcId>\n <Subnets>\n <Subnet>\n <SubnetIdentifier>subnet-084ecee0253c0de08</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1a</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n <Subnet>\n <SubnetIdentifier>subnet-005c6e858233ebcc8</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1b</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n <Subnet>\n <SubnetIdentifier>subnet-0fe8dbbdb819ac8c9</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1c</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n </Subnets>\n <SubnetGroupStatus>Complete</SubnetGroupStatus>\n <DBSubnetGroupDescription>default</DBSubnetGroupDescription>\n <DBSubnetGroupName>default</DBSubnetGroupName>\n </DBSubnetGroup>\n <VpcSecurityGroups>\n <VpcSecurityGroupMembership>\n <VpcSecurityGroupId>sg-05c680adc3fc69fa5</VpcSecurityGroupId>\n <Status>active</Status>\n </VpcSecurityGroupMembership>\n </VpcSecurityGroups>\n <TagList/>\n <LicenseModel>postgresql-license</LicenseModel>\n <PendingModifiedValues>\n <MasterUserPassword>****</MasterUserPassword>\n </PendingModifiedValues>\n <PreferredMaintenanceWindow>thu:06:13-thu:06:43</PreferredMaintenanceWindow>\n <StorageType>gp2</StorageType>\n <AutoMinorVersionUpgrade>true</AutoMinorVersionUpgrade>\n <CopyTagsToSnapshot>false</CopyTagsToSnapshot>\n </DBInstance>\n </DBInstances>\n </DescribeDBInstancesResult>\n <ResponseMetadata>\n <RequestId>275f455f-ce7b-4f79-b082-d56c0be64cc8</RequestId>\n </ResponseMetadata>\n</DescribeDBInstancesResponse>\n'
2022-02-08 17:31:01,349 DEBUG Event needs-retry.rds.DescribeDBInstances: calling handler <botocore.retryhandler.RetryHandler object at 0x118cde7d0>
2022-02-08 17:31:01,349 DEBUG No retry needed.
2022-02-08 17:31:01,349 INFO {"Status-": "creating"}
2022-02-08 17:31:06,352 DEBUG Event before-parameter-build.rds.DescribeDBInstances: calling handler <function generate_idempotent_uuid at 0x10e0637f0>
2022-02-08 17:31:06,353 DEBUG Event before-call.rds.DescribeDBInstances: calling handler <function inject_api_version_header_if_needed at 0x10e095090>
2022-02-08 17:31:06,353 DEBUG Making request for OperationModel(name=DescribeDBInstances) with params: {'url_path': '/', 'query_string': '', 'method': 'POST', 'headers': {'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': 'Boto3/1.20.46 Python/3.10.1 Darwin/20.3.0 Botocore/1.23.46'}, 'body': {'Action': 'DescribeDBInstances', 'Version': '2014-10-31', 'DBInstanceIdentifier': 'KhTest'}, 'url': 'https://rds.ap-south-1.amazonaws.com/', 'context': {'client_region': 'ap-south-1', 'client_config': <botocore.config.Config object at 0x118cdded0>, 'has_streaming_input': False, 'auth_type': None}}
2022-02-08 17:31:06,353 DEBUG Event request-created.rds.DescribeDBInstances: calling handler <bound method RequestSigner.handler of <botocore.signers.RequestSigner object at 0x118cdde40>>
2022-02-08 17:31:06,353 DEBUG Event choose-signer.rds.DescribeDBInstances: calling handler <function set_operation_specific_signer at 0x10e0636d0>
2022-02-08 17:31:06,354 DEBUG Calculating signature using v4 auth.
2022-02-08 17:31:06,354 DEBUG CanonicalRequest:
POST
/
content-type:application/x-www-form-urlencoded; charset=utf-8
host:rds.ap-south-1.amazonaws.com
x-amz-date:20220208T120106Z
content-type;host;x-amz-date
2b3b8b966d87481c286215c38f9f2f4529da4f4507574b8f4aab9427c6154842
2022-02-08 17:31:06,354 DEBUG StringToSign:
AWS4-HMAC-SHA256
20220208T120106Z
20220208/ap-south-1/rds/aws4_request
eaa2c0b98404dcd94d0fdb096c4d19c9214d99e1420bee5baed9b6a33b222b88
2022-02-08 17:31:06,354 DEBUG Signature:
7706f387383fccec9a8c9180396276864f171e62203107823a9fccc52eb255f7
2022-02-08 17:31:06,354 DEBUG Sending http request: <AWSPreparedRequest stream_output=False, method=POST, url=https://rds.ap-south-1.amazonaws.com/, headers={'Content-Type': b'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': b'Boto3/1.20.46 Python/3.10.1 Darwin/20.3.0 Botocore/1.23.46', 'X-Amz-Date': b'20220208T120106Z', 'Authorization': b'AWS4-HMAC-SHA256 Credential=AKIAVJ2ENV5GFATKFHH7/20220208/ap-south-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=7706f387383fccec9a8c9180396276864f171e62203107823a9fccc52eb255f7', 'Content-Length': '73'}>
2022-02-08 17:31:06,355 DEBUG Certificate path: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/certifi/cacert.pem
2022-02-08 17:31:06,434 DEBUG https://rds.ap-south-1.amazonaws.com:443 "POST / HTTP/1.1" 200 4598
2022-02-08 17:31:06,434 DEBUG Response headers: {'x-amzn-RequestId': '9e287a14-7585-482a-b01e-411b0d72fdf0', 'Content-Type': 'text/xml', 'Content-Length': '4598', 'Date': 'Tue, 08 Feb 2022 12:01:05 GMT'}
2022-02-08 17:31:06,434 DEBUG Response body:
b'<DescribeDBInstancesResponse xmlns="http://rds.amazonaws.com/doc/2014-10-31/">\n <DescribeDBInstancesResult>\n <DBInstances>\n <DBInstance>\n <AllocatedStorage>20</AllocatedStorage>\n <AssociatedRoles/>\n <DBParameterGroups>\n <DBParameterGroup>\n <DBParameterGroupName>default.postgres9.6</DBParameterGroupName>\n <ParameterApplyStatus>in-sync</ParameterApplyStatus>\n </DBParameterGroup>\n </DBParameterGroups>\n <AvailabilityZone>ap-south-1b</AvailabilityZone>\n <DBSecurityGroups/>\n <EngineVersion>9.6.1</EngineVersion>\n <MasterUsername>khushboo</MasterUsername>\n <DBInstanceClass>db.m4.10xlarge</DBInstanceClass>\n <StorageThroughput>0</StorageThroughput>\n <HttpEndpointEnabled>false</HttpEndpointEnabled>\n <ReadReplicaDBInstanceIdentifiers/>\n <CustomerOwnedIpEnabled>false</CustomerOwnedIpEnabled>\n <MonitoringInterval>0</MonitoringInterval>\n <DBInstanceStatus>creating</DBInstanceStatus>\n <BackupRetentionPeriod>1</BackupRetentionPeriod>\n <KmsKeyId>arn:aws:kms:ap-south-1:364678852428:key/231709c2-7c94-49a5-af19-07199168dd1d</KmsKeyId>\n <OptionGroupMemberships>\n <OptionGroupMembership>\n <OptionGroupName>default:postgres-9-6</OptionGroupName>\n <Status>in-sync</Status>\n </OptionGroupMembership>\n </OptionGroupMemberships>\n <BackupTarget>region</BackupTarget>\n <CACertificateIdentifier>rds-ca-2019</CACertificateIdentifier>\n <DbInstancePort>0</DbInstancePort>\n <DbiResourceId>db-BUJY6KHDQ36N6SUXI65GC452EQ</DbiResourceId>\n <PreferredBackupWindow>23:22-23:52</PreferredBackupWindow>\n <DeletionProtection>false</DeletionProtection>\n <DBInstanceIdentifier>khtest</DBInstanceIdentifier>\n <DBInstanceArn>arn:aws:rds:ap-south-1:364678852428:db:khtest</DBInstanceArn>\n <Engine>postgres</Engine>\n <PubliclyAccessible>true</PubliclyAccessible>\n <IAMDatabaseAuthenticationEnabled>false</IAMDatabaseAuthenticationEnabled>\n <NetworkType>IPV4</NetworkType>\n <ActivityStreamStatus>stopped</ActivityStreamStatus>\n <PerformanceInsightsEnabled>false</PerformanceInsightsEnabled>\n <DBName>postgres</DBName>\n <MultiAZ>false</MultiAZ>\n <DomainMemberships/>\n <StorageEncrypted>true</StorageEncrypted>\n <DBSubnetGroup>\n <VpcId>vpc-07c09e8c7e59e4272</VpcId>\n <Subnets>\n <Subnet>\n <SubnetIdentifier>subnet-084ecee0253c0de08</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1a</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n <Subnet>\n <SubnetIdentifier>subnet-005c6e858233ebcc8</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1b</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n <Subnet>\n <SubnetIdentifier>subnet-0fe8dbbdb819ac8c9</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1c</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n </Subnets>\n <SubnetGroupStatus>Complete</SubnetGroupStatus>\n <DBSubnetGroupDescription>default</DBSubnetGroupDescription>\n <DBSubnetGroupName>default</DBSubnetGroupName>\n </DBSubnetGroup>\n <VpcSecurityGroups>\n <VpcSecurityGroupMembership>\n <VpcSecurityGroupId>sg-05c680adc3fc69fa5</VpcSecurityGroupId>\n <Status>active</Status>\n </VpcSecurityGroupMembership>\n </VpcSecurityGroups>\n <TagList/>\n <LicenseModel>postgresql-license</LicenseModel>\n <PendingModifiedValues>\n <MasterUserPassword>****</MasterUserPassword>\n </PendingModifiedValues>\n <PreferredMaintenanceWindow>thu:06:13-thu:06:43</PreferredMaintenanceWindow>\n <StorageType>gp2</StorageType>\n <AutoMinorVersionUpgrade>true</AutoMinorVersionUpgrade>\n <CopyTagsToSnapshot>false</CopyTagsToSnapshot>\n </DBInstance>\n </DBInstances>\n </DescribeDBInstancesResult>\n <ResponseMetadata>\n <RequestId>9e287a14-7585-482a-b01e-411b0d72fdf0</RequestId>\n </ResponseMetadata>\n</DescribeDBInstancesResponse>\n'
2022-02-08 17:31:06,435 DEBUG Event needs-retry.rds.DescribeDBInstances: calling handler <botocore.retryhandler.RetryHandler object at 0x118cde7d0>
2022-02-08 17:31:06,436 DEBUG No retry needed.
2022-02-08 17:31:06,436 INFO {"Status-": "creating"}
2022-02-08 17:31:11,437 DEBUG Event before-parameter-build.rds.DescribeDBInstances: calling handler <function generate_idempotent_uuid at 0x10e0637f0>
2022-02-08 17:31:11,437 DEBUG Event before-call.rds.DescribeDBInstances: calling handler <function inject_api_version_header_if_needed at 0x10e095090>
2022-02-08 17:31:11,437 DEBUG Making request for OperationModel(name=DescribeDBInstances) with params: {'url_path': '/', 'query_string': '', 'method': 'POST', 'headers': {'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': 'Boto3/1.20.46 Python/3.10.1 Darwin/20.3.0 Botocore/1.23.46'}, 'body': {'Action': 'DescribeDBInstances', 'Version': '2014-10-31', 'DBInstanceIdentifier': 'KhTest'}, 'url': 'https://rds.ap-south-1.amazonaws.com/', 'context': {'client_region': 'ap-south-1', 'client_config': <botocore.config.Config object at 0x118cdded0>, 'has_streaming_input': False, 'auth_type': None}}
2022-02-08 17:31:11,437 DEBUG Event request-created.rds.DescribeDBInstances: calling handler <bound method RequestSigner.handler of <botocore.signers.RequestSigner object at 0x118cdde40>>
2022-02-08 17:31:11,437 DEBUG Event choose-signer.rds.DescribeDBInstances: calling handler <function set_operation_specific_signer at 0x10e0636d0>
2022-02-08 17:31:11,437 DEBUG Calculating signature using v4 auth.
2022-02-08 17:31:11,437 DEBUG CanonicalRequest:
POST
/
content-type:application/x-www-form-urlencoded; charset=utf-8
host:rds.ap-south-1.amazonaws.com
x-amz-date:20220208T120111Z
content-type;host;x-amz-date
2b3b8b966d87481c286215c38f9f2f4529da4f4507574b8f4aab9427c6154842
2022-02-08 17:31:11,438 DEBUG StringToSign:
AWS4-HMAC-SHA256
20220208T120111Z
20220208/ap-south-1/rds/aws4_request
99e7a73350b5876a83a926741f056eafddaaf5069cc591037cb2c3f23754dd41
2022-02-08 17:31:11,438 DEBUG Signature:
e320a9778320b8ab65a10355e8c6f5577c64497b6d015bf9b5104face415b8f5
2022-02-08 17:31:11,438 DEBUG Sending http request: <AWSPreparedRequest stream_output=False, method=POST, url=https://rds.ap-south-1.amazonaws.com/, headers={'Content-Type': b'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': b'Boto3/1.20.46 Python/3.10.1 Darwin/20.3.0 Botocore/1.23.46', 'X-Amz-Date': b'20220208T120111Z', 'Authorization': b'AWS4-HMAC-SHA256 Credential=AKIAVJ2ENV5GFATKFHH7/20220208/ap-south-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=e320a9778320b8ab65a10355e8c6f5577c64497b6d015bf9b5104face415b8f5', 'Content-Length': '73'}>
2022-02-08 17:31:11,438 DEBUG Certificate path: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/certifi/cacert.pem
2022-02-08 17:31:11,523 DEBUG https://rds.ap-south-1.amazonaws.com:443 "POST / HTTP/1.1" 200 4598
2022-02-08 17:31:11,523 DEBUG Response headers: {'x-amzn-RequestId': '4a8c2ada-57b1-4c6a-834e-68fd9d462215', 'Content-Type': 'text/xml', 'Content-Length': '4598', 'Date': 'Tue, 08 Feb 2022 12:01:10 GMT'}
2022-02-08 17:31:11,523 DEBUG Response body:
b'<DescribeDBInstancesResponse xmlns="http://rds.amazonaws.com/doc/2014-10-31/">\n <DescribeDBInstancesResult>\n <DBInstances>\n <DBInstance>\n <AllocatedStorage>20</AllocatedStorage>\n <AssociatedRoles/>\n <DBParameterGroups>\n <DBParameterGroup>\n <DBParameterGroupName>default.postgres9.6</DBParameterGroupName>\n <ParameterApplyStatus>in-sync</ParameterApplyStatus>\n </DBParameterGroup>\n </DBParameterGroups>\n <AvailabilityZone>ap-south-1b</AvailabilityZone>\n <DBSecurityGroups/>\n <EngineVersion>9.6.1</EngineVersion>\n <MasterUsername>khushboo</MasterUsername>\n <DBInstanceClass>db.m4.10xlarge</DBInstanceClass>\n <StorageThroughput>0</StorageThroughput>\n <HttpEndpointEnabled>false</HttpEndpointEnabled>\n <ReadReplicaDBInstanceIdentifiers/>\n <CustomerOwnedIpEnabled>false</CustomerOwnedIpEnabled>\n <MonitoringInterval>0</MonitoringInterval>\n <DBInstanceStatus>creating</DBInstanceStatus>\n <BackupRetentionPeriod>1</BackupRetentionPeriod>\n <KmsKeyId>arn:aws:kms:ap-south-1:364678852428:key/231709c2-7c94-49a5-af19-07199168dd1d</KmsKeyId>\n <OptionGroupMemberships>\n <OptionGroupMembership>\n <OptionGroupName>default:postgres-9-6</OptionGroupName>\n <Status>in-sync</Status>\n </OptionGroupMembership>\n </OptionGroupMemberships>\n <BackupTarget>region</BackupTarget>\n <CACertificateIdentifier>rds-ca-2019</CACertificateIdentifier>\n <DbInstancePort>0</DbInstancePort>\n <DbiResourceId>db-BUJY6KHDQ36N6SUXI65GC452EQ</DbiResourceId>\n <PreferredBackupWindow>23:22-23:52</PreferredBackupWindow>\n <DeletionProtection>false</DeletionProtection>\n <DBInstanceIdentifier>khtest</DBInstanceIdentifier>\n <DBInstanceArn>arn:aws:rds:ap-south-1:364678852428:db:khtest</DBInstanceArn>\n <Engine>postgres</Engine>\n <PubliclyAccessible>true</PubliclyAccessible>\n <IAMDatabaseAuthenticationEnabled>false</IAMDatabaseAuthenticationEnabled>\n <NetworkType>IPV4</NetworkType>\n <ActivityStreamStatus>stopped</ActivityStreamStatus>\n <PerformanceInsightsEnabled>false</PerformanceInsightsEnabled>\n <DBName>postgres</DBName>\n <MultiAZ>false</MultiAZ>\n <DomainMemberships/>\n <StorageEncrypted>true</StorageEncrypted>\n <DBSubnetGroup>\n <VpcId>vpc-07c09e8c7e59e4272</VpcId>\n <Subnets>\n <Subnet>\n <SubnetIdentifier>subnet-084ecee0253c0de08</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1a</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n <Subnet>\n <SubnetIdentifier>subnet-005c6e858233ebcc8</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1b</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n <Subnet>\n <SubnetIdentifier>subnet-0fe8dbbdb819ac8c9</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1c</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n </Subnets>\n <SubnetGroupStatus>Complete</SubnetGroupStatus>\n <DBSubnetGroupDescription>default</DBSubnetGroupDescription>\n <DBSubnetGroupName>default</DBSubnetGroupName>\n </DBSubnetGroup>\n <VpcSecurityGroups>\n <VpcSecurityGroupMembership>\n <VpcSecurityGroupId>sg-05c680adc3fc69fa5</VpcSecurityGroupId>\n <Status>active</Status>\n </VpcSecurityGroupMembership>\n </VpcSecurityGroups>\n <TagList/>\n <LicenseModel>postgresql-license</LicenseModel>\n <PendingModifiedValues>\n <MasterUserPassword>****</MasterUserPassword>\n </PendingModifiedValues>\n <PreferredMaintenanceWindow>thu:06:13-thu:06:43</PreferredMaintenanceWindow>\n <StorageType>gp2</StorageType>\n <AutoMinorVersionUpgrade>true</AutoMinorVersionUpgrade>\n <CopyTagsToSnapshot>false</CopyTagsToSnapshot>\n </DBInstance>\n </DBInstances>\n </DescribeDBInstancesResult>\n <ResponseMetadata>\n <RequestId>4a8c2ada-57b1-4c6a-834e-68fd9d462215</RequestId>\n </ResponseMetadata>\n</DescribeDBInstancesResponse>\n'
2022-02-08 17:31:11,524 DEBUG Event needs-retry.rds.DescribeDBInstances: calling handler <botocore.retryhandler.RetryHandler object at 0x118cde7d0>
2022-02-08 17:31:11,524 DEBUG No retry needed.
2022-02-08 17:31:11,524 INFO {"Status-": "creating"}
2022-02-08 17:31:16,527 DEBUG Event before-parameter-build.rds.DescribeDBInstances: calling handler <function generate_idempotent_uuid at 0x10e0637f0>
2022-02-08 17:31:16,527 DEBUG Event before-call.rds.DescribeDBInstances: calling handler <function inject_api_version_header_if_needed at 0x10e095090>
2022-02-08 17:31:16,527 DEBUG Making request for OperationModel(name=DescribeDBInstances) with params: {'url_path': '/', 'query_string': '', 'method': 'POST', 'headers': {'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': 'Boto3/1.20.46 Python/3.10.1 Darwin/20.3.0 Botocore/1.23.46'}, 'body': {'Action': 'DescribeDBInstances', 'Version': '2014-10-31', 'DBInstanceIdentifier': 'KhTest'}, 'url': 'https://rds.ap-south-1.amazonaws.com/', 'context': {'client_region': 'ap-south-1', 'client_config': <botocore.config.Config object at 0x118cdded0>, 'has_streaming_input': False, 'auth_type': None}}
2022-02-08 17:31:16,527 DEBUG Event request-created.rds.DescribeDBInstances: calling handler <bound method RequestSigner.handler of <botocore.signers.RequestSigner object at 0x118cdde40>>
2022-02-08 17:31:16,528 DEBUG Event choose-signer.rds.DescribeDBInstances: calling handler <function set_operation_specific_signer at 0x10e0636d0>
2022-02-08 17:31:16,528 DEBUG Calculating signature using v4 auth.
2022-02-08 17:31:16,528 DEBUG CanonicalRequest:
POST
/
content-type:application/x-www-form-urlencoded; charset=utf-8
host:rds.ap-south-1.amazonaws.com
x-amz-date:20220208T120116Z
content-type;host;x-amz-date
2b3b8b966d87481c286215c38f9f2f4529da4f4507574b8f4aab9427c6154842
2022-02-08 17:31:16,528 DEBUG StringToSign:
AWS4-HMAC-SHA256
20220208T120116Z
20220208/ap-south-1/rds/aws4_request
883251b10e05a2130872aaff6fb363fc2a8797ecd52a3c3998d14769941a45f6
2022-02-08 17:31:16,528 DEBUG Signature:
0567e1eedf8ccf1e46ecde8ca28c72ebd4a8bbfc702f4e882f303e1e1f99d70b
2022-02-08 17:31:16,529 DEBUG Sending http request: <AWSPreparedRequest stream_output=False, method=POST, url=https://rds.ap-south-1.amazonaws.com/, headers={'Content-Type': b'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': b'Boto3/1.20.46 Python/3.10.1 Darwin/20.3.0 Botocore/1.23.46', 'X-Amz-Date': b'20220208T120116Z', 'Authorization': b'AWS4-HMAC-SHA256 Credential=AKIAVJ2ENV5GFATKFHH7/20220208/ap-south-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=0567e1eedf8ccf1e46ecde8ca28c72ebd4a8bbfc702f4e882f303e1e1f99d70b', 'Content-Length': '73'}>
2022-02-08 17:31:16,529 DEBUG Certificate path: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/certifi/cacert.pem
2022-02-08 17:31:16,605 DEBUG https://rds.ap-south-1.amazonaws.com:443 "POST / HTTP/1.1" 200 4598
2022-02-08 17:31:16,605 DEBUG Response headers: {'x-amzn-RequestId': '83396a88-3c6f-420a-97ad-e6fb95221af8', 'Content-Type': 'text/xml', 'Content-Length': '4598', 'Date': 'Tue, 08 Feb 2022 12:01:15 GMT'}
2022-02-08 17:31:16,606 DEBUG Response body:
b'<DescribeDBInstancesResponse xmlns="http://rds.amazonaws.com/doc/2014-10-31/">\n <DescribeDBInstancesResult>\n <DBInstances>\n <DBInstance>\n <AllocatedStorage>20</AllocatedStorage>\n <AssociatedRoles/>\n <DBParameterGroups>\n <DBParameterGroup>\n <DBParameterGroupName>default.postgres9.6</DBParameterGroupName>\n <ParameterApplyStatus>in-sync</ParameterApplyStatus>\n </DBParameterGroup>\n </DBParameterGroups>\n <AvailabilityZone>ap-south-1b</AvailabilityZone>\n <DBSecurityGroups/>\n <EngineVersion>9.6.1</EngineVersion>\n <MasterUsername>khushboo</MasterUsername>\n <DBInstanceClass>db.m4.10xlarge</DBInstanceClass>\n <StorageThroughput>0</StorageThroughput>\n <HttpEndpointEnabled>false</HttpEndpointEnabled>\n <ReadReplicaDBInstanceIdentifiers/>\n <CustomerOwnedIpEnabled>false</CustomerOwnedIpEnabled>\n <MonitoringInterval>0</MonitoringInterval>\n <DBInstanceStatus>creating</DBInstanceStatus>\n <BackupRetentionPeriod>1</BackupRetentionPeriod>\n <KmsKeyId>arn:aws:kms:ap-south-1:364678852428:key/231709c2-7c94-49a5-af19-07199168dd1d</KmsKeyId>\n <OptionGroupMemberships>\n <OptionGroupMembership>\n <OptionGroupName>default:postgres-9-6</OptionGroupName>\n <Status>in-sync</Status>\n </OptionGroupMembership>\n </OptionGroupMemberships>\n <BackupTarget>region</BackupTarget>\n <CACertificateIdentifier>rds-ca-2019</CACertificateIdentifier>\n <DbInstancePort>0</DbInstancePort>\n <DbiResourceId>db-BUJY6KHDQ36N6SUXI65GC452EQ</DbiResourceId>\n <PreferredBackupWindow>23:22-23:52</PreferredBackupWindow>\n <DeletionProtection>false</DeletionProtection>\n <DBInstanceIdentifier>khtest</DBInstanceIdentifier>\n <DBInstanceArn>arn:aws:rds:ap-south-1:364678852428:db:khtest</DBInstanceArn>\n <Engine>postgres</Engine>\n <PubliclyAccessible>true</PubliclyAccessible>\n <IAMDatabaseAuthenticationEnabled>false</IAMDatabaseAuthenticationEnabled>\n <NetworkType>IPV4</NetworkType>\n <ActivityStreamStatus>stopped</ActivityStreamStatus>\n <PerformanceInsightsEnabled>false</PerformanceInsightsEnabled>\n <DBName>postgres</DBName>\n <MultiAZ>false</MultiAZ>\n <DomainMemberships/>\n <StorageEncrypted>true</StorageEncrypted>\n <DBSubnetGroup>\n <VpcId>vpc-07c09e8c7e59e4272</VpcId>\n <Subnets>\n <Subnet>\n <SubnetIdentifier>subnet-084ecee0253c0de08</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1a</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n <Subnet>\n <SubnetIdentifier>subnet-005c6e858233ebcc8</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1b</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n <Subnet>\n <SubnetIdentifier>subnet-0fe8dbbdb819ac8c9</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1c</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n </Subnets>\n <SubnetGroupStatus>Complete</SubnetGroupStatus>\n <DBSubnetGroupDescription>default</DBSubnetGroupDescription>\n <DBSubnetGroupName>default</DBSubnetGroupName>\n </DBSubnetGroup>\n <VpcSecurityGroups>\n <VpcSecurityGroupMembership>\n <VpcSecurityGroupId>sg-05c680adc3fc69fa5</VpcSecurityGroupId>\n <Status>active</Status>\n </VpcSecurityGroupMembership>\n </VpcSecurityGroups>\n <TagList/>\n <LicenseModel>postgresql-license</LicenseModel>\n <PendingModifiedValues>\n <MasterUserPassword>****</MasterUserPassword>\n </PendingModifiedValues>\n <PreferredMaintenanceWindow>thu:06:13-thu:06:43</PreferredMaintenanceWindow>\n <StorageType>gp2</StorageType>\n <AutoMinorVersionUpgrade>true</AutoMinorVersionUpgrade>\n <CopyTagsToSnapshot>false</CopyTagsToSnapshot>\n </DBInstance>\n </DBInstances>\n </DescribeDBInstancesResult>\n <ResponseMetadata>\n <RequestId>83396a88-3c6f-420a-97ad-e6fb95221af8</RequestId>\n </ResponseMetadata>\n</DescribeDBInstancesResponse>\n'
2022-02-08 17:31:16,606 DEBUG Event needs-retry.rds.DescribeDBInstances: calling handler <botocore.retryhandler.RetryHandler object at 0x118cde7d0>
2022-02-08 17:31:16,607 DEBUG No retry needed.
2022-02-08 17:31:16,607 INFO {"Status-": "creating"}
2022-02-08 17:31:21,610 DEBUG Event before-parameter-build.rds.DescribeDBInstances: calling handler <function generate_idempotent_uuid at 0x10e0637f0>
2022-02-08 17:31:21,611 DEBUG Event before-call.rds.DescribeDBInstances: calling handler <function inject_api_version_header_if_needed at 0x10e095090>
2022-02-08 17:31:21,611 DEBUG Making request for OperationModel(name=DescribeDBInstances) with params: {'url_path': '/', 'query_string': '', 'method': 'POST', 'headers': {'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': 'Boto3/1.20.46 Python/3.10.1 Darwin/20.3.0 Botocore/1.23.46'}, 'body': {'Action': 'DescribeDBInstances', 'Version': '2014-10-31', 'DBInstanceIdentifier': 'KhTest'}, 'url': 'https://rds.ap-south-1.amazonaws.com/', 'context': {'client_region': 'ap-south-1', 'client_config': <botocore.config.Config object at 0x118cdded0>, 'has_streaming_input': False, 'auth_type': None}}
2022-02-08 17:31:21,611 DEBUG Event request-created.rds.DescribeDBInstances: calling handler <bound method RequestSigner.handler of <botocore.signers.RequestSigner object at 0x118cdde40>>
2022-02-08 17:31:21,611 DEBUG Event choose-signer.rds.DescribeDBInstances: calling handler <function set_operation_specific_signer at 0x10e0636d0>
2022-02-08 17:31:21,611 DEBUG Calculating signature using v4 auth.
2022-02-08 17:31:21,612 DEBUG CanonicalRequest:
POST
/
content-type:application/x-www-form-urlencoded; charset=utf-8
host:rds.ap-south-1.amazonaws.com
x-amz-date:20220208T120121Z
content-type;host;x-amz-date
2b3b8b966d87481c286215c38f9f2f4529da4f4507574b8f4aab9427c6154842
2022-02-08 17:31:21,612 DEBUG StringToSign:
AWS4-HMAC-SHA256
20220208T120121Z
20220208/ap-south-1/rds/aws4_request
02a0dcfd669636e5821dc284a064262851fb5c17b0ace509ea96f66418099c14
2022-02-08 17:31:21,612 DEBUG Signature:
bfc4cae17032dad4d27b52fbb66cdfa2de76135f821ebf6337a65d9d3b214b11
2022-02-08 17:31:21,612 DEBUG Sending http request: <AWSPreparedRequest stream_output=False, method=POST, url=https://rds.ap-south-1.amazonaws.com/, headers={'Content-Type': b'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': b'Boto3/1.20.46 Python/3.10.1 Darwin/20.3.0 Botocore/1.23.46', 'X-Amz-Date': b'20220208T120121Z', 'Authorization': b'AWS4-HMAC-SHA256 Credential=AKIAVJ2ENV5GFATKFHH7/20220208/ap-south-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=bfc4cae17032dad4d27b52fbb66cdfa2de76135f821ebf6337a65d9d3b214b11', 'Content-Length': '73'}>
2022-02-08 17:31:21,612 DEBUG Certificate path: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/certifi/cacert.pem
2022-02-08 17:31:21,699 DEBUG https://rds.ap-south-1.amazonaws.com:443 "POST / HTTP/1.1" 200 4598
2022-02-08 17:31:21,700 DEBUG Response headers: {'x-amzn-RequestId': 'e1d3320a-ec59-43b7-ae7b-efba3bda4dde', 'Content-Type': 'text/xml', 'Content-Length': '4598', 'Date': 'Tue, 08 Feb 2022 12:01:21 GMT'}
2022-02-08 17:31:21,700 DEBUG Response body:
b'<DescribeDBInstancesResponse xmlns="http://rds.amazonaws.com/doc/2014-10-31/">\n <DescribeDBInstancesResult>\n <DBInstances>\n <DBInstance>\n <AllocatedStorage>20</AllocatedStorage>\n <AssociatedRoles/>\n <DBParameterGroups>\n <DBParameterGroup>\n <DBParameterGroupName>default.postgres9.6</DBParameterGroupName>\n <ParameterApplyStatus>in-sync</ParameterApplyStatus>\n </DBParameterGroup>\n </DBParameterGroups>\n <AvailabilityZone>ap-south-1b</AvailabilityZone>\n <DBSecurityGroups/>\n <EngineVersion>9.6.1</EngineVersion>\n <MasterUsername>khushboo</MasterUsername>\n <DBInstanceClass>db.m4.10xlarge</DBInstanceClass>\n <StorageThroughput>0</StorageThroughput>\n <HttpEndpointEnabled>false</HttpEndpointEnabled>\n <ReadReplicaDBInstanceIdentifiers/>\n <CustomerOwnedIpEnabled>false</CustomerOwnedIpEnabled>\n <MonitoringInterval>0</MonitoringInterval>\n <DBInstanceStatus>creating</DBInstanceStatus>\n <BackupRetentionPeriod>1</BackupRetentionPeriod>\n <KmsKeyId>arn:aws:kms:ap-south-1:364678852428:key/231709c2-7c94-49a5-af19-07199168dd1d</KmsKeyId>\n <OptionGroupMemberships>\n <OptionGroupMembership>\n <OptionGroupName>default:postgres-9-6</OptionGroupName>\n <Status>in-sync</Status>\n </OptionGroupMembership>\n </OptionGroupMemberships>\n <BackupTarget>region</BackupTarget>\n <CACertificateIdentifier>rds-ca-2019</CACertificateIdentifier>\n <DbInstancePort>0</DbInstancePort>\n <DbiResourceId>db-BUJY6KHDQ36N6SUXI65GC452EQ</DbiResourceId>\n <PreferredBackupWindow>23:22-23:52</PreferredBackupWindow>\n <DeletionProtection>false</DeletionProtection>\n <DBInstanceIdentifier>khtest</DBInstanceIdentifier>\n <DBInstanceArn>arn:aws:rds:ap-south-1:364678852428:db:khtest</DBInstanceArn>\n <Engine>postgres</Engine>\n <PubliclyAccessible>true</PubliclyAccessible>\n <IAMDatabaseAuthenticationEnabled>false</IAMDatabaseAuthenticationEnabled>\n <NetworkType>IPV4</NetworkType>\n <ActivityStreamStatus>stopped</ActivityStreamStatus>\n <PerformanceInsightsEnabled>false</PerformanceInsightsEnabled>\n <DBName>postgres</DBName>\n <MultiAZ>false</MultiAZ>\n <DomainMemberships/>\n <StorageEncrypted>true</StorageEncrypted>\n <DBSubnetGroup>\n <VpcId>vpc-07c09e8c7e59e4272</VpcId>\n <Subnets>\n <Subnet>\n <SubnetIdentifier>subnet-084ecee0253c0de08</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1a</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n <Subnet>\n <SubnetIdentifier>subnet-005c6e858233ebcc8</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1b</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n <Subnet>\n <SubnetIdentifier>subnet-0fe8dbbdb819ac8c9</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1c</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n </Subnets>\n <SubnetGroupStatus>Complete</SubnetGroupStatus>\n <DBSubnetGroupDescription>default</DBSubnetGroupDescription>\n <DBSubnetGroupName>default</DBSubnetGroupName>\n </DBSubnetGroup>\n <VpcSecurityGroups>\n <VpcSecurityGroupMembership>\n <VpcSecurityGroupId>sg-05c680adc3fc69fa5</VpcSecurityGroupId>\n <Status>active</Status>\n </VpcSecurityGroupMembership>\n </VpcSecurityGroups>\n <TagList/>\n <LicenseModel>postgresql-license</LicenseModel>\n <PendingModifiedValues>\n <MasterUserPassword>****</MasterUserPassword>\n </PendingModifiedValues>\n <PreferredMaintenanceWindow>thu:06:13-thu:06:43</PreferredMaintenanceWindow>\n <StorageType>gp2</StorageType>\n <AutoMinorVersionUpgrade>true</AutoMinorVersionUpgrade>\n <CopyTagsToSnapshot>false</CopyTagsToSnapshot>\n </DBInstance>\n </DBInstances>\n </DescribeDBInstancesResult>\n <ResponseMetadata>\n <RequestId>e1d3320a-ec59-43b7-ae7b-efba3bda4dde</RequestId>\n </ResponseMetadata>\n</DescribeDBInstancesResponse>\n'
2022-02-08 17:31:21,701 DEBUG Event needs-retry.rds.DescribeDBInstances: calling handler <botocore.retryhandler.RetryHandler object at 0x118cde7d0>
2022-02-08 17:31:21,701 DEBUG No retry needed.
2022-02-08 17:31:21,701 INFO {"Status-": "creating"}
2022-02-08 17:31:26,702 DEBUG Event before-parameter-build.rds.DescribeDBInstances: calling handler <function generate_idempotent_uuid at 0x10e0637f0>
2022-02-08 17:31:26,702 DEBUG Event before-call.rds.DescribeDBInstances: calling handler <function inject_api_version_header_if_needed at 0x10e095090>
2022-02-08 17:31:26,702 DEBUG Making request for OperationModel(name=DescribeDBInstances) with params: {'url_path': '/', 'query_string': '', 'method': 'POST', 'headers': {'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': 'Boto3/1.20.46 Python/3.10.1 Darwin/20.3.0 Botocore/1.23.46'}, 'body': {'Action': 'DescribeDBInstances', 'Version': '2014-10-31', 'DBInstanceIdentifier': 'KhTest'}, 'url': 'https://rds.ap-south-1.amazonaws.com/', 'context': {'client_region': 'ap-south-1', 'client_config': <botocore.config.Config object at 0x118cdded0>, 'has_streaming_input': False, 'auth_type': None}}
2022-02-08 17:31:26,703 DEBUG Event request-created.rds.DescribeDBInstances: calling handler <bound method RequestSigner.handler of <botocore.signers.RequestSigner object at 0x118cdde40>>
2022-02-08 17:31:26,703 DEBUG Event choose-signer.rds.DescribeDBInstances: calling handler <function set_operation_specific_signer at 0x10e0636d0>
2022-02-08 17:31:26,703 DEBUG Calculating signature using v4 auth.
2022-02-08 17:31:26,703 DEBUG CanonicalRequest:
POST
/
content-type:application/x-www-form-urlencoded; charset=utf-8
host:rds.ap-south-1.amazonaws.com
x-amz-date:20220208T120126Z
content-type;host;x-amz-date
2b3b8b966d87481c286215c38f9f2f4529da4f4507574b8f4aab9427c6154842
2022-02-08 17:31:26,703 DEBUG StringToSign:
AWS4-HMAC-SHA256
20220208T120126Z
20220208/ap-south-1/rds/aws4_request
bd3e984d9fa583b1653687159583ce77426dc3b0e9110ec353b16689d37ab4ea
2022-02-08 17:31:26,704 DEBUG Signature:
1f37ee61408eb64f3786f23d0d1c694e59dd0eb74e04a7059cc9ece57297b083
2022-02-08 17:31:26,704 DEBUG Sending http request: <AWSPreparedRequest stream_output=False, method=POST, url=https://rds.ap-south-1.amazonaws.com/, headers={'Content-Type': b'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': b'Boto3/1.20.46 Python/3.10.1 Darwin/20.3.0 Botocore/1.23.46', 'X-Amz-Date': b'20220208T120126Z', 'Authorization': b'AWS4-HMAC-SHA256 Credential=AKIAVJ2ENV5GFATKFHH7/20220208/ap-south-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=1f37ee61408eb64f3786f23d0d1c694e59dd0eb74e04a7059cc9ece57297b083', 'Content-Length': '73'}>
2022-02-08 17:31:26,704 DEBUG Certificate path: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/certifi/cacert.pem
2022-02-08 17:31:26,781 DEBUG https://rds.ap-south-1.amazonaws.com:443 "POST / HTTP/1.1" 200 4598
2022-02-08 17:31:26,781 DEBUG Response headers: {'x-amzn-RequestId': '556d65ba-118a-4aa3-98e6-072828b483ba', 'Content-Type': 'text/xml', 'Content-Length': '4598', 'Date': 'Tue, 08 Feb 2022 12:01:26 GMT'}
2022-02-08 17:31:26,781 DEBUG Response body:
b'<DescribeDBInstancesResponse xmlns="http://rds.amazonaws.com/doc/2014-10-31/">\n <DescribeDBInstancesResult>\n <DBInstances>\n <DBInstance>\n <AllocatedStorage>20</AllocatedStorage>\n <AssociatedRoles/>\n <DBParameterGroups>\n <DBParameterGroup>\n <DBParameterGroupName>default.postgres9.6</DBParameterGroupName>\n <ParameterApplyStatus>in-sync</ParameterApplyStatus>\n </DBParameterGroup>\n </DBParameterGroups>\n <AvailabilityZone>ap-south-1b</AvailabilityZone>\n <DBSecurityGroups/>\n <EngineVersion>9.6.1</EngineVersion>\n <MasterUsername>khushboo</MasterUsername>\n <DBInstanceClass>db.m4.10xlarge</DBInstanceClass>\n <StorageThroughput>0</StorageThroughput>\n <HttpEndpointEnabled>false</HttpEndpointEnabled>\n <ReadReplicaDBInstanceIdentifiers/>\n <CustomerOwnedIpEnabled>false</CustomerOwnedIpEnabled>\n <MonitoringInterval>0</MonitoringInterval>\n <DBInstanceStatus>creating</DBInstanceStatus>\n <BackupRetentionPeriod>1</BackupRetentionPeriod>\n <KmsKeyId>arn:aws:kms:ap-south-1:364678852428:key/231709c2-7c94-49a5-af19-07199168dd1d</KmsKeyId>\n <OptionGroupMemberships>\n <OptionGroupMembership>\n <OptionGroupName>default:postgres-9-6</OptionGroupName>\n <Status>in-sync</Status>\n </OptionGroupMembership>\n </OptionGroupMemberships>\n <BackupTarget>region</BackupTarget>\n <CACertificateIdentifier>rds-ca-2019</CACertificateIdentifier>\n <DbInstancePort>0</DbInstancePort>\n <DbiResourceId>db-BUJY6KHDQ36N6SUXI65GC452EQ</DbiResourceId>\n <PreferredBackupWindow>23:22-23:52</PreferredBackupWindow>\n <DeletionProtection>false</DeletionProtection>\n <DBInstanceIdentifier>khtest</DBInstanceIdentifier>\n <DBInstanceArn>arn:aws:rds:ap-south-1:364678852428:db:khtest</DBInstanceArn>\n <Engine>postgres</Engine>\n <PubliclyAccessible>true</PubliclyAccessible>\n <IAMDatabaseAuthenticationEnabled>false</IAMDatabaseAuthenticationEnabled>\n <NetworkType>IPV4</NetworkType>\n <ActivityStreamStatus>stopped</ActivityStreamStatus>\n <PerformanceInsightsEnabled>false</PerformanceInsightsEnabled>\n <DBName>postgres</DBName>\n <MultiAZ>false</MultiAZ>\n <DomainMemberships/>\n <StorageEncrypted>true</StorageEncrypted>\n <DBSubnetGroup>\n <VpcId>vpc-07c09e8c7e59e4272</VpcId>\n <Subnets>\n <Subnet>\n <SubnetIdentifier>subnet-084ecee0253c0de08</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1a</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n <Subnet>\n <SubnetIdentifier>subnet-005c6e858233ebcc8</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1b</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n <Subnet>\n <SubnetIdentifier>subnet-0fe8dbbdb819ac8c9</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1c</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n </Subnets>\n <SubnetGroupStatus>Complete</SubnetGroupStatus>\n <DBSubnetGroupDescription>default</DBSubnetGroupDescription>\n <DBSubnetGroupName>default</DBSubnetGroupName>\n </DBSubnetGroup>\n <VpcSecurityGroups>\n <VpcSecurityGroupMembership>\n <VpcSecurityGroupId>sg-05c680adc3fc69fa5</VpcSecurityGroupId>\n <Status>active</Status>\n </VpcSecurityGroupMembership>\n </VpcSecurityGroups>\n <TagList/>\n <LicenseModel>postgresql-license</LicenseModel>\n <PendingModifiedValues>\n <MasterUserPassword>****</MasterUserPassword>\n </PendingModifiedValues>\n <PreferredMaintenanceWindow>thu:06:13-thu:06:43</PreferredMaintenanceWindow>\n <StorageType>gp2</StorageType>\n <AutoMinorVersionUpgrade>true</AutoMinorVersionUpgrade>\n <CopyTagsToSnapshot>false</CopyTagsToSnapshot>\n </DBInstance>\n </DBInstances>\n </DescribeDBInstancesResult>\n <ResponseMetadata>\n <RequestId>556d65ba-118a-4aa3-98e6-072828b483ba</RequestId>\n </ResponseMetadata>\n</DescribeDBInstancesResponse>\n'
2022-02-08 17:31:26,782 DEBUG Event needs-retry.rds.DescribeDBInstances: calling handler <botocore.retryhandler.RetryHandler object at 0x118cde7d0>
2022-02-08 17:31:26,782 DEBUG No retry needed.
2022-02-08 17:31:26,782 INFO {"Status-": "creating"}
2022-02-08 17:31:31,785 DEBUG Event before-parameter-build.rds.DescribeDBInstances: calling handler <function generate_idempotent_uuid at 0x10e0637f0>
2022-02-08 17:31:31,786 DEBUG Event before-call.rds.DescribeDBInstances: calling handler <function inject_api_version_header_if_needed at 0x10e095090>
2022-02-08 17:31:31,786 DEBUG Making request for OperationModel(name=DescribeDBInstances) with params: {'url_path': '/', 'query_string': '', 'method': 'POST', 'headers': {'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': 'Boto3/1.20.46 Python/3.10.1 Darwin/20.3.0 Botocore/1.23.46'}, 'body': {'Action': 'DescribeDBInstances', 'Version': '2014-10-31', 'DBInstanceIdentifier': 'KhTest'}, 'url': 'https://rds.ap-south-1.amazonaws.com/', 'context': {'client_region': 'ap-south-1', 'client_config': <botocore.config.Config object at 0x118cdded0>, 'has_streaming_input': False, 'auth_type': None}}
2022-02-08 17:31:31,786 DEBUG Event request-created.rds.DescribeDBInstances: calling handler <bound method RequestSigner.handler of <botocore.signers.RequestSigner object at 0x118cdde40>>
2022-02-08 17:31:31,786 DEBUG Event choose-signer.rds.DescribeDBInstances: calling handler <function set_operation_specific_signer at 0x10e0636d0>
2022-02-08 17:31:31,787 DEBUG Calculating signature using v4 auth.
2022-02-08 17:31:31,787 DEBUG CanonicalRequest:
POST
/
content-type:application/x-www-form-urlencoded; charset=utf-8
host:rds.ap-south-1.amazonaws.com
x-amz-date:20220208T120131Z
content-type;host;x-amz-date
2b3b8b966d87481c286215c38f9f2f4529da4f4507574b8f4aab9427c6154842
2022-02-08 17:31:31,787 DEBUG StringToSign:
AWS4-HMAC-SHA256
20220208T120131Z
20220208/ap-south-1/rds/aws4_request
592682804e3e4268328e97867ca885e458c83c0b4d4450b6efaabfd76a3026f4
2022-02-08 17:31:31,787 DEBUG Signature:
a97e0ed9eb48a79374e62d4010946411b4ac94d55106438e98245095f229e6b4
2022-02-08 17:31:31,787 DEBUG Sending http request: <AWSPreparedRequest stream_output=False, method=POST, url=https://rds.ap-south-1.amazonaws.com/, headers={'Content-Type': b'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': b'Boto3/1.20.46 Python/3.10.1 Darwin/20.3.0 Botocore/1.23.46', 'X-Amz-Date': b'20220208T120131Z', 'Authorization': b'AWS4-HMAC-SHA256 Credential=AKIAVJ2ENV5GFATKFHH7/20220208/ap-south-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=a97e0ed9eb48a79374e62d4010946411b4ac94d55106438e98245095f229e6b4', 'Content-Length': '73'}>
2022-02-08 17:31:31,787 DEBUG Certificate path: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/certifi/cacert.pem
2022-02-08 17:31:31,854 DEBUG https://rds.ap-south-1.amazonaws.com:443 "POST / HTTP/1.1" 200 4598
2022-02-08 17:31:31,854 DEBUG Response headers: {'x-amzn-RequestId': '0b733ef2-caf8-4501-9103-0432a613e698', 'Content-Type': 'text/xml', 'Content-Length': '4598', 'Date': 'Tue, 08 Feb 2022 12:01:31 GMT'}
2022-02-08 17:31:31,854 DEBUG Response body:
b'<DescribeDBInstancesResponse xmlns="http://rds.amazonaws.com/doc/2014-10-31/">\n <DescribeDBInstancesResult>\n <DBInstances>\n <DBInstance>\n <AllocatedStorage>20</AllocatedStorage>\n <AssociatedRoles/>\n <DBParameterGroups>\n <DBParameterGroup>\n <DBParameterGroupName>default.postgres9.6</DBParameterGroupName>\n <ParameterApplyStatus>in-sync</ParameterApplyStatus>\n </DBParameterGroup>\n </DBParameterGroups>\n <AvailabilityZone>ap-south-1b</AvailabilityZone>\n <DBSecurityGroups/>\n <EngineVersion>9.6.1</EngineVersion>\n <MasterUsername>khushboo</MasterUsername>\n <DBInstanceClass>db.m4.10xlarge</DBInstanceClass>\n <StorageThroughput>0</StorageThroughput>\n <HttpEndpointEnabled>false</HttpEndpointEnabled>\n <ReadReplicaDBInstanceIdentifiers/>\n <CustomerOwnedIpEnabled>false</CustomerOwnedIpEnabled>\n <MonitoringInterval>0</MonitoringInterval>\n <DBInstanceStatus>creating</DBInstanceStatus>\n <BackupRetentionPeriod>1</BackupRetentionPeriod>\n <KmsKeyId>arn:aws:kms:ap-south-1:364678852428:key/231709c2-7c94-49a5-af19-07199168dd1d</KmsKeyId>\n <OptionGroupMemberships>\n <OptionGroupMembership>\n <OptionGroupName>default:postgres-9-6</OptionGroupName>\n <Status>in-sync</Status>\n </OptionGroupMembership>\n </OptionGroupMemberships>\n <BackupTarget>region</BackupTarget>\n <CACertificateIdentifier>rds-ca-2019</CACertificateIdentifier>\n <DbInstancePort>0</DbInstancePort>\n <DbiResourceId>db-BUJY6KHDQ36N6SUXI65GC452EQ</DbiResourceId>\n <PreferredBackupWindow>23:22-23:52</PreferredBackupWindow>\n <DeletionProtection>false</DeletionProtection>\n <DBInstanceIdentifier>khtest</DBInstanceIdentifier>\n <DBInstanceArn>arn:aws:rds:ap-south-1:364678852428:db:khtest</DBInstanceArn>\n <Engine>postgres</Engine>\n <PubliclyAccessible>true</PubliclyAccessible>\n <IAMDatabaseAuthenticationEnabled>false</IAMDatabaseAuthenticationEnabled>\n <NetworkType>IPV4</NetworkType>\n <ActivityStreamStatus>stopped</ActivityStreamStatus>\n <PerformanceInsightsEnabled>false</PerformanceInsightsEnabled>\n <DBName>postgres</DBName>\n <MultiAZ>false</MultiAZ>\n <DomainMemberships/>\n <StorageEncrypted>true</StorageEncrypted>\n <DBSubnetGroup>\n <VpcId>vpc-07c09e8c7e59e4272</VpcId>\n <Subnets>\n <Subnet>\n <SubnetIdentifier>subnet-084ecee0253c0de08</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1a</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n <Subnet>\n <SubnetIdentifier>subnet-005c6e858233ebcc8</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1b</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n <Subnet>\n <SubnetIdentifier>subnet-0fe8dbbdb819ac8c9</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1c</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n </Subnets>\n <SubnetGroupStatus>Complete</SubnetGroupStatus>\n <DBSubnetGroupDescription>default</DBSubnetGroupDescription>\n <DBSubnetGroupName>default</DBSubnetGroupName>\n </DBSubnetGroup>\n <VpcSecurityGroups>\n <VpcSecurityGroupMembership>\n <VpcSecurityGroupId>sg-05c680adc3fc69fa5</VpcSecurityGroupId>\n <Status>active</Status>\n </VpcSecurityGroupMembership>\n </VpcSecurityGroups>\n <TagList/>\n <LicenseModel>postgresql-license</LicenseModel>\n <PendingModifiedValues>\n <MasterUserPassword>****</MasterUserPassword>\n </PendingModifiedValues>\n <PreferredMaintenanceWindow>thu:06:13-thu:06:43</PreferredMaintenanceWindow>\n <StorageType>gp2</StorageType>\n <AutoMinorVersionUpgrade>true</AutoMinorVersionUpgrade>\n <CopyTagsToSnapshot>false</CopyTagsToSnapshot>\n </DBInstance>\n </DBInstances>\n </DescribeDBInstancesResult>\n <ResponseMetadata>\n <RequestId>0b733ef2-caf8-4501-9103-0432a613e698</RequestId>\n </ResponseMetadata>\n</DescribeDBInstancesResponse>\n'
2022-02-08 17:31:31,855 DEBUG Event needs-retry.rds.DescribeDBInstances: calling handler <botocore.retryhandler.RetryHandler object at 0x118cde7d0>
2022-02-08 17:31:31,856 DEBUG No retry needed.
2022-02-08 17:31:31,856 INFO {"Status-": "creating"}
2022-02-08 17:31:36,859 DEBUG Event before-parameter-build.rds.DescribeDBInstances: calling handler <function generate_idempotent_uuid at 0x10e0637f0>
2022-02-08 17:31:36,859 DEBUG Event before-call.rds.DescribeDBInstances: calling handler <function inject_api_version_header_if_needed at 0x10e095090>
2022-02-08 17:31:36,860 DEBUG Making request for OperationModel(name=DescribeDBInstances) with params: {'url_path': '/', 'query_string': '', 'method': 'POST', 'headers': {'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': 'Boto3/1.20.46 Python/3.10.1 Darwin/20.3.0 Botocore/1.23.46'}, 'body': {'Action': 'DescribeDBInstances', 'Version': '2014-10-31', 'DBInstanceIdentifier': 'KhTest'}, 'url': 'https://rds.ap-south-1.amazonaws.com/', 'context': {'client_region': 'ap-south-1', 'client_config': <botocore.config.Config object at 0x118cdded0>, 'has_streaming_input': False, 'auth_type': None}}
2022-02-08 17:31:36,860 DEBUG Event request-created.rds.DescribeDBInstances: calling handler <bound method RequestSigner.handler of <botocore.signers.RequestSigner object at 0x118cdde40>>
2022-02-08 17:31:36,860 DEBUG Event choose-signer.rds.DescribeDBInstances: calling handler <function set_operation_specific_signer at 0x10e0636d0>
2022-02-08 17:31:36,860 DEBUG Calculating signature using v4 auth.
2022-02-08 17:31:36,860 DEBUG CanonicalRequest:
POST
/
content-type:application/x-www-form-urlencoded; charset=utf-8
host:rds.ap-south-1.amazonaws.com
x-amz-date:20220208T120136Z
content-type;host;x-amz-date
2b3b8b966d87481c286215c38f9f2f4529da4f4507574b8f4aab9427c6154842
2022-02-08 17:31:36,860 DEBUG StringToSign:
AWS4-HMAC-SHA256
20220208T120136Z
20220208/ap-south-1/rds/aws4_request
b3e6fab45ca76e36a537317d7241d1bee90b2de0ad4290a889c0e51eced0c3e3
2022-02-08 17:31:36,860 DEBUG Signature:
17c0bf986f224b3cc16e08f9bc95a12c5e5faef1f0fded1e3dd405270854bc44
2022-02-08 17:31:36,860 DEBUG Sending http request: <AWSPreparedRequest stream_output=False, method=POST, url=https://rds.ap-south-1.amazonaws.com/, headers={'Content-Type': b'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': b'Boto3/1.20.46 Python/3.10.1 Darwin/20.3.0 Botocore/1.23.46', 'X-Amz-Date': b'20220208T120136Z', 'Authorization': b'AWS4-HMAC-SHA256 Credential=AKIAVJ2ENV5GFATKFHH7/20220208/ap-south-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=17c0bf986f224b3cc16e08f9bc95a12c5e5faef1f0fded1e3dd405270854bc44', 'Content-Length': '73'}>
2022-02-08 17:31:36,861 DEBUG Certificate path: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/certifi/cacert.pem
2022-02-08 17:31:36,935 DEBUG https://rds.ap-south-1.amazonaws.com:443 "POST / HTTP/1.1" 200 4598
2022-02-08 17:31:36,936 DEBUG Response headers: {'x-amzn-RequestId': '5d2c1c9c-44fd-4469-8f40-ac52d182c2a7', 'Content-Type': 'text/xml', 'Content-Length': '4598', 'Date': 'Tue, 08 Feb 2022 12:01:36 GMT'}
2022-02-08 17:31:36,936 DEBUG Response body:
b'<DescribeDBInstancesResponse xmlns="http://rds.amazonaws.com/doc/2014-10-31/">\n <DescribeDBInstancesResult>\n <DBInstances>\n <DBInstance>\n <AllocatedStorage>20</AllocatedStorage>\n <AssociatedRoles/>\n <DBParameterGroups>\n <DBParameterGroup>\n <DBParameterGroupName>default.postgres9.6</DBParameterGroupName>\n <ParameterApplyStatus>in-sync</ParameterApplyStatus>\n </DBParameterGroup>\n </DBParameterGroups>\n <AvailabilityZone>ap-south-1b</AvailabilityZone>\n <DBSecurityGroups/>\n <EngineVersion>9.6.1</EngineVersion>\n <MasterUsername>khushboo</MasterUsername>\n <DBInstanceClass>db.m4.10xlarge</DBInstanceClass>\n <StorageThroughput>0</StorageThroughput>\n <HttpEndpointEnabled>false</HttpEndpointEnabled>\n <ReadReplicaDBInstanceIdentifiers/>\n <CustomerOwnedIpEnabled>false</CustomerOwnedIpEnabled>\n <MonitoringInterval>0</MonitoringInterval>\n <DBInstanceStatus>creating</DBInstanceStatus>\n <BackupRetentionPeriod>1</BackupRetentionPeriod>\n <KmsKeyId>arn:aws:kms:ap-south-1:364678852428:key/231709c2-7c94-49a5-af19-07199168dd1d</KmsKeyId>\n <OptionGroupMemberships>\n <OptionGroupMembership>\n <OptionGroupName>default:postgres-9-6</OptionGroupName>\n <Status>in-sync</Status>\n </OptionGroupMembership>\n </OptionGroupMemberships>\n <BackupTarget>region</BackupTarget>\n <CACertificateIdentifier>rds-ca-2019</CACertificateIdentifier>\n <DbInstancePort>0</DbInstancePort>\n <DbiResourceId>db-BUJY6KHDQ36N6SUXI65GC452EQ</DbiResourceId>\n <PreferredBackupWindow>23:22-23:52</PreferredBackupWindow>\n <DeletionProtection>false</DeletionProtection>\n <DBInstanceIdentifier>khtest</DBInstanceIdentifier>\n <DBInstanceArn>arn:aws:rds:ap-south-1:364678852428:db:khtest</DBInstanceArn>\n <Engine>postgres</Engine>\n <PubliclyAccessible>true</PubliclyAccessible>\n <IAMDatabaseAuthenticationEnabled>false</IAMDatabaseAuthenticationEnabled>\n <NetworkType>IPV4</NetworkType>\n <ActivityStreamStatus>stopped</ActivityStreamStatus>\n <PerformanceInsightsEnabled>false</PerformanceInsightsEnabled>\n <DBName>postgres</DBName>\n <MultiAZ>false</MultiAZ>\n <DomainMemberships/>\n <StorageEncrypted>true</StorageEncrypted>\n <DBSubnetGroup>\n <VpcId>vpc-07c09e8c7e59e4272</VpcId>\n <Subnets>\n <Subnet>\n <SubnetIdentifier>subnet-084ecee0253c0de08</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1a</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n <Subnet>\n <SubnetIdentifier>subnet-005c6e858233ebcc8</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1b</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n <Subnet>\n <SubnetIdentifier>subnet-0fe8dbbdb819ac8c9</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1c</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n </Subnets>\n <SubnetGroupStatus>Complete</SubnetGroupStatus>\n <DBSubnetGroupDescription>default</DBSubnetGroupDescription>\n <DBSubnetGroupName>default</DBSubnetGroupName>\n </DBSubnetGroup>\n <VpcSecurityGroups>\n <VpcSecurityGroupMembership>\n <VpcSecurityGroupId>sg-05c680adc3fc69fa5</VpcSecurityGroupId>\n <Status>active</Status>\n </VpcSecurityGroupMembership>\n </VpcSecurityGroups>\n <TagList/>\n <LicenseModel>postgresql-license</LicenseModel>\n <PendingModifiedValues>\n <MasterUserPassword>****</MasterUserPassword>\n </PendingModifiedValues>\n <PreferredMaintenanceWindow>thu:06:13-thu:06:43</PreferredMaintenanceWindow>\n <StorageType>gp2</StorageType>\n <AutoMinorVersionUpgrade>true</AutoMinorVersionUpgrade>\n <CopyTagsToSnapshot>false</CopyTagsToSnapshot>\n </DBInstance>\n </DBInstances>\n </DescribeDBInstancesResult>\n <ResponseMetadata>\n <RequestId>5d2c1c9c-44fd-4469-8f40-ac52d182c2a7</RequestId>\n </ResponseMetadata>\n</DescribeDBInstancesResponse>\n'
2022-02-08 17:31:36,937 DEBUG Event needs-retry.rds.DescribeDBInstances: calling handler <botocore.retryhandler.RetryHandler object at 0x118cde7d0>
2022-02-08 17:31:36,937 DEBUG No retry needed.
2022-02-08 17:31:36,937 INFO {"Status-": "creating"}
2022-02-08 17:31:41,943 DEBUG Event before-parameter-build.rds.DescribeDBInstances: calling handler <function generate_idempotent_uuid at 0x10e0637f0>
2022-02-08 17:31:41,943 DEBUG Event before-call.rds.DescribeDBInstances: calling handler <function inject_api_version_header_if_needed at 0x10e095090>
2022-02-08 17:31:41,943 DEBUG Making request for OperationModel(name=DescribeDBInstances) with params: {'url_path': '/', 'query_string': '', 'method': 'POST', 'headers': {'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': 'Boto3/1.20.46 Python/3.10.1 Darwin/20.3.0 Botocore/1.23.46'}, 'body': {'Action': 'DescribeDBInstances', 'Version': '2014-10-31', 'DBInstanceIdentifier': 'KhTest'}, 'url': 'https://rds.ap-south-1.amazonaws.com/', 'context': {'client_region': 'ap-south-1', 'client_config': <botocore.config.Config object at 0x118cdded0>, 'has_streaming_input': False, 'auth_type': None}}
2022-02-08 17:31:41,943 DEBUG Event request-created.rds.DescribeDBInstances: calling handler <bound method RequestSigner.handler of <botocore.signers.RequestSigner object at 0x118cdde40>>
2022-02-08 17:31:41,944 DEBUG Event choose-signer.rds.DescribeDBInstances: calling handler <function set_operation_specific_signer at 0x10e0636d0>
2022-02-08 17:31:41,944 DEBUG Calculating signature using v4 auth.
2022-02-08 17:31:41,944 DEBUG CanonicalRequest:
POST
/
content-type:application/x-www-form-urlencoded; charset=utf-8
host:rds.ap-south-1.amazonaws.com
x-amz-date:20220208T120141Z
content-type;host;x-amz-date
2b3b8b966d87481c286215c38f9f2f4529da4f4507574b8f4aab9427c6154842
2022-02-08 17:31:41,944 DEBUG StringToSign:
AWS4-HMAC-SHA256
20220208T120141Z
20220208/ap-south-1/rds/aws4_request
a152462276ee59facaf71234a63e433195820abe5d52f2b17e8832e1a62b9f83
2022-02-08 17:31:41,944 DEBUG Signature:
0d323695594246fc92c7364200614c202a1b0b298397a86a7f851ae968b57c1f
2022-02-08 17:31:41,945 DEBUG Sending http request: <AWSPreparedRequest stream_output=False, method=POST, url=https://rds.ap-south-1.amazonaws.com/, headers={'Content-Type': b'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': b'Boto3/1.20.46 Python/3.10.1 Darwin/20.3.0 Botocore/1.23.46', 'X-Amz-Date': b'20220208T120141Z', 'Authorization': b'AWS4-HMAC-SHA256 Credential=AKIAVJ2ENV5GFATKFHH7/20220208/ap-south-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=0d323695594246fc92c7364200614c202a1b0b298397a86a7f851ae968b57c1f', 'Content-Length': '73'}>
2022-02-08 17:31:41,945 DEBUG Certificate path: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/certifi/cacert.pem
2022-02-08 17:31:42,024 DEBUG https://rds.ap-south-1.amazonaws.com:443 "POST / HTTP/1.1" 200 4598
2022-02-08 17:31:42,025 DEBUG Response headers: {'x-amzn-RequestId': 'e1f49d41-86ed-4f2e-a844-2f98db6cfe10', 'Content-Type': 'text/xml', 'Content-Length': '4598', 'Date': 'Tue, 08 Feb 2022 12:01:41 GMT'}
2022-02-08 17:31:42,025 DEBUG Response body:
b'<DescribeDBInstancesResponse xmlns="http://rds.amazonaws.com/doc/2014-10-31/">\n <DescribeDBInstancesResult>\n <DBInstances>\n <DBInstance>\n <AllocatedStorage>20</AllocatedStorage>\n <AssociatedRoles/>\n <DBParameterGroups>\n <DBParameterGroup>\n <DBParameterGroupName>default.postgres9.6</DBParameterGroupName>\n <ParameterApplyStatus>in-sync</ParameterApplyStatus>\n </DBParameterGroup>\n </DBParameterGroups>\n <AvailabilityZone>ap-south-1b</AvailabilityZone>\n <DBSecurityGroups/>\n <EngineVersion>9.6.1</EngineVersion>\n <MasterUsername>khushboo</MasterUsername>\n <DBInstanceClass>db.m4.10xlarge</DBInstanceClass>\n <StorageThroughput>0</StorageThroughput>\n <HttpEndpointEnabled>false</HttpEndpointEnabled>\n <ReadReplicaDBInstanceIdentifiers/>\n <CustomerOwnedIpEnabled>false</CustomerOwnedIpEnabled>\n <MonitoringInterval>0</MonitoringInterval>\n <DBInstanceStatus>creating</DBInstanceStatus>\n <BackupRetentionPeriod>1</BackupRetentionPeriod>\n <KmsKeyId>arn:aws:kms:ap-south-1:364678852428:key/231709c2-7c94-49a5-af19-07199168dd1d</KmsKeyId>\n <OptionGroupMemberships>\n <OptionGroupMembership>\n <OptionGroupName>default:postgres-9-6</OptionGroupName>\n <Status>in-sync</Status>\n </OptionGroupMembership>\n </OptionGroupMemberships>\n <BackupTarget>region</BackupTarget>\n <CACertificateIdentifier>rds-ca-2019</CACertificateIdentifier>\n <DbInstancePort>0</DbInstancePort>\n <DbiResourceId>db-BUJY6KHDQ36N6SUXI65GC452EQ</DbiResourceId>\n <PreferredBackupWindow>23:22-23:52</PreferredBackupWindow>\n <DeletionProtection>false</DeletionProtection>\n <DBInstanceIdentifier>khtest</DBInstanceIdentifier>\n <DBInstanceArn>arn:aws:rds:ap-south-1:364678852428:db:khtest</DBInstanceArn>\n <Engine>postgres</Engine>\n <PubliclyAccessible>true</PubliclyAccessible>\n <IAMDatabaseAuthenticationEnabled>false</IAMDatabaseAuthenticationEnabled>\n <NetworkType>IPV4</NetworkType>\n <ActivityStreamStatus>stopped</ActivityStreamStatus>\n <PerformanceInsightsEnabled>false</PerformanceInsightsEnabled>\n <DBName>postgres</DBName>\n <MultiAZ>false</MultiAZ>\n <DomainMemberships/>\n <StorageEncrypted>true</StorageEncrypted>\n <DBSubnetGroup>\n <VpcId>vpc-07c09e8c7e59e4272</VpcId>\n <Subnets>\n <Subnet>\n <SubnetIdentifier>subnet-084ecee0253c0de08</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1a</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n <Subnet>\n <SubnetIdentifier>subnet-005c6e858233ebcc8</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1b</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n <Subnet>\n <SubnetIdentifier>subnet-0fe8dbbdb819ac8c9</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1c</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n </Subnets>\n <SubnetGroupStatus>Complete</SubnetGroupStatus>\n <DBSubnetGroupDescription>default</DBSubnetGroupDescription>\n <DBSubnetGroupName>default</DBSubnetGroupName>\n </DBSubnetGroup>\n <VpcSecurityGroups>\n <VpcSecurityGroupMembership>\n <VpcSecurityGroupId>sg-05c680adc3fc69fa5</VpcSecurityGroupId>\n <Status>active</Status>\n </VpcSecurityGroupMembership>\n </VpcSecurityGroups>\n <TagList/>\n <LicenseModel>postgresql-license</LicenseModel>\n <PendingModifiedValues>\n <MasterUserPassword>****</MasterUserPassword>\n </PendingModifiedValues>\n <PreferredMaintenanceWindow>thu:06:13-thu:06:43</PreferredMaintenanceWindow>\n <StorageType>gp2</StorageType>\n <AutoMinorVersionUpgrade>true</AutoMinorVersionUpgrade>\n <CopyTagsToSnapshot>false</CopyTagsToSnapshot>\n </DBInstance>\n </DBInstances>\n </DescribeDBInstancesResult>\n <ResponseMetadata>\n <RequestId>e1f49d41-86ed-4f2e-a844-2f98db6cfe10</RequestId>\n </ResponseMetadata>\n</DescribeDBInstancesResponse>\n'
2022-02-08 17:31:42,026 DEBUG Event needs-retry.rds.DescribeDBInstances: calling handler <botocore.retryhandler.RetryHandler object at 0x118cde7d0>
2022-02-08 17:31:42,026 DEBUG No retry needed.
2022-02-08 17:31:42,026 INFO {"Status-": "creating"}
2022-02-08 17:31:47,027 DEBUG Event before-parameter-build.rds.DescribeDBInstances: calling handler <function generate_idempotent_uuid at 0x10e0637f0>
2022-02-08 17:31:47,028 DEBUG Event before-call.rds.DescribeDBInstances: calling handler <function inject_api_version_header_if_needed at 0x10e095090>
2022-02-08 17:31:47,028 DEBUG Making request for OperationModel(name=DescribeDBInstances) with params: {'url_path': '/', 'query_string': '', 'method': 'POST', 'headers': {'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': 'Boto3/1.20.46 Python/3.10.1 Darwin/20.3.0 Botocore/1.23.46'}, 'body': {'Action': 'DescribeDBInstances', 'Version': '2014-10-31', 'DBInstanceIdentifier': 'KhTest'}, 'url': 'https://rds.ap-south-1.amazonaws.com/', 'context': {'client_region': 'ap-south-1', 'client_config': <botocore.config.Config object at 0x118cdded0>, 'has_streaming_input': False, 'auth_type': None}}
2022-02-08 17:31:47,028 DEBUG Event request-created.rds.DescribeDBInstances: calling handler <bound method RequestSigner.handler of <botocore.signers.RequestSigner object at 0x118cdde40>>
2022-02-08 17:31:47,028 DEBUG Event choose-signer.rds.DescribeDBInstances: calling handler <function set_operation_specific_signer at 0x10e0636d0>
2022-02-08 17:31:47,029 DEBUG Calculating signature using v4 auth.
2022-02-08 17:31:47,029 DEBUG CanonicalRequest:
POST
/
content-type:application/x-www-form-urlencoded; charset=utf-8
host:rds.ap-south-1.amazonaws.com
x-amz-date:20220208T120147Z
content-type;host;x-amz-date
2b3b8b966d87481c286215c38f9f2f4529da4f4507574b8f4aab9427c6154842
2022-02-08 17:31:47,029 DEBUG StringToSign:
AWS4-HMAC-SHA256
20220208T120147Z
20220208/ap-south-1/rds/aws4_request
71a0c17f8c48bbfe87f786aca6524feb0c15ee56e7682c0a8fb865813405be59
2022-02-08 17:31:47,029 DEBUG Signature:
b74607850a235dbf4f30fbed8e55e500995ba1660db34fba185f64c7f64490a4
2022-02-08 17:31:47,029 DEBUG Sending http request: <AWSPreparedRequest stream_output=False, method=POST, url=https://rds.ap-south-1.amazonaws.com/, headers={'Content-Type': b'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': b'Boto3/1.20.46 Python/3.10.1 Darwin/20.3.0 Botocore/1.23.46', 'X-Amz-Date': b'20220208T120147Z', 'Authorization': b'AWS4-HMAC-SHA256 Credential=AKIAVJ2ENV5GFATKFHH7/20220208/ap-south-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=b74607850a235dbf4f30fbed8e55e500995ba1660db34fba185f64c7f64490a4', 'Content-Length': '73'}>
2022-02-08 17:31:47,030 DEBUG Certificate path: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/certifi/cacert.pem
2022-02-08 17:31:47,114 DEBUG https://rds.ap-south-1.amazonaws.com:443 "POST / HTTP/1.1" 200 4598
2022-02-08 17:31:47,114 DEBUG Response headers: {'x-amzn-RequestId': 'b4fdcc03-c613-4ff1-a37b-3882996f80bf', 'Content-Type': 'text/xml', 'Content-Length': '4598', 'Date': 'Tue, 08 Feb 2022 12:01:46 GMT'}
2022-02-08 17:31:47,115 DEBUG Response body:
b'<DescribeDBInstancesResponse xmlns="http://rds.amazonaws.com/doc/2014-10-31/">\n <DescribeDBInstancesResult>\n <DBInstances>\n <DBInstance>\n <AllocatedStorage>20</AllocatedStorage>\n <AssociatedRoles/>\n <DBParameterGroups>\n <DBParameterGroup>\n <DBParameterGroupName>default.postgres9.6</DBParameterGroupName>\n <ParameterApplyStatus>in-sync</ParameterApplyStatus>\n </DBParameterGroup>\n </DBParameterGroups>\n <AvailabilityZone>ap-south-1b</AvailabilityZone>\n <DBSecurityGroups/>\n <EngineVersion>9.6.1</EngineVersion>\n <MasterUsername>khushboo</MasterUsername>\n <DBInstanceClass>db.m4.10xlarge</DBInstanceClass>\n <StorageThroughput>0</StorageThroughput>\n <HttpEndpointEnabled>false</HttpEndpointEnabled>\n <ReadReplicaDBInstanceIdentifiers/>\n <CustomerOwnedIpEnabled>false</CustomerOwnedIpEnabled>\n <MonitoringInterval>0</MonitoringInterval>\n <DBInstanceStatus>creating</DBInstanceStatus>\n <BackupRetentionPeriod>1</BackupRetentionPeriod>\n <KmsKeyId>arn:aws:kms:ap-south-1:364678852428:key/231709c2-7c94-49a5-af19-07199168dd1d</KmsKeyId>\n <OptionGroupMemberships>\n <OptionGroupMembership>\n <OptionGroupName>default:postgres-9-6</OptionGroupName>\n <Status>in-sync</Status>\n </OptionGroupMembership>\n </OptionGroupMemberships>\n <BackupTarget>region</BackupTarget>\n <CACertificateIdentifier>rds-ca-2019</CACertificateIdentifier>\n <DbInstancePort>0</DbInstancePort>\n <DbiResourceId>db-BUJY6KHDQ36N6SUXI65GC452EQ</DbiResourceId>\n <PreferredBackupWindow>23:22-23:52</PreferredBackupWindow>\n <DeletionProtection>false</DeletionProtection>\n <DBInstanceIdentifier>khtest</DBInstanceIdentifier>\n <DBInstanceArn>arn:aws:rds:ap-south-1:364678852428:db:khtest</DBInstanceArn>\n <Engine>postgres</Engine>\n <PubliclyAccessible>true</PubliclyAccessible>\n <IAMDatabaseAuthenticationEnabled>false</IAMDatabaseAuthenticationEnabled>\n <NetworkType>IPV4</NetworkType>\n <ActivityStreamStatus>stopped</ActivityStreamStatus>\n <PerformanceInsightsEnabled>false</PerformanceInsightsEnabled>\n <DBName>postgres</DBName>\n <MultiAZ>false</MultiAZ>\n <DomainMemberships/>\n <StorageEncrypted>true</StorageEncrypted>\n <DBSubnetGroup>\n <VpcId>vpc-07c09e8c7e59e4272</VpcId>\n <Subnets>\n <Subnet>\n <SubnetIdentifier>subnet-084ecee0253c0de08</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1a</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n <Subnet>\n <SubnetIdentifier>subnet-005c6e858233ebcc8</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1b</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n <Subnet>\n <SubnetIdentifier>subnet-0fe8dbbdb819ac8c9</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1c</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n </Subnets>\n <SubnetGroupStatus>Complete</SubnetGroupStatus>\n <DBSubnetGroupDescription>default</DBSubnetGroupDescription>\n <DBSubnetGroupName>default</DBSubnetGroupName>\n </DBSubnetGroup>\n <VpcSecurityGroups>\n <VpcSecurityGroupMembership>\n <VpcSecurityGroupId>sg-05c680adc3fc69fa5</VpcSecurityGroupId>\n <Status>active</Status>\n </VpcSecurityGroupMembership>\n </VpcSecurityGroups>\n <TagList/>\n <LicenseModel>postgresql-license</LicenseModel>\n <PendingModifiedValues>\n <MasterUserPassword>****</MasterUserPassword>\n </PendingModifiedValues>\n <PreferredMaintenanceWindow>thu:06:13-thu:06:43</PreferredMaintenanceWindow>\n <StorageType>gp2</StorageType>\n <AutoMinorVersionUpgrade>true</AutoMinorVersionUpgrade>\n <CopyTagsToSnapshot>false</CopyTagsToSnapshot>\n </DBInstance>\n </DBInstances>\n </DescribeDBInstancesResult>\n <ResponseMetadata>\n <RequestId>b4fdcc03-c613-4ff1-a37b-3882996f80bf</RequestId>\n </ResponseMetadata>\n</DescribeDBInstancesResponse>\n'
2022-02-08 17:31:47,115 DEBUG Event needs-retry.rds.DescribeDBInstances: calling handler <botocore.retryhandler.RetryHandler object at 0x118cde7d0>
2022-02-08 17:31:47,116 DEBUG No retry needed.
2022-02-08 17:31:47,116 INFO {"Status-": "creating"}
2022-02-08 17:31:52,120 DEBUG Event before-parameter-build.rds.DescribeDBInstances: calling handler <function generate_idempotent_uuid at 0x10e0637f0>
2022-02-08 17:31:52,120 DEBUG Event before-call.rds.DescribeDBInstances: calling handler <function inject_api_version_header_if_needed at 0x10e095090>
2022-02-08 17:31:52,120 DEBUG Making request for OperationModel(name=DescribeDBInstances) with params: {'url_path': '/', 'query_string': '', 'method': 'POST', 'headers': {'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': 'Boto3/1.20.46 Python/3.10.1 Darwin/20.3.0 Botocore/1.23.46'}, 'body': {'Action': 'DescribeDBInstances', 'Version': '2014-10-31', 'DBInstanceIdentifier': 'KhTest'}, 'url': 'https://rds.ap-south-1.amazonaws.com/', 'context': {'client_region': 'ap-south-1', 'client_config': <botocore.config.Config object at 0x118cdded0>, 'has_streaming_input': False, 'auth_type': None}}
2022-02-08 17:31:52,121 DEBUG Event request-created.rds.DescribeDBInstances: calling handler <bound method RequestSigner.handler of <botocore.signers.RequestSigner object at 0x118cdde40>>
2022-02-08 17:31:52,121 DEBUG Event choose-signer.rds.DescribeDBInstances: calling handler <function set_operation_specific_signer at 0x10e0636d0>
2022-02-08 17:31:52,121 DEBUG Calculating signature using v4 auth.
2022-02-08 17:31:52,121 DEBUG CanonicalRequest:
POST
/
content-type:application/x-www-form-urlencoded; charset=utf-8
host:rds.ap-south-1.amazonaws.com
x-amz-date:20220208T120152Z
content-type;host;x-amz-date
2b3b8b966d87481c286215c38f9f2f4529da4f4507574b8f4aab9427c6154842
2022-02-08 17:31:52,121 DEBUG StringToSign:
AWS4-HMAC-SHA256
20220208T120152Z
20220208/ap-south-1/rds/aws4_request
3fe804ac8f173051cfd971e8d1afcfed27173d4f7f2896e881fead08a6784876
2022-02-08 17:31:52,121 DEBUG Signature:
9436c03558d04c2b2d8924ba6393ef6c0f806dd8bf41f5b2931b3ca2b350b254
2022-02-08 17:31:52,121 DEBUG Sending http request: <AWSPreparedRequest stream_output=False, method=POST, url=https://rds.ap-south-1.amazonaws.com/, headers={'Content-Type': b'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': b'Boto3/1.20.46 Python/3.10.1 Darwin/20.3.0 Botocore/1.23.46', 'X-Amz-Date': b'20220208T120152Z', 'Authorization': b'AWS4-HMAC-SHA256 Credential=AKIAVJ2ENV5GFATKFHH7/20220208/ap-south-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=9436c03558d04c2b2d8924ba6393ef6c0f806dd8bf41f5b2931b3ca2b350b254', 'Content-Length': '73'}>
2022-02-08 17:31:52,121 DEBUG Certificate path: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/certifi/cacert.pem
2022-02-08 17:31:52,199 DEBUG https://rds.ap-south-1.amazonaws.com:443 "POST / HTTP/1.1" 200 4598
2022-02-08 17:31:52,199 DEBUG Response headers: {'x-amzn-RequestId': '57bbe5e2-ec33-4f98-a2ed-7198e88d4cfc', 'Content-Type': 'text/xml', 'Content-Length': '4598', 'Date': 'Tue, 08 Feb 2022 12:01:51 GMT'}
2022-02-08 17:31:52,199 DEBUG Response body:
b'<DescribeDBInstancesResponse xmlns="http://rds.amazonaws.com/doc/2014-10-31/">\n <DescribeDBInstancesResult>\n <DBInstances>\n <DBInstance>\n <AllocatedStorage>20</AllocatedStorage>\n <AssociatedRoles/>\n <DBParameterGroups>\n <DBParameterGroup>\n <DBParameterGroupName>default.postgres9.6</DBParameterGroupName>\n <ParameterApplyStatus>in-sync</ParameterApplyStatus>\n </DBParameterGroup>\n </DBParameterGroups>\n <AvailabilityZone>ap-south-1b</AvailabilityZone>\n <DBSecurityGroups/>\n <EngineVersion>9.6.1</EngineVersion>\n <MasterUsername>khushboo</MasterUsername>\n <DBInstanceClass>db.m4.10xlarge</DBInstanceClass>\n <StorageThroughput>0</StorageThroughput>\n <HttpEndpointEnabled>false</HttpEndpointEnabled>\n <ReadReplicaDBInstanceIdentifiers/>\n <CustomerOwnedIpEnabled>false</CustomerOwnedIpEnabled>\n <MonitoringInterval>0</MonitoringInterval>\n <DBInstanceStatus>creating</DBInstanceStatus>\n <BackupRetentionPeriod>1</BackupRetentionPeriod>\n <KmsKeyId>arn:aws:kms:ap-south-1:364678852428:key/231709c2-7c94-49a5-af19-07199168dd1d</KmsKeyId>\n <OptionGroupMemberships>\n <OptionGroupMembership>\n <OptionGroupName>default:postgres-9-6</OptionGroupName>\n <Status>in-sync</Status>\n </OptionGroupMembership>\n </OptionGroupMemberships>\n <BackupTarget>region</BackupTarget>\n <CACertificateIdentifier>rds-ca-2019</CACertificateIdentifier>\n <DbInstancePort>0</DbInstancePort>\n <DbiResourceId>db-BUJY6KHDQ36N6SUXI65GC452EQ</DbiResourceId>\n <PreferredBackupWindow>23:22-23:52</PreferredBackupWindow>\n <DeletionProtection>false</DeletionProtection>\n <DBInstanceIdentifier>khtest</DBInstanceIdentifier>\n <DBInstanceArn>arn:aws:rds:ap-south-1:364678852428:db:khtest</DBInstanceArn>\n <Engine>postgres</Engine>\n <PubliclyAccessible>true</PubliclyAccessible>\n <IAMDatabaseAuthenticationEnabled>false</IAMDatabaseAuthenticationEnabled>\n <NetworkType>IPV4</NetworkType>\n <ActivityStreamStatus>stopped</ActivityStreamStatus>\n <PerformanceInsightsEnabled>false</PerformanceInsightsEnabled>\n <DBName>postgres</DBName>\n <MultiAZ>false</MultiAZ>\n <DomainMemberships/>\n <StorageEncrypted>true</StorageEncrypted>\n <DBSubnetGroup>\n <VpcId>vpc-07c09e8c7e59e4272</VpcId>\n <Subnets>\n <Subnet>\n <SubnetIdentifier>subnet-084ecee0253c0de08</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1a</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n <Subnet>\n <SubnetIdentifier>subnet-005c6e858233ebcc8</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1b</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n <Subnet>\n <SubnetIdentifier>subnet-0fe8dbbdb819ac8c9</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1c</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n </Subnets>\n <SubnetGroupStatus>Complete</SubnetGroupStatus>\n <DBSubnetGroupDescription>default</DBSubnetGroupDescription>\n <DBSubnetGroupName>default</DBSubnetGroupName>\n </DBSubnetGroup>\n <VpcSecurityGroups>\n <VpcSecurityGroupMembership>\n <VpcSecurityGroupId>sg-05c680adc3fc69fa5</VpcSecurityGroupId>\n <Status>active</Status>\n </VpcSecurityGroupMembership>\n </VpcSecurityGroups>\n <TagList/>\n <LicenseModel>postgresql-license</LicenseModel>\n <PendingModifiedValues>\n <MasterUserPassword>****</MasterUserPassword>\n </PendingModifiedValues>\n <PreferredMaintenanceWindow>thu:06:13-thu:06:43</PreferredMaintenanceWindow>\n <StorageType>gp2</StorageType>\n <AutoMinorVersionUpgrade>true</AutoMinorVersionUpgrade>\n <CopyTagsToSnapshot>false</CopyTagsToSnapshot>\n </DBInstance>\n </DBInstances>\n </DescribeDBInstancesResult>\n <ResponseMetadata>\n <RequestId>57bbe5e2-ec33-4f98-a2ed-7198e88d4cfc</RequestId>\n </ResponseMetadata>\n</DescribeDBInstancesResponse>\n'
2022-02-08 17:31:52,200 DEBUG Event needs-retry.rds.DescribeDBInstances: calling handler <botocore.retryhandler.RetryHandler object at 0x118cde7d0>
2022-02-08 17:31:52,200 DEBUG No retry needed.
2022-02-08 17:31:52,200 INFO {"Status-": "creating"}
2022-02-08 17:31:57,203 DEBUG Event before-parameter-build.rds.DescribeDBInstances: calling handler <function generate_idempotent_uuid at 0x10e0637f0>
2022-02-08 17:31:57,204 DEBUG Event before-call.rds.DescribeDBInstances: calling handler <function inject_api_version_header_if_needed at 0x10e095090>
2022-02-08 17:31:57,204 DEBUG Making request for OperationModel(name=DescribeDBInstances) with params: {'url_path': '/', 'query_string': '', 'method': 'POST', 'headers': {'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': 'Boto3/1.20.46 Python/3.10.1 Darwin/20.3.0 Botocore/1.23.46'}, 'body': {'Action': 'DescribeDBInstances', 'Version': '2014-10-31', 'DBInstanceIdentifier': 'KhTest'}, 'url': 'https://rds.ap-south-1.amazonaws.com/', 'context': {'client_region': 'ap-south-1', 'client_config': <botocore.config.Config object at 0x118cdded0>, 'has_streaming_input': False, 'auth_type': None}}
2022-02-08 17:31:57,204 DEBUG Event request-created.rds.DescribeDBInstances: calling handler <bound method RequestSigner.handler of <botocore.signers.RequestSigner object at 0x118cdde40>>
2022-02-08 17:31:57,204 DEBUG Event choose-signer.rds.DescribeDBInstances: calling handler <function set_operation_specific_signer at 0x10e0636d0>
2022-02-08 17:31:57,204 DEBUG Calculating signature using v4 auth.
2022-02-08 17:31:57,204 DEBUG CanonicalRequest:
POST
/
content-type:application/x-www-form-urlencoded; charset=utf-8
host:rds.ap-south-1.amazonaws.com
x-amz-date:20220208T120157Z
content-type;host;x-amz-date
2b3b8b966d87481c286215c38f9f2f4529da4f4507574b8f4aab9427c6154842
2022-02-08 17:31:57,204 DEBUG StringToSign:
AWS4-HMAC-SHA256
20220208T120157Z
20220208/ap-south-1/rds/aws4_request
707ced20e7116d22422073cde8609d04bf515913f15a688121971ac398d96aeb
2022-02-08 17:31:57,205 DEBUG Signature:
6180f4b3e86370df4f6570783a7a5bcc5a070538001741ca49849ffe316fed45
2022-02-08 17:31:57,205 DEBUG Sending http request: <AWSPreparedRequest stream_output=False, method=POST, url=https://rds.ap-south-1.amazonaws.com/, headers={'Content-Type': b'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': b'Boto3/1.20.46 Python/3.10.1 Darwin/20.3.0 Botocore/1.23.46', 'X-Amz-Date': b'20220208T120157Z', 'Authorization': b'AWS4-HMAC-SHA256 Credential=AKIAVJ2ENV5GFATKFHH7/20220208/ap-south-1/rds/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=6180f4b3e86370df4f6570783a7a5bcc5a070538001741ca49849ffe316fed45', 'Content-Length': '73'}>
2022-02-08 17:31:57,205 DEBUG Certificate path: /Users/khushboovashi/Projects/python_vm/python_rds/lib/python3.10/site-packages/certifi/cacert.pem
2022-02-08 17:31:57,278 DEBUG https://rds.ap-south-1.amazonaws.com:443 "POST / HTTP/1.1" 200 4598
2022-02-08 17:31:57,279 DEBUG Response headers: {'x-amzn-RequestId': '1ed1e7fa-a5bc-417e-841e-2fc2bebbec24', 'Content-Type': 'text/xml', 'Content-Length': '4598', 'Date': 'Tue, 08 Feb 2022 12:01:56 GMT'}
2022-02-08 17:31:57,279 DEBUG Response body:
b'<DescribeDBInstancesResponse xmlns="http://rds.amazonaws.com/doc/2014-10-31/">\n <DescribeDBInstancesResult>\n <DBInstances>\n <DBInstance>\n <AllocatedStorage>20</AllocatedStorage>\n <AssociatedRoles/>\n <DBParameterGroups>\n <DBParameterGroup>\n <DBParameterGroupName>default.postgres9.6</DBParameterGroupName>\n <ParameterApplyStatus>in-sync</ParameterApplyStatus>\n </DBParameterGroup>\n </DBParameterGroups>\n <AvailabilityZone>ap-south-1b</AvailabilityZone>\n <DBSecurityGroups/>\n <EngineVersion>9.6.1</EngineVersion>\n <MasterUsername>khushboo</MasterUsername>\n <DBInstanceClass>db.m4.10xlarge</DBInstanceClass>\n <StorageThroughput>0</StorageThroughput>\n <HttpEndpointEnabled>false</HttpEndpointEnabled>\n <ReadReplicaDBInstanceIdentifiers/>\n <CustomerOwnedIpEnabled>false</CustomerOwnedIpEnabled>\n <MonitoringInterval>0</MonitoringInterval>\n <DBInstanceStatus>creating</DBInstanceStatus>\n <BackupRetentionPeriod>1</BackupRetentionPeriod>\n <KmsKeyId>arn:aws:kms:ap-south-1:364678852428:key/231709c2-7c94-49a5-af19-07199168dd1d</KmsKeyId>\n <OptionGroupMemberships>\n <OptionGroupMembership>\n <OptionGroupName>default:postgres-9-6</OptionGroupName>\n <Status>in-sync</Status>\n </OptionGroupMembership>\n </OptionGroupMemberships>\n <BackupTarget>region</BackupTarget>\n <CACertificateIdentifier>rds-ca-2019</CACertificateIdentifier>\n <DbInstancePort>0</DbInstancePort>\n <DbiResourceId>db-BUJY6KHDQ36N6SUXI65GC452EQ</DbiResourceId>\n <PreferredBackupWindow>23:22-23:52</PreferredBackupWindow>\n <DeletionProtection>false</DeletionProtection>\n <DBInstanceIdentifier>khtest</DBInstanceIdentifier>\n <DBInstanceArn>arn:aws:rds:ap-south-1:364678852428:db:khtest</DBInstanceArn>\n <Engine>postgres</Engine>\n <PubliclyAccessible>true</PubliclyAccessible>\n <IAMDatabaseAuthenticationEnabled>false</IAMDatabaseAuthenticationEnabled>\n <NetworkType>IPV4</NetworkType>\n <ActivityStreamStatus>stopped</ActivityStreamStatus>\n <PerformanceInsightsEnabled>false</PerformanceInsightsEnabled>\n <DBName>postgres</DBName>\n <MultiAZ>false</MultiAZ>\n <DomainMemberships/>\n <StorageEncrypted>true</StorageEncrypted>\n <DBSubnetGroup>\n <VpcId>vpc-07c09e8c7e59e4272</VpcId>\n <Subnets>\n <Subnet>\n <SubnetIdentifier>subnet-084ecee0253c0de08</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1a</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n <Subnet>\n <SubnetIdentifier>subnet-005c6e858233ebcc8</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1b</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n <Subnet>\n <SubnetIdentifier>subnet-0fe8dbbdb819ac8c9</SubnetIdentifier>\n <SubnetStatus>Active</SubnetStatus>\n <SubnetOutpost/>\n <SubnetAvailabilityZone>\n <Name>ap-south-1c</Name>\n </SubnetAvailabilityZone>\n </Subnet>\n </Subnets>\n <SubnetGroupStatus>Complete</SubnetGroupStatus>\n <DBSubnetGroupDescription>default</DBSubnetGroupDescription>\n <DBSubnetGroupName>default</DBSubnetGroupName>\n </DBSubnetGroup>\n <VpcSecurityGroups>\n <VpcSecurityGroupMembership>\n <VpcSecurityGroupId>sg-05c680adc3fc69fa5</VpcSecurityGroupId>\n <Status>active</Status>\n </VpcSecurityGroupMembership>\n </VpcSecurityGroups>\n <TagList/>\n <LicenseModel>postgresql-license</LicenseModel>\n <PendingModifiedValues>\n <MasterUserPassword>****</MasterUserPassword>\n </PendingModifiedValues>\n <PreferredMaintenanceWindow>thu:06:13-thu:06:43</PreferredMaintenanceWindow>\n <StorageType>gp2</StorageType>\n <AutoMinorVersionUpgrade>true</AutoMinorVersionUpgrade>\n <CopyTagsToSnapshot>false</CopyTagsToSnapshot>\n </DBInstance>\n </DBInstances>\n </DescribeDBInstancesResult>\n <ResponseMetadata>\n <RequestId>1ed1e7fa-a5bc-417e-841e-2fc2bebbec24</RequestId>\n </ResponseMetadata>\n</DescribeDBInstancesResponse>\n'
2022-02-08 17:31:57,280 DEBUG Event needs-retry.rds.DescribeDBInstances: calling handler <botocore.retryhandler.RetryHandler object at 0x118cde7d0>
2022-02-08 17:31:57,280 DEBUG No retry needed.
2022-02-08 17:31:57,281 INFO {"Status-": "creating"}

View File

@ -0,0 +1,38 @@
##########################################################################
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2022, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
"""Added server id for cloud deployment
Revision ID: 1586db67b98e
Revises: 15c88f765bc8
Create Date: 2022-01-04 13:08:05.484598
"""
from pgadmin.model import db
# revision identifiers, used by Alembic.
revision = '1586db67b98e'
down_revision = '15c88f765bc8'
branch_labels = None
depends_on = None
def upgrade():
db.engine.execute(
'ALTER TABLE process ADD COLUMN server_id INTEGER DEFAULT 0'
)
db.engine.execute(
'ALTER TABLE server ADD COLUMN cloud_status INTEGER DEFAULT 0'
)
def downgrade():
# pgAdmin only upgrades, downgrade not implemented.
pass

96
web/pgacloud/pgacloud.py Executable file
View File

@ -0,0 +1,96 @@
#!/usr/bin/env python3
##########################################################################
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2022, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
import argparse
import os
def load_providers():
""" Loads all the providers """
providers = {}
path = os.path.dirname(os.path.realpath(__file__))
modules = os.listdir(path + '/providers')
for filename in modules:
filename = path + '/providers/' + filename
if os.path.isfile(filename):
basename = os.path.basename(filename)
base, extension = os.path.splitext(basename)
if extension == ".py" and not basename.startswith("_"):
module = __import__("providers." + basename[:-3],
fromlist=["providers"])
provider = module.load()
providers[basename[:-3]] = provider
return providers
def get_args(providers):
""" Creates the parsers and returns the args """
# Create the top-level parser
parser = argparse.ArgumentParser(prog='pgacloud.py')
parser.add_argument('--debug', action=argparse.BooleanOptionalAction,
default=True, help='send debug messages to stderr')
# Create the provider sub-parser
parsers = parser.add_subparsers(help='provider help', dest='provider')
# Load the provider parsers
for provider in providers:
providers[provider].init_args(parsers)
args = parser.parse_args()
return parser, args
def execute_command(providers, parser, args):
""" Executes the command in the provider """
# Switch - for _ in command names. We use - in the CLI syntax for ease of
# use, but we need an _ in Python function names
if 'command' in args and args.command is not None:
args.command = args.command.replace('-', '_')
# Figure out what provider the command was for (if any) and call the
# relevant function. If we don't get a match, print the help
if args.provider in providers and \
'command' in args and \
args.command is not None:
command = providers[args.provider].commands()[args.command]
command(args)
else:
# If no provider has been given, display the top level help,
# otherwise, call the help() method in the provider
if args.provider is None:
parser.print_help()
else:
command = providers[args.provider].commands()['help']
command()
def main():
""" Entry point """
# Load the providers
providers = load_providers()
# Get the args
parser, args = get_args(providers)
# Execute the command
execute_command(providers, parser, args)
if __name__ == '__main__':
main()

View File

View File

@ -0,0 +1,31 @@
##########################################################################
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2022, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
class AbsProvider:
""" Abstract provider """
parser = None
def init_args(self, parsers):
"""Not Required."""
pass
def commands(self):
""" Get the list of commands for the current provider. """
attrs = filter(lambda attr: attr.startswith('cmd_'), dir(self))
commands = {}
for attr in attrs:
method = getattr(self, attr)
commands[attr[4:]] = method
return commands
def cmd_help(self):
""" Prints the provider level help """
self.parser.print_help()

View File

@ -0,0 +1,315 @@
##########################################################################
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2022, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
""" Amazon RDS PostgreSQL provider """
import configparser
import os
import time
import boto3
from providers._abstract import AbsProvider
from utils.io import debug, error, output
from utils.misc import get_my_ip, get_random_id
DEL_SEC_GROUP_MSG = 'Deleting security group: {}...'
class RdsProvider(AbsProvider):
def __init__(self):
self._clients = {}
self._access_key = None
self._secret_key = None
self._session_token = None
self._database_pass = None
self._default_region = None
# Get the credentials
if 'AWS_ACCESS_KEY_ID' in os.environ:
self._access_key = os.environ['AWS_ACCESS_KEY_ID']
if 'AWS_SECRET_ACCESS_KEY' in os.environ:
self._secret_key = os.environ['AWS_SECRET_ACCESS_KEY']
if 'AWS_SESSION_TOKEN' in os.environ:
self._session_token = os.environ['AWS_SESSION_TOKEN']
if 'AWS_DATABASE_PASSWORD' in os.environ:
self._database_pass = os.environ['AWS_DATABASE_PASSWORD']
def init_args(self, parsers):
""" Create the command line parser for this provider """
self.parser = parsers.add_parser('rds',
help='Amazon AWS RDS PostgreSQL',
epilog='Credentials are read from '
'~/.aws/config by default and '
'can be overridden in the '
'AWS_ACCESS_KEY_ID and '
'AWS_SECRET_ACCESS_KEY '
'environment variables. '
'The default region is read '
'from ~/.aws/config and will '
'fall back to us-east-1 if '
'not present.')
self.parser.add_argument('--region', default=self._default_region,
help='name of the AWS region (default: {})'
.format(self._default_region))
# Create the command sub-parser
parsers = self.parser.add_subparsers(help='RDS commands',
dest='command')
# Create the create instance command parser
parser_create_instance = parsers.add_parser('create-instance',
help='create a new '
'instance')
parser_create_instance.add_argument('--name', required=True,
help='name of the instance')
parser_create_instance.add_argument('--db-name', default='postgres',
help='name of the default '
'database '
'(default: postgres)')
parser_create_instance.add_argument('--db-password', required=False,
help='password for the database')
parser_create_instance.add_argument('--db-username',
default='postgres',
help='user name for the database '
'(default: postgres)')
parser_create_instance.add_argument('--db-port', type=int,
default=5432,
help='port of the database '
'(default: 5432)')
parser_create_instance.add_argument('--db-version',
default='13.3',
help='version of PostgreSQL '
'to deploy (default: 13.3)')
parser_create_instance.add_argument('--instance-type', required=True,
help='machine type for the '
'instance nodes, e.g. '
'db.m3.large')
parser_create_instance.add_argument('--storage-iops', type=int,
default=0,
help='storage IOPs to allocate '
'(default: 0)')
parser_create_instance.add_argument('--storage-size', type=int,
required=True,
help='storage size in GB')
parser_create_instance.add_argument('--storage-type', default='gp2',
help='storage type for the data '
'database (default: gp2)')
parser_create_instance.add_argument('--public-ip', default='127.0.0.1',
help='Public IP '
'(default: 127.0.0.1)')
# Create the delete instance command parser
parser_delete_instance = parsers.add_parser('delete-instance',
help='delete an instance')
parser_delete_instance.add_argument('--name', required=True,
help='name of the instance')
parser_delete_instance.add_argument('--security-group',
help='name of a security group to'
'delete as well')
##########################################################################
# AWS Helper functions
##########################################################################
def _get_aws_client(self, type, args):
""" Create/cache/return an AWS client object """
if type in self._clients:
return self._clients[type]
session = boto3.Session(
aws_access_key_id=self._access_key,
aws_secret_access_key=self._secret_key
)
self._clients['type'] = session.client(type, region_name=args.region)
return self._clients['type']
def _create_security_group(self, args):
""" Create a new security group for the instance """
ec2 = self._get_aws_client('ec2', args)
ip = args.public_ip if args.public_ip else get_my_ip()
# Deploy the security group
try:
name = 'pgacloud_{}_{}_{}'.format(args.name,
ip.replace('.', '-'),
get_random_id())
debug(args, 'Creating security group: {}...'.format(name))
output({'Creating': 'Creating security group: {}...'.format(name)})
response = ec2.create_security_group(
Description='Inbound access for {} to RDS instance {}'.format(
ip, args.name),
GroupName=name
)
except Exception as e:
error(args, str(e))
return response['GroupId']
def _add_ingress_rule(self, args, security_group):
""" Add a local -> PostgreSQL ingress rule to a security group """
ec2 = self._get_aws_client('ec2', args)
ip = args.public_ip if args.public_ip else '{}/32'.format(get_my_ip())
port = args.db_port or 5432
try:
output({'Adding': 'Adding ingress rule for: {}...'.format(ip)})
debug(args,
'Adding ingress rule for: {}...'.format(ip))
ec2.authorize_security_group_ingress(
GroupId=security_group,
IpPermissions=[
{
'FromPort': port,
'ToPort': port,
'IpProtocol': 'tcp',
'IpRanges': [
{
'CidrIp': ip,
'Description': 'pgcloud client {}'.format(ip)
},
]
},
]
)
except Exception as e:
error(args, e)
def _create_rds_instance(self, args, security_group):
""" Create an RDS instance """
ec2 = self._get_aws_client('ec2', args)
rds = self._get_aws_client('rds', args)
db_password = self._database_pass if self._database_pass is not None\
else args.db_password
try:
debug(args, 'Creating RDS instance: {}...'.format(args.name))
rds.create_db_instance(DBInstanceIdentifier=args.name,
AllocatedStorage=args.storage_size,
DBName=args.db_name,
Engine='postgres',
Port=args.db_port,
EngineVersion=args.db_version,
StorageType=args.storage_type,
StorageEncrypted=True,
Iops=args.storage_iops,
AutoMinorVersionUpgrade=True,
MultiAZ=False,
MasterUsername=args.db_username,
MasterUserPassword=db_password,
DBInstanceClass=args.instance_type,
VpcSecurityGroupIds=[
security_group,
])
except rds.exceptions.DBInstanceAlreadyExistsFault as e:
try:
debug(args, DEL_SEC_GROUP_MSG.format(security_group))
ec2.delete_security_group(GroupId=security_group)
except Exception:
pass
error(args, 'RDS instance {} already exists.'.format(args.name))
except Exception as e:
try:
debug(args, DEL_SEC_GROUP_MSG.format(security_group))
ec2.delete_security_group(GroupId=security_group)
except Exception:
pass
error(args, str(e))
# Wait for completion
running = True
while running:
response = rds.describe_db_instances(
DBInstanceIdentifier=args.name)
db_instance = response['DBInstances'][0]
status = db_instance['DBInstanceStatus']
if status != 'creating' and status != 'backing-up':
running = False
if running:
time.sleep(5)
return response['DBInstances']
def _delete_rds_instance(self, args, name):
""" Delete an RDS instance """
rds = self._get_aws_client('rds', args)
debug(args, 'Deleting RDS instance: {}...'.format(name))
try:
rds.delete_db_instance(
DBInstanceIdentifier=name,
SkipFinalSnapshot=True,
DeleteAutomatedBackups=True
)
except Exception as e:
error(args, str(e))
# Wait for completion
while True:
try:
rds.describe_db_instances(DBInstanceIdentifier=args.name)
except rds.exceptions.DBInstanceNotFoundFault:
return
except Exception as e:
error(args, str(e))
time.sleep(5)
def _delete_security_group(self, args, id):
""" Delete a security group """
ec2 = self._get_aws_client('ec2', args)
debug(args, 'Deleting security group: {}...'.format(id))
try:
ec2.delete_security_group(
GroupId=id
)
except Exception as e:
error(args, str(e))
##########################################################################
# User commands
##########################################################################
def cmd_create_instance(self, args):
""" Create an RDS instance and security group """
security_group = self._create_security_group(args)
self._add_ingress_rule(args, security_group)
instance = self._create_rds_instance(args, security_group)
data = {'instance': {
'Id': instance[0]['DBInstanceIdentifier'],
'Location': instance[0]['AvailabilityZone'],
'SecurityGroupId': security_group,
'Hostname': instance[0]['Endpoint']['Address'],
'Port': instance[0]['Endpoint']['Port'],
'Database': instance[0]['DBName'],
'Username': instance[0]['MasterUsername']
}}
output(data)
def cmd_delete_instance(self, args):
""" Delete an RDS instance and (optionally) a security group """
self._delete_rds_instance(args, args.name)
if args.security_group is not None:
self._delete_security_group(args, args.security_group)
def load():
""" Loads the current provider """
return RdsProvider()

View File

38
web/pgacloud/utils/io.py Normal file
View File

@ -0,0 +1,38 @@
##########################################################################
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2022, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
import datetime
import json
import sys
import time
def debug(args, message):
""" Print a debug message """
if not args.debug:
return
now = datetime.datetime.now()
print('[{}]: {}'.format(now.strftime("%H:%M:%S"), message),
file=sys.stderr, flush=True)
def error(args, message):
""" Print an error message and exit """
debug(args, message)
output({'error': message})
sys.exit(1)
def output(data):
""" Dump JSON output from a dict """
print(json.dumps(data), flush=True)

View File

@ -0,0 +1,34 @@
##########################################################################
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2022, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
import random
import string
import urllib3
def get_my_ip():
""" Return the public IP of this host """
http = urllib3.PoolManager()
try:
external_ip = http.request.urlopen(
'https://ident.me').read().decode('utf8')
except Exception:
try:
external_ip = http.request.urlopen(
'https://ifconfig.me/ip').read().decode('utf8')
except Exception:
external_ip = '127.0.0.1'
return external_ip
def get_random_id():
""" Return a random 10 byte string """
letters = string.ascii_letters + string.digits
return(''.join(random.choice(letters) for _ in range(10)))

View File

@ -763,7 +763,7 @@ def index():
mfa_enabled=is_mfa_enabled(),
login_url=login_url,
_=gettext,
auth_only_internal=auth_only_internal
auth_only_internal=auth_only_internal,
))
# Set the language cookie after login, so next time the user will have that

View File

@ -112,6 +112,10 @@ def server_icon_and_background(is_connected, manager, server):
return 'icon-shared-server-not-connected{0}'.format(
server_background_color
)
elif server.cloud_status == -1:
return 'icon-server-cloud-deploy{0}'.format(
server_background_color
)
else:
return 'icon-server-not-connected{0}'.format(
server_background_color
@ -256,7 +260,8 @@ class ServerModule(sg.ServerGroupPluginModule):
user_name=server.username,
shared=server.shared,
is_kerberos_conn=bool(server.kerberos_conn),
gss_authenticated=manager.gss_authenticated
gss_authenticated=manager.gss_authenticated,
cloud_status=server.cloud_status
)
@property
@ -998,7 +1003,8 @@ class ServerNode(PGChildNodeView):
'tunnel_authentication': tunnel_authentication,
'kerberos_conn': bool(server.kerberos_conn),
'gss_authenticated': manager.gss_authenticated,
'gss_encrypted': manager.gss_encrypted
'gss_encrypted': manager.gss_encrypted,
'cloud_status': server.cloud_status
}
return ajax_response(response)

View File

@ -342,17 +342,17 @@ define('pgadmin.node.schema', [
pgBrowser.add_menus([{
name: 'create_schema_on_coll', node: 'coll-schema', module: this,
applies: ['object', 'context'], callback: 'show_obj_properties',
category: 'create', priority: 4, label: gettext('Schema...'),
category: 'create', priority: 1, label: gettext('Schema...'),
icon: 'wcTabIcon icon-schema', data: {action: 'create'},
},{
name: 'create_schema', node: 'schema', module: this,
applies: ['object', 'context'], callback: 'show_obj_properties',
category: 'create', priority: 4, label: gettext('Schema...'),
category: 'create', priority: 1, label: gettext('Schema...'),
icon: 'wcTabIcon icon-schema', data: {action: 'create'},
},{
name: 'create_schema', node: 'database', module: this,
applies: ['object', 'context'], callback: 'show_obj_properties',
category: 'create', priority: 4, label: gettext('Schema...'),
category: 'create', priority: 1, label: gettext('Schema...'),
icon: 'wcTabIcon icon-schema', data: {action: 'create'},
enable: 'can_create_schema',
},

View File

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 25.4.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 30 30" style="enable-background:new 0 0 30 30;" xml:space="preserve">
<g>
<path d="M29,12.3c0,0-5.6,0-10,4.4c-0.2,0.2-0.4,0.4-0.5,0.6c-0.8-0.1-2,0-2.6,0.6c-1.4,1.4-1.9,3.8-1.9,3.8l3.1-0.4v1.1l1.9,1.9
h1.1l-0.4,3.1c0,0,2.4-0.5,3.8-1.9c0.6-0.6,0.6-1.8,0.6-2.6c0.2-0.2,0.4-0.3,0.6-0.5C29,17.9,29,12.3,29,12.3z M22.8,17.3
c0-0.7,0.6-1.2,1.2-1.2s1.2,0.6,1.2,1.2s-0.6,1.2-1.2,1.2S22.8,18,22.8,17.3z"/>
<path d="M18,24.5c-0.6,0.6-1.5,0.3-1.5,0.3s-0.3-0.9,0.3-1.5c0,0,0.1-0.1,0.1-0.1l-0.3-0.3c-0.2,0.1-0.5,0.2-0.6,0.4
c-0.9,0.9-0.7,2.7-0.7,2.7s1.9,0.1,2.7-0.7c0.2-0.2,0.3-0.4,0.4-0.6l-0.3-0.3C18.1,24.4,18.1,24.5,18,24.5z"/>
<path d="M2.5,8.9h18.6c0.8,0,1.5-0.7,1.5-1.5V4.3c0-0.8-0.7-1.5-1.5-1.5H2.5C1.7,2.7,1,3.4,1,4.3v3.1C1,8.2,1.7,8.9,2.5,8.9z
M18.8,4.6c0.6,0,1.2,0.5,1.2,1.2s-0.5,1.2-1.2,1.2s-1.2-0.5-1.2-1.2S18.2,4.6,18.8,4.6z M15.8,4.6c0.6,0,1.2,0.5,1.2,1.2
s-0.5,1.2-1.2,1.2s-1.2-0.5-1.2-1.2S15.1,4.6,15.8,4.6z"/>
<path d="M2.5,16.5h15.4c0.1-0.2,0.3-0.4,0.4-0.5c1.4-1.4,2.9-2.3,4.3-3v-1.1c0-0.8-0.7-1.5-1.5-1.5H2.5c-0.8,0-1.5,0.7-1.5,1.5V15
C1,15.8,1.7,16.5,2.5,16.5z M18.8,12.3c0.6,0,1.2,0.5,1.2,1.2c0,0.6-0.5,1.2-1.2,1.2s-1.2-0.5-1.2-1.2
C17.7,12.8,18.2,12.3,18.8,12.3z M15.8,12.3c0.6,0,1.2,0.5,1.2,1.2c0,0.6-0.5,1.2-1.2,1.2s-1.2-0.5-1.2-1.2
C14.6,12.8,15.1,12.3,15.8,12.3z"/>
<path d="M2.5,18.1c-0.8,0-1.5,0.7-1.5,1.5v3.1c0,0.8,0.7,1.5,1.5,1.5h10.1l0.7-3.2c0,0,0.3-1.6,1.2-2.9H2.5z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -80,13 +80,15 @@ define('pgadmin.node.server', [
pgBrowser.add_menus([{
name: 'create_server_on_sg', node: 'server_group', module: this,
applies: ['object', 'context'], callback: 'show_obj_properties',
category: 'create', priority: 1, label: gettext('Server...'),
data: {action: 'create'}, icon: 'wcTabIcon icon-server', enable: 'canCreate',
category: 'register', priority: 1, label: gettext('Server...'),
data: {action: 'create'}, icon: 'wcTabIcon icon-server',
enable: 'canCreate',
},{
name: 'create_server', node: 'server', module: this,
applies: ['object', 'context'], callback: 'show_obj_properties',
category: 'create', priority: 3, label: gettext('Server...'),
data: {action: 'create'}, icon: 'wcTabIcon icon-server', enable: 'canCreate',
category: 'register', priority: 3, label: gettext('Server...'),
data: {action: 'create'}, icon: 'wcTabIcon icon-server',
enable: 'canCreate',
},{
name: 'connect_server', node: 'server', module: this,
applies: ['object', 'context'], callback: 'connect_server',
@ -808,8 +810,8 @@ define('pgadmin.node.server', [
// Fetch the updated data
$.get(server_url)
.done(function(res) {
if (res.shared && _.isNull(res.username) && data.user_id != current_user.id){
if (!res.service){
if (res.shared && _.isNull(res.username) && data.user_id != current_user.id) {
if (!res.service) {
pgAdmin.Browser.Node.callbacks.show_obj_properties.call(
pgAdmin.Browser.Nodes[tree.itemData(item)._type], {action: 'edit'}
);
@ -818,13 +820,30 @@ define('pgadmin.node.server', [
tree.setInode(item);
tree.addIcon(item, {icon: 'icon-shared-server-not-connected'});
Notify.info('Please enter the server details to connect to the server. This server is a shared server.');
}else{
} else {
data.is_connecting = false;
tree.unload(item);
tree.setInode(item);
tree.addIcon(item, {icon: 'icon-shared-server-not-connected'});
}
}
else if (res.cloud_status == -1) {
$.ajax({
type: 'GET',
timeout: 30000,
url: url_for('cloud.update_cloud_process', {'sid': res.id}),
cache: false,
async: true,
contentType: 'application/json',
})
.done(function() {
pgAdmin.Browser.BackgroundProcessObsorver.update_process_list();
})
.fail(function() {
console.warn(arguments);
});
}
return;
}).always(function(){
data.is_connecting = false;
});
@ -1033,7 +1052,7 @@ define('pgadmin.node.server', [
};
/* Wait till the existing request completes */
if(data.is_connecting) {
if(data.is_connecting || data.cloud_status == -1) {
return;
}
data.is_connecting = true;

View File

@ -33,3 +33,13 @@
vertical-align: middle;
height: 1.3em;
}
.icon-server-cloud-deploy {
background-image: url('{{ url_for('NODE-server.static', filename='img/serverbeingdeployed.svg') }}') !important;
background-repeat: no-repeat;
background-size: 20px !important;
align-content: center;
vertical-align: middle;
height: 1.3em;
}

View File

@ -326,9 +326,18 @@ define('pgadmin.browser', [
},
menu_categories: {
/* name, label (pair) */
'register': {
label: gettext('Register'),
priority: 1,
/* separator above this menu */
above: false,
below: true,
/* icon: 'fa fa-magic', */
single: true,
},
'create': {
label: gettext('Create'),
priority: 1,
priority: 2,
/* separator above this menu */
above: false,
below: true,

View File

@ -46,7 +46,7 @@ define([
pgAdmin.Browser.add_menus([{
name: 'refresh', node: this.type, module: this,
applies: ['object', 'context'], callback: 'refresh',
priority: 1, label: gettext('Refresh'),
priority: 2, label: gettext('Refresh'),
icon: 'fa fa-sync-alt',
}]);

View File

@ -118,8 +118,8 @@ define('pgadmin.browser.node', [
module: self,
applies: ['object', 'context'],
callback: 'refresh',
priority: 1,
label: gettext('Refresh'),
priority: 2,
label: gettext('Refresh...'),
icon: 'fa fa-sync-alt',
}]);
@ -792,6 +792,9 @@ define('pgadmin.browser.node', [
}
l = gettext('Create - %s', this.label);
if (this.type == 'server') {
l = gettext('Register - %s', this.label);
}
p = addPanel();
setTimeout(function() {

View File

@ -14,7 +14,8 @@ the long running background-processes.
from flask import url_for
from flask_security import login_required
from pgadmin.utils import PgAdminModule
from pgadmin.utils.ajax import make_response, gone, success_return
from pgadmin.utils.ajax import make_response, gone, success_return,\
make_json_response
from .processes import BatchProcess
@ -101,8 +102,26 @@ def acknowledge(pid):
Positive status
"""
try:
BatchProcess.acknowledge(pid)
return success_return()
process = BatchProcess(id=pid)
status, server = process.acknowledge(pid)
if status and len(server) > 0:
return make_json_response(
success=1,
data={'node': {
'sid': server['id'],
'gid': server['servergroup_id'],
'_type': 'server',
'icon': 'icon-server-not-connected',
'id': 'server_{}'.format(server['id']),
'label': server['name'],
'status': server['status'],
'cloud_status': server['cloud_status']
}}
)
elif status and len(server) == 0:
return success_return()
else:
return gone(errormsg=str(server))
except LookupError as lerr:
return gone(errormsg=str(lerr))

View File

@ -20,6 +20,7 @@ from datetime import datetime
from pickle import dumps, loads
from subprocess import Popen, PIPE
import logging
import json
from pgadmin.utils import u_encode, file_quote, fs_encoding, \
get_complete_file_path, get_storage_directory, IS_WIN
@ -487,6 +488,48 @@ class BatchProcess(object):
return pos, completed
def _get_cloud_instance_details(self, _process):
"""
Parse the output to get the cloud instance details
"""
ctime = get_current_time(format='%y%m%d%H%M%S%f')
stdout = []
stderr = []
out = 0
err = 0
cloud_server_id = 0
cloud_instance = ''
enc = sys.getdefaultencoding()
if enc == 'ascii':
enc = 'utf-8'
out, out_completed = self.read_log(
self.stdout, stdout, out, ctime, _process.exit_code, enc
)
err, err_completed = self.read_log(
self.stderr, stderr, err, ctime, _process.exit_code, enc
)
from pgadmin.misc.cloud import update_server
if out_completed and not _process.exit_code:
for value in stdout:
if 'instance' in value[1] and value[1] != '':
cloud_instance = json.loads(value[1])
cloud_server_id = _process.server_id
if type(cloud_instance) is dict and\
'instance' in cloud_instance:
cloud_instance['instance']['sid'] = cloud_server_id
cloud_instance['instance']['status'] = True
return update_server(cloud_instance)
elif err_completed and _process.exit_code > 0:
cloud_instance = {'instance': {}}
cloud_instance['instance']['sid'] = _process.server_id
cloud_instance['instance']['status'] = False
return update_server(cloud_instance)
return False, None
def status(self, out=0, err=0):
ctime = get_current_time(format='%y%m%d%H%M%S%f')
@ -549,8 +592,7 @@ class BatchProcess(object):
},
'start_time': self.stime,
'exit_code': self.ecode,
'execution_time': execution_time,
'process_state': self.process_state
'execution_time': execution_time
}
@staticmethod
@ -697,7 +739,8 @@ class BatchProcess(object):
"'{1}'").format(desc.sid, p.pid)
)
try:
BatchProcess.acknowledge(p.pid)
process = BatchProcess(id=p.pid)
process.acknowledge(p.pid)
except LookupError as lerr:
current_app.logger.warning(
_("Status for the background process '{0}' could "
@ -712,8 +755,7 @@ class BatchProcess(object):
def total_seconds(dt):
return round(dt.total_seconds(), 2)
@staticmethod
def acknowledge(_pid):
def acknowledge(self, _pid):
"""
Acknowledge from the user, he/she has alredy watched the status.
@ -721,6 +763,9 @@ class BatchProcess(object):
And, delete the process information from the configuration, and the log
files related to the process, if it has already been completed.
"""
status = True
_server = {}
p = Process.query.filter_by(
user_id=current_user.id, pid=_pid
).first()
@ -729,15 +774,17 @@ class BatchProcess(object):
raise LookupError(PROCESS_NOT_FOUND)
if p.end_time is not None:
status, _server = self._get_cloud_instance_details(p)
logdir = p.logdir
db.session.delete(p)
import shutil
shutil.rmtree(logdir, True)
else:
p.acknowledge = get_current_time()
db.session.commit()
return status, _server
def set_env_variables(self, server, **kwargs):
"""Set environment variables"""
if server:
@ -781,3 +828,16 @@ class BatchProcess(object):
p.utility_pid)
)
current_app.logger.exception(e)
@staticmethod
def update_server_id(_pid, _sid):
p = Process.query.filter_by(
user_id=current_user.id, pid=_pid
).first()
if p is None:
raise LookupError(PROCESS_NOT_FOUND)
# Update the cloud server id
p.server_id = _sid
db.session.commit()

View File

@ -96,8 +96,10 @@ define('misc.bgprocess', [
pgBrowser.Events && pgBrowser.Events.on(
'pgadmin-bgprocess:finished:' + this.id,
function(process) {
if (!process.notifier)
if (!process.notifier) {
if (process.cloud_process == 1) process.update_cloud_server.apply(process);
process.show.apply(process);
}
}
);
}
@ -175,6 +177,12 @@ define('misc.bgprocess', [
}
}
if ('cloud_process' in data && data.cloud_process == 1) {
self.cloud_process = data.cloud_process;
self.cloud_instance = data.cloud_instance;
self.cloud_server_id = data.cloud_server_id;
}
if ('err' in data) {
self.err = data.err && data.err.pos;
@ -309,6 +317,46 @@ define('misc.bgprocess', [
});
},
update_cloud_server: function() {
var self = this,
_url = url_for('cloud.update_cloud_server'),
_data = {},
cloud_instance = self.cloud_instance;
if (cloud_instance != '') {
_data = JSON.parse(cloud_instance);
}
_data['instance']['sid'] = self.cloud_server_id;
$.ajax({
type: 'POST',
url: _url,
async: true,
data: JSON.stringify(_data),
contentType: 'application/json',
})
.done(function(res) {
setTimeout(function() {
let _server = res.data.node,
_server_path = '/browser/server_group_' + _server.gid + '/' + _server.id,
_tree = pgBrowser.tree,
_item = _tree.findNode(_server_path);
if (_item) {
_tree.addIcon(_item.domNode, {icon: _server.icon});
let d = _tree.itemData(_item);
d.cloud_status = 1;
_tree.update(_item, d);
}
}, 10);
})
.fail(function(res) {
// Try after some time only if job id present
if (res.status != 410)
console.warn('Failed Cloud Deployment.');
});
},
show: function() {
var self = this;
@ -523,8 +571,30 @@ define('misc.bgprocess', [
async: true,
contentType: 'application/json',
})
.done(function() {
return;
.done(function(res) {
if (res.data && res.data.node) {
setTimeout(function() {
let _server = res.data.node,
_server_path = '/browser/server_group_' + _server.gid + '/' + _server.id,
_tree = pgBrowser.tree,
_item = _tree.findNode(_server_path);
if (_item) {
if(_server.status == true) {
let _dom = _item.domNode;
_tree.addIcon(_dom, {icon: _server.icon});
let d = _tree.itemData(_dom);
d.cloud_status = _server.cloud_status;
_tree.update(_dom, d);
}
else {
_tree.remove(_item.domNode);
_tree.refresh(_item.domNode.parent);
}
}
}, 10);
} else return;
})
.fail(function() {
console.warn(arguments);
@ -595,7 +665,7 @@ define('misc.bgprocess', [
var observer = this;
$.ajax({
typs: 'GET',
type: 'GET',
timeout: 30000,
url: url_for('bgprocess.list'),
cache: false,

View File

@ -0,0 +1,410 @@
##########################################################################
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2022, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
"""Implements Cloud Deployment"""
import simplejson as json
from flask import Response, url_for, session
from flask import render_template, request, current_app
from flask_babel import gettext
from flask_security import login_required, current_user
from pgadmin.utils import PgAdminModule, html
from pgadmin.utils.ajax import make_json_response,\
internal_server_error, bad_request, success_return
from pgadmin.utils.constants import MIMETYPE_APP_JS
from pgadmin.misc.bgprocess.processes import BatchProcess, IProcessDesc
from pgadmin.model import db, Server, Process
from pgadmin.misc.cloud.utils.rds import RDS, verify_aws_credentials,\
get_aws_db_instances, get_aws_db_versions, clear_aws_session,\
get_aws_regions
from config import root
# set template path for sql scripts
MODULE_NAME = 'cloud'
server_info = {}
class CloudModule(PgAdminModule):
"""
class CloudModule(Object):
It is a wizard which inherits PgAdminModule
class and define methods to load its own
javascript file.
LABEL = gettext('Browser')
"""
def get_own_stylesheets(self):
"""
Returns:
list: the stylesheets used by this module.
"""
stylesheets = []
return stylesheets
def get_own_javascripts(self):
""""
Returns:
list: js files used by this module
"""
scripts = []
scripts.append({
'name': 'pgadmin.misc.cloud',
'path': url_for('cloud.index') + 'cloud',
'when': None
})
scripts.append({
'name': 'pgadmin.browser.wizard',
'path': url_for('browser.static', filename='js/wizard'),
'when': None
})
return scripts
def get_exposed_url_endpoints(self):
"""
Returns:
list: URL endpoints for cloud module
"""
return ['cloud.deploy_on_cloud',
'cloud.get_aws_db_versions',
'cloud.verify_credentials',
'cloud.get_aws_db_instances',
'cloud.update_cloud_server',
'cloud.update_cloud_process',
'cloud.get_aws_regions']
# Create blueprint for CloudModule class
blueprint = CloudModule(
MODULE_NAME, __name__, static_url_path='/misc/cloud')
@blueprint.route("/")
@login_required
def index():
return bad_request(
errormsg=gettext("This URL cannot be called directly.")
)
@blueprint.route("/cloud.js")
@login_required
def script():
"""render own javascript"""
res = Response(response=render_template(
"cloud/js/cloud.js", _=gettext),
status=200,
mimetype=MIMETYPE_APP_JS)
return res
@blueprint.route('/verify_credentials/',
methods=['POST'], endpoint='verify_credentials')
@login_required
def verify_credentials():
"""Verify Credentials."""
data = json.loads(request.data, encoding='utf-8')
status, msg = verify_aws_credentials(data)
if status:
msg = 'verified'
return make_json_response(success=status, info=msg)
@blueprint.route('/get_aws_db_instances/',
methods=['GET'], endpoint='get_aws_db_instances')
@login_required
def get_db_instances():
"""
Fetch AWS DB Instances based on engine version.
"""
# Get Engine Version
eng_version = request.args.get('eng_version')
status, versions = get_aws_db_instances(eng_version)
if not status:
return make_json_response(
status=410,
success=0,
errormsg=versions
)
return make_json_response(data=versions)
@blueprint.route('/get_aws_db_versions/',
methods=['GET', 'POST'], endpoint='get_aws_db_versions')
@login_required
def get_db_versions():
"""GET AWS Database Versions for AWS."""
status, versions = get_aws_db_versions()
if not status:
return make_json_response(
status=410,
success=0,
errormsg=str(versions)
)
return make_json_response(data=versions)
@blueprint.route('/get_aws_regions/',
methods=['GET', 'POST'], endpoint='get_aws_regions')
@login_required
def get_db_versions():
"""GET AWS Regions for AWS."""
status, regions = get_aws_regions()
if not status:
return make_json_response(
status=410,
success=0,
errormsg=str(regions)
)
return make_json_response(data=regions)
@blueprint.route(
'/deploy', methods=['POST'], endpoint='deploy_on_cloud'
)
@login_required
def deploy_on_cloud():
"""Deploy on Cloud"""
data = json.loads(request.data, encoding='utf-8')
from subprocess import Popen, PIPE
_cmd = 'python'
_cmd_script = '{0}/pgacloud/pgacloud.py'.format(root)
args = [_cmd_script,
'--debug',
data['cloud'],
'--region',
str(data['secret']['aws_region']),
'create-instance',
'--name',
data['instance_details']['aws_name'],
'--db-name',
data['db_details']['aws_db_name'],
'--db-username',
data['db_details']['aws_db_username'],
'--db-port',
str(data['db_details']['aws_db_port']),
'--db-version',
str(data['instance_details']['aws_db_version']),
'--instance-type',
data['instance_details']['aws_instance_type'],
'--storage-type',
data['instance_details']['aws_storage_type'],
'--storage-size',
str(data['instance_details']['aws_storage_size']),
'--public-ip',
str(data['instance_details']['aws_public_ip']),
]
if data['instance_details']['aws_storage_type'] == 'io1':
args.append('--storage-iops')
args.append(str(data['instance_details']['aws_storage_IOPS']))
_cmd_msg = '{0} {1} {2}'.format(_cmd, _cmd_script, ' '.join(args))
try:
sid = _create_server({
'gid': data['db_details']['gid'],
'name': data['instance_details']['aws_name'],
'db': data['db_details']['aws_db_name'],
'username': data['db_details']['aws_db_username'],
'port': data['db_details']['aws_db_port'],
'cloud_status': -1
})
p = BatchProcess(
desc=CloudProcessDesc(sid, _cmd_msg, data['cloud'],
data['instance_details']['aws_name']),
cmd=_cmd,
args=args
)
env = dict()
env['AWS_ACCESS_KEY_ID'] = data['secret']['aws_access_key']
env['AWS_SECRET_ACCESS_KEY'] = data['secret']['aws_secret_access_key']
if 'aws_session_token' in data['secret'] and\
data['secret']['aws_session_token'] is not None:
env['AWS_SESSION_TOKEN'] = data['secret']['aws_session_token']
if 'aws_db_password' in data['db_details']:
env['AWS_DATABASE_PASSWORD'] = data[
'db_details']['aws_db_password']
p.set_env_variables(None, env=env)
p.update_server_id(p.id, sid)
p.start()
except Exception as e:
current_app.logger.exception(e)
return make_json_response(
status=410,
success=0,
errormsg=str(e)
)
# Return response
return make_json_response(
success=1,
data={'job_id': 1, 'node': {
'_id': sid,
'_pid': data['db_details']['gid'],
'connected': False,
'_type': 'server',
'icon': 'icon-server-cloud-deploy',
'id': 'server_{}'.format(sid),
'inode': True,
'label': data['instance_details']['aws_name'],
'server_type': 'pg',
'module': 'pgadmin.node.server',
'cloud_status': -1
}}
)
def _create_server(data):
"""Create Server"""
server = Server(
user_id=current_user.id,
servergroup_id=data.get('gid'),
name=data.get('name'),
maintenance_db=data.get('db'),
username=data.get('username'),
ssl_mode='prefer',
cloud_status=data.get('cloud_status')
)
db.session.add(server)
db.session.commit()
return server.id
def update_server(data):
"""Update Server."""
server_data = data
server = Server.query.filter_by(
user_id=current_user.id,
id=server_data['instance']['sid']
).first()
if server is None:
return False, "Could not find the server."
if server_data['instance'] == '' or\
not server_data['instance']['status']:
db.session.delete(server)
else:
server.host = server_data['instance']['Hostname']
server.port = server_data['instance']['Port']
server.cloud_status = 1
try:
db.session.commit()
except Exception as e:
db.session.rollback()
return False, e.message
_server = {
'id': server.id,
'servergroup_id': server.servergroup_id,
'name': server.name,
'cloud_status': server.cloud_status
}
if not server_data['instance']['status']:
_server['status'] = False
else:
_server['status'] = True
clear_aws_session()
return True, _server
@blueprint.route(
'/update_cloud_process/<sid>', methods=['GET'],
endpoint='update_cloud_process'
)
@login_required
def update_cloud_process(sid):
"""Update Cloud Server Process"""
_process = Process.query.filter_by(user_id=current_user.id,
server_id=sid).first()
_process.acknowledge = None
db.session.commit()
return success_return()
@blueprint.route(
'/update_cloud_server', methods=['POST'],
endpoint='update_cloud_server'
)
@login_required
def update_cloud_server():
"""Update Cloud Server."""
server_data = json.loads(request.data, encoding='utf-8')
status, server = update_server(server_data)
if not status:
return make_json_response(
status=410, success=0, errormsg=server
)
return make_json_response(
success=1,
data={'node': {
'sid': server.id,
'gid': server.servergroup_id,
'_type': 'server',
'icon': 'icon-server-not-connected',
'id': 'server_{}'.format(server.id),
'label': server.name
}}
)
class CloudProcessDesc(IProcessDesc):
"""Cloud Server Process Description."""
def __init__(self, _sid, _cmd, _provider, _instance_name):
self.sid = _sid
self.cmd = _cmd
self.instance_name = _instance_name
self.provider = 'Amazon RDS'
if _provider == 'rds':
self.provider = 'Amazon RDS'
elif _provider == 'azure':
self.provider = 'Azure PostgreSQL'
else:
self.provider = 'EDB Big Animal'
@property
def message(self):
return "Deployment on {0} is started for instance {1}.".format(
self.provider, self.instance_name)
def details(self, cmd, args):
res = '<div>' + self.message
res += '</div><div class="py-1">'
res += '<div class="pg-bg-cmd enable-selection p-1">'
res += html.safe_str(self.cmd)
res += '</div></div>'
return res
@property
def type_desc(self):
return "Cloud Deployment"

View File

@ -0,0 +1,454 @@
/////////////////////////////////////////////////////////////
//
// pgAdmin 4 - PostgreSQL Tools
//
// Copyright (C) 2013 - 2022, The pgAdmin Development Team
// This software is released under the PostgreSQL Licence
//
//////////////////////////////////////////////////////////////
import gettext from 'sources/gettext';
import url_for from 'sources/url_for';
import React from 'react';
import { Box, Table, TableBody, TableCell, TableHead, TableRow, Paper } from '@material-ui/core';
import { makeStyles } from '@material-ui/core/styles';
import Wizard from '../../../../static/js/helpers/wizard/Wizard';
import WizardStep from '../../../../static/js/helpers/wizard/WizardStep';
import {FormFooterMessage, MESSAGE_TYPE, InputToggle } from '../../../../static/js/components/FormComponents';
import getApiInstance from '../../../../static/js/api_instance';
import SchemaView from '../../../../static/js/SchemaView';
import Alertify from 'pgadmin.alertifyjs';
import PropTypes from 'prop-types';
import {CloudInstanceDetailsSchema, CloudDBCredSchema, DatabaseSchema} from './cloud_db_details_schema.ui';
import { isEmptyString } from 'sources/validators';
import pgAdmin from 'sources/pgadmin';
import { getNodeAjaxOptions, getNodeListById } from 'pgbrowser/node_ajax';
import { commonTableStyles } from '../../../../static/js/Theme';
import clsx from 'clsx';
const useStyles = makeStyles(() =>
({
messageBox: {
marginBottom: '1em',
display: 'flex',
},
messagePadding: {
flex: 2.5
},
toggleButton: {
height: '100px',
},
table: {
marginLeft: '4px',
marginTop: '12px',
},
tableCellHeading: {
fontWeight: 'bold',
paddingLeft: '9px',
},
tableCell: {
padding: '9px',
paddingLeft: '11px',
}
}),
);
export default function CloudWizard({ nodeInfo, nodeData }) {
const classes = useStyles();
const tableClasses = commonTableStyles();
var steps = ['Cloud Provider', 'Credentials', 'Instance Specification', 'Database Details', 'Review'];
const [currentStep, setCurrentStep] = React.useState('');
const [selectionVal, setCloudSelection] = React.useState('');
const [errMsg, setErrMsg] = React.useState('');
const [cloudInstanceDetailsInstance, setCloudInstanceDetailsInstance] = React.useState();
const [cloudDBCredInstance, setCloudDBCredInstance] = React.useState();
const [cloudDBInstance, setCloudDBInstance] = React.useState();
const [cloudInstanceDetails, setCloudInstanceDetails] = React.useState({});
const [cloudDBCred, setCloudDBCred] = React.useState({});
const [cloudDBDetails, setCloudDBDetails] = React.useState({});
const [callRDSAPI, setCallRDSAPI] = React.useState({});
const axiosApi = getApiInstance();
React.useEffect(() => {
if (callRDSAPI == 2) {
const cloudDBInstanceSchema = new CloudInstanceDetailsSchema({
version: ()=>getNodeAjaxOptions('get_aws_db_versions', pgAdmin.Browser.Nodes['server'], nodeInfo, nodeData, {
useCache:false,
cacheNode: 'server',
customGenerateUrl: ()=>{
return url_for('cloud.get_aws_db_versions');
}
}),
getInstances: (engine, reload, options) =>
{
return new Promise((resolve, reject)=>{
const api = getApiInstance();
var _url = url_for('cloud.get_aws_db_instances') ;
if (engine) _url += '?eng_version=' + engine;
if (reload) {
api.get(_url)
.then(res=>{
let data = res.data.data;
resolve(data);
})
.catch((err)=>{
reject(err);
});
} else {
resolve(options);
}
});
},
instance_type: ()=>getNodeAjaxOptions('get_aws_db_instances', pgAdmin.Browser.Nodes['server'], nodeInfo, nodeData, {
useCache:false,
cacheNode: 'server',
customGenerateUrl: ()=>{
return url_for('cloud.get_aws_db_instances');
}
}),
server_groups: ()=>getNodeListById(pgAdmin.Browser.Nodes['server_group'], nodeInfo, nodeData),
}, {
gid: nodeInfo['server_group']._id,
});
setCloudInstanceDetailsInstance(cloudDBInstanceSchema);
}
}, [callRDSAPI]);
React.useEffect(() => {
const cloudDBCredSchema = new CloudDBCredSchema({
regions: ()=>getNodeAjaxOptions('get_aws_regions', pgAdmin.Browser.Nodes['server'], nodeInfo, nodeData, {
useCache:false,
cacheNode: 'server',
customGenerateUrl: ()=>{
return url_for('cloud.get_aws_regions');
}
}),
});
setCloudDBCredInstance(cloudDBCredSchema);
const cloudDBSchema = new DatabaseSchema({
server_groups: ()=>getNodeListById(pgAdmin.Browser.Nodes['server_group'], nodeInfo, nodeData),
},
{
gid: nodeInfo['server_group']._id,
}
);
setCloudDBInstance(cloudDBSchema);
}, []);
const wizardStepChange = (data) => {
setCurrentStep(data.currentStep);
};
const validateCloudStep1 = (cloudDBCred) => {
let isError = false;
if (isEmptyString(cloudDBCred.aws_access_key) || isEmptyString(cloudDBCred.aws_secret_access_key)) {
isError = true;
}
return isError;
};
const validateCloudStep2 = (cloudInstanceDetails) => {
let isError = false;
if (isEmptyString(cloudInstanceDetails.aws_name) ||
isEmptyString(cloudInstanceDetails.aws_db_version) || isEmptyString(cloudInstanceDetails.aws_instance_type) ||
isEmptyString(cloudInstanceDetails.aws_storage_type)|| isEmptyString(cloudInstanceDetails.aws_storage_size)) {
isError = true;
}
if(cloudInstanceDetails.aws_storage_type == 'io1' && isEmptyString(cloudInstanceDetails.aws_storage_IOPS)) {
isError = true;
}
if (isEmptyString(cloudInstanceDetails.aws_public_ip)) cloudInstanceDetails.aws_public_ip = '127.0.0.1/32';
return isError;
};
const validateCloudStep3 = (cloudDBDetails) => {
let isError = false;
if (isEmptyString(cloudDBDetails.aws_db_name) ||
isEmptyString(cloudDBDetails.aws_db_username) || isEmptyString(cloudDBDetails.aws_db_password)) {
isError = true;
}
if (isEmptyString(cloudDBDetails.aws_db_port)) cloudDBDetails.aws_db_port = 5432;
if (isEmptyString(cloudDBDetails.gid)) cloudDBDetails.gid = nodeInfo['server_group']._id;
return isError;
};
const getStorageType = (cloudInstanceDetails) => {
let _storage_type = 'General Purpose SSD (gp2)',
_io1 = undefined;
if(cloudInstanceDetails.aws_storage_type == 'gp2') _storage_type = 'General Purpose SSD (gp2)';
else if(cloudInstanceDetails.aws_storage_type == 'io1') {
_storage_type = 'Provisioned IOPS SSD (io1)';
_io1 = cloudInstanceDetails.aws_storage_IOPS;
}
else if(cloudInstanceDetails.aws_storage_type == 'magnetic') _storage_type = 'Magnetic';
return [_io1, _storage_type];
};
const onSave = () => {
var _url = url_for('cloud.deploy_on_cloud');
const post_data = {
gid: nodeInfo.server_group._id,
cloud: selectionVal,
secret: cloudDBCred,
instance_details:cloudInstanceDetails,
db_details: cloudDBDetails
};
axiosApi.post(_url, post_data)
.then((res) => {
pgAdmin.Browser.Events.trigger('pgadmin:browser:tree:add', res.data.data.node, {'server_group': nodeInfo['server_group']});
pgAdmin.Browser.Events.trigger('pgadmin-bgprocess:created', Alertify.cloudWizardDialog());
Alertify.cloudWizardDialog().close();
})
.catch((error) => {
Alertify.error(gettext(`Error while saving cloud wizard data: ${error.response.data.errormsg}`));
});
};
const disableNextCheck = () => {
setCallRDSAPI(currentStep);
let isError = false;
switch (currentStep) {
case 0:
setCloudSelection('rds');
break;
case 1:
isError = validateCloudStep1(cloudDBCred);
break;
case 2:
isError = validateCloudStep2(cloudInstanceDetails);
break;
case 3:
isError = validateCloudStep3(cloudDBDetails);
break;
default:
break;
}
return isError;
};
const onBeforeNext = (activeStep) => {
return new Promise((resolve, reject)=>{
if(activeStep == 1) {
setErrMsg([MESSAGE_TYPE.INFO, 'Validating credentials...']);
var _url = url_for('cloud.verify_credentials');
const post_data = {
cloud: selectionVal,
secret: cloudDBCred,
};
axiosApi.post(_url, post_data)
.then((res) => {
if(!res.data.success) {
setErrMsg([MESSAGE_TYPE.ERROR, res.data.info]);
reject();
} else {
setErrMsg(['', '']);
resolve();
}
})
.catch(() => {
setErrMsg([MESSAGE_TYPE.ERROR, 'Error while checking cloud credentials']);
reject();
});
} else {
resolve();
}
});
};
const onDialogHelp = () => {
window.open(url_for('help.static', { 'filename': 'cloud_deployment.html' }), 'pgadmin_help');
};
function createData(name, value) {
return { name, value };
}
let cloud = '';
switch (selectionVal) {
case 'rds':
cloud = 'Amazon RDS';
break;
case 'azure':
cloud = 'Azure PostgreSQL';
break;
case 'biganimal':
cloud = 'EDB Big Animal';
break;
}
const rows1 = [
createData('Cloud', cloud),
createData('Instance name', cloudInstanceDetails.aws_name),
createData('Public IP', cloudInstanceDetails.aws_public_ip),
];
const rows2 = [
createData('PostgreSQL version', cloudInstanceDetails.aws_db_version),
createData('Instance type', cloudInstanceDetails.aws_instance_type),
];
let _storage_type = getStorageType(cloudInstanceDetails);
const rows3 = [
createData('Storage type', _storage_type[1]),
createData('Allocated storage', cloudInstanceDetails.aws_storage_size + ' GiB'),
];
if (_storage_type[0] !== undefined) {
rows3.push(createData('Provisioned IOPS', _storage_type[0]));
}
const rows4 = [
createData('Database name', cloudDBDetails.aws_db_name),
createData('Username', cloudDBDetails.aws_db_username),
createData('Password', 'xxxxxxx'),
createData('Port', cloudDBDetails.aws_db_port),
];
const onErrClose = React.useCallback(()=>{
setErrMsg([]);
});
const displayTableRows = (rows) => {
return rows.map((row) => (
<TableRow key={row.name} >
<TableCell scope="row">{row.name}</TableCell>
<TableCell align="right">{row.value}</TableCell>
</TableRow>
));
};
return (
<>
<Wizard
title={gettext('Deploy Cloud Instance')}
stepList={steps}
disableNextStep={disableNextCheck}
onStepChange={wizardStepChange}
onSave={onSave}
onHelp={onDialogHelp}
beforeNext={onBeforeNext}>
<WizardStep stepId={0}>
<Box className={classes.messageBox}>
<Box className={classes.messagePadding}>{gettext('Deploy on Amazon RDS cloud.')}</Box>
</Box>
<Box className={classes.messageBox}>
<InputToggle
value='rds'
options={[{'label': gettext('Amazon RDS'), value: 'rds'}]}
className={classes.toggleButton}
onChange={(value) => {
setCloudSelection(value);}
}
>
</InputToggle>
</Box>
<Box className={classes.messageBox}>
<Box className={classes.messagePadding}>{gettext('More cloud providers are coming soon...')}</Box>
</Box>
</WizardStep>
<WizardStep stepId={1} >
{cloudDBCredInstance &&
<SchemaView
formType={'dialog'}
getInitData={() => { /*This is intentional (SonarQube)*/ }}
viewHelperProps={{ mode: 'create' }}
schema={cloudDBCredInstance}
showFooter={false}
isTabView={false}
onDataChange={(isChanged, changedData) => {
setCloudDBCred(changedData);
}}
/>
}
<FormFooterMessage type={errMsg[0]} message={errMsg[1]} onClose={onErrClose} />
</WizardStep>
<WizardStep stepId={2} >
{cloudInstanceDetailsInstance &&
<SchemaView
formType={'dialog'}
getInitData={() => { /*This is intentional (SonarQube)*/ }}
viewHelperProps={{ mode: 'create' }}
schema={cloudInstanceDetailsInstance}
showFooter={false}
isTabView={false}
onDataChange={(isChanged, changedData) => {
setCloudInstanceDetails(changedData);
}}
/>
}
</WizardStep>
<WizardStep stepId={3} >
{cloudDBInstance &&
<SchemaView
formType={'dialog'}
getInitData={() => { /*This is intentional (SonarQube)*/ }}
viewHelperProps={{ mode: 'create' }}
schema={cloudDBInstance}
showFooter={false}
isTabView={false}
onDataChange={(isChanged, changedData) => {
setCloudDBDetails(changedData);
}}
/>
}
</WizardStep>
<WizardStep stepId={4} >
<Box className={classes.boxText}>{gettext('Please review the details before creating the cloud instance.')}</Box>
<Paper variant="outlined" elevation={0} className={classes.summaryContainer}>
<Table aria-label="simple table" className={clsx(tableClasses.table)}>
<TableBody>
{displayTableRows(rows1)}
</TableBody>
</Table>
<Table aria-label="simple table" className={clsx(tableClasses.table)}>
<TableHead>
<TableRow>
<TableCell colSpan={2}>{gettext('Version and Instance Details')}</TableCell>
</TableRow>
</TableHead>
<TableBody>
{displayTableRows(rows2)}
</TableBody>
</Table>
<Table aria-label="simple table" className={clsx(tableClasses.table)}>
<TableHead>
<TableRow>
<TableCell colSpan={2}>{gettext('Storage Details')}</TableCell>
</TableRow>
</TableHead>
<TableBody>
{displayTableRows(rows3)}
</TableBody>
</Table>
<Table aria-label="simple table" className={clsx(tableClasses.table)}>
<TableHead>
<TableRow>
<TableCell colSpan={2}>{gettext('Database Details')}</TableCell>
</TableRow>
</TableHead>
<TableBody>
{displayTableRows(rows4)}
</TableBody>
</Table>
</Paper>
</WizardStep>
</Wizard>
</>
);
}
CloudWizard.propTypes = {
nodeInfo: PropTypes.object,
nodeData: PropTypes.object,
};

View File

@ -0,0 +1,151 @@
/////////////////////////////////////////////////////////////
//
// pgAdmin 4 - PostgreSQL Tools
//
// Copyright (C) 2013 - 2022, The pgAdmin Development Team
// This software is released under the PostgreSQL Licence
//
//////////////////////////////////////////////////////////////
import React from 'react';
import ReactDOM from 'react-dom';
import Theme from 'sources/Theme';
import CloudWizard from './CloudWizard';
// Cloud Wizard
define('pgadmin.misc.cloud', [
'sources/gettext', 'sources/url_for', 'jquery', 'underscore',
'pgadmin.alertifyjs',
'pgadmin.browser',
'pgadmin.browser.wizard',
], function(
gettext, url_for, $, _, Alertify, pgBrowser
) {
// if module is already initialized, refer to that.
if (pgBrowser.Cloud) {
return pgBrowser.Cloud;
}
// Create an Object Cloud of pgBrowser class
pgBrowser.Cloud = {
init: function() {
if (this.initialized)
return;
this.initialized = true;
// Define the nodes on which the menus to be appear
var menus = [{
name: 'register_and_deploy_cloud_instance',
module: this,
applies: ['object', 'context'],
callback: 'start_cloud_wizard',
priority: 15,
label: gettext('Deploy Cloud Instance...'),
icon: 'wcTabIcon icon-server',
enable: true,
data: {action: 'create'},
category: 'register',
node: 'server_group',
}, {
name: 'register_and_deploy_cloud_instance',
module: this,
applies: ['object', 'context'],
callback: 'start_cloud_wizard',
priority: 15,
label: gettext('Deploy Cloud Instance...'),
icon: 'wcTabIcon icon-server',
enable: true,
data: {action: 'create'},
category: 'register',
node: 'server',
}];
pgBrowser.add_menus(menus);
return this;
},
// Callback to draw Wizard Dialog
start_cloud_wizard: function() {
// Declare Wizard dialog
if (!Alertify.cloudWizardDialog) {
Alertify.dialog('cloudWizardDialog', function factory() {
// Generate wizard main container
var $container = $('<div class=\'wizard_dlg\' id=\'cloudWizardDlg\'></div>');
return {
main: function () {
/*This is intentional (SonarQube)*/
},
setup: function () {
return {
// Set options for dialog
options: {
frameless: true,
resizable: true,
autoReset: false,
maximizable: true,
closable: true,
closableByDimmer: false,
modal: true,
pinnable: false,
},
};
},
build: function () {
this.elements.content.appendChild($container.get(0));
Alertify.pgDialogBuild.apply(this);
var t = pgBrowser.tree,
i = t.selected(),
d = this.d = i ? t.itemData(i) : undefined,
info = this.info = pgBrowser.tree.getTreeNodeHierarchy(i);
setTimeout(function () {
if (document.getElementById('cloudWizardDlg')) {
ReactDOM.render(
<Theme>
<CloudWizard nodeInfo={info} nodeData={d} />
</Theme>,
document.getElementById('cloudWizardDlg'));
Alertify.cloudWizardDialog().elements.modal.style.maxHeight=0;
Alertify.cloudWizardDialog().elements.modal.style.maxWidth='none';
Alertify.cloudWizardDialog().elements.modal.style.overflow='visible';
Alertify.cloudWizardDialog().elements.dimmer.style.display='none';
}
}, 500);
},
prepare: function () {
$container.empty().append('<div class=\'cloud_wizard_container\'></div>');
},
hooks: {
// Triggered when the dialog is closed
onclose: function () {
// Clear the view and remove the react component.
return setTimeout((function () {
ReactDOM.unmountComponentAtNode(document.getElementById('cloudWizardDlg'));
return Alertify.cloudWizardDialog().destroy();
}), 500);
},
}
};
});
}
// Call Grant Wizard Dialog and set dimensions for wizard
Alertify.cloudWizardDialog('').set({
onmaximize:function(){
Alertify.cloudWizardDialog().elements.modal.style.maxHeight='initial';
},
onrestore:function(){
Alertify.cloudWizardDialog().elements.modal.style.maxHeight=0;
},
}).resizeTo(920, 620);
},
};
return pgBrowser.Cloud;
});

View File

@ -0,0 +1,292 @@
/////////////////////////////////////////////////////////////
//
// pgAdmin 4 - PostgreSQL Tools
//
// Copyright (C) 2013 - 2022, The pgAdmin Development Team
// This software is released under the PostgreSQL Licence
//
//////////////////////////////////////////////////////////////
import gettext from 'sources/gettext';
import BaseUISchema from 'sources/SchemaView/base_schema.ui';
import { isEmptyString } from 'sources/validators';
class CloudInstanceDetailsSchema extends BaseUISchema {
constructor(fieldOptions = {}, initValues = {}) {
super({
oid: undefined,
aws_name: '',
aws_public_ip: '127.0.0.1/32',
...initValues
});
this.fieldOptions = {
...fieldOptions,
};
this.initValues = initValues;
}
get idAttribute() {
return 'oid';
}
get baseFields() {
return [
{
id: 'aws_name', label: gettext('Instance name'), type: 'text',
mode: ['create'], noEmpty: true,
}, {
id: 'aws_public_ip', label: gettext('Public IP range'), type: 'text',
mode: ['create'],
helpMessage: gettext('IP Address range for permitting the inbound traffic. Ex: 127.0.0.1/32'),
}, {
type: 'nested-fieldset', label: gettext('Version & Instance'),
mode: ['create'],
schema: new InstanceSchema(this.fieldOptions.version,
this.fieldOptions.instance_type,
this.fieldOptions.getInstances),
}, {
type: 'nested-fieldset', label: gettext('Storage'),
mode: ['create'],
schema: new StorageSchema(),
},
];
}
}
class CloudDBCredSchema extends BaseUISchema {
constructor(fieldOptions = {}, initValues = {}) {
super({
oid: null,
aws_region: '',
aws_access_key: '',
aws_secret_access_key: '',
aws_session_token: '',
is_valid_cred: false,
...initValues
});
this.fieldOptions = {
...fieldOptions,
};
}
get idAttribute() {
return 'oid';
}
get baseFields() {
return [
{
id: 'aws_region', label: gettext('Region'),
type: 'select',
options: this.fieldOptions.regions,
controlProps: { allowClear: false },
noEmpty: true,
helpMessage: gettext('The cloud instance will be deployed in the selected region.')
},{
id: 'aws_access_key', label: gettext('AWS access key'), type: 'text',
mode: ['create'], noEmpty: true,
}, {
id: 'aws_secret_access_key', label: gettext('AWS secret access key'), type: 'text',
mode: ['create'], noEmpty: true,
}, {
id: 'aws_session_token', label: gettext('AWS session token'), type: 'multiline',
mode: ['create'], noEmpty: false,
helpMessage: gettext('Temporary AWS session required session token.')
}
];
}
}
class DatabaseSchema extends BaseUISchema {
constructor(fieldOptions = {}, initValues={}) {
super({
oid: undefined,
gid: undefined,
aws_db_name: '',
aws_db_username: '',
aws_db_password: '',
aws_db_confirm_password: '',
aws_db_port: 5432,
...initValues,
});
this.fieldOptions = {
...fieldOptions,
};
}
validate(data, setErrMsg) {
if(!isEmptyString(data.aws_db_password) && !isEmptyString(data.aws_db_confirm_password)
&& data.aws_db_password != data.aws_db_confirm_password) {
setErrMsg('aws_db_confirm_password', gettext('Passwords do not match.'));
return true;
} else {
return false;
}
}
get idAttribute() {
return 'oid';
}
get baseFields() {
return [{
id: 'gid', label: gettext('Server group'), type: 'select',
options: this.fieldOptions.server_groups,
mode: ['create'],
controlProps: { allowClear: false },
noEmpty: true,
}, {
id: 'aws_db_name', label: gettext('Database name'), type: 'text',
mode: ['create'], noEmpty: true,
}, {
id: 'aws_db_username', label: gettext('Username'), type: 'text',
mode: ['create'], noEmpty: true,
}, {
id: 'aws_db_password', label: gettext('Password'), type: 'password',
mode: ['create'], noEmpty: true,
}, {
id: 'aws_db_confirm_password', label: gettext('Confirm password'),
type: 'password',
mode: ['create'], noEmpty: true,
}, {
id: 'aws_db_port', label: gettext('Port'), type: 'text',
mode: ['create'], noEmpty: true,
}];
}
}
export class InstanceSchema extends BaseUISchema {
constructor(versionOpts, instanceOpts, getInstances) {
super({
aws_db_version: '',
aws_db_instance_class: 'm',
aws_instance_type: '',
reload_instances: true,
});
this.versionOpts = versionOpts;
this.instanceOpts = instanceOpts;
this.getInstances = getInstances;
this.instanceData = [];
}
get baseFields() {
return [{
id: 'aws_db_version', label: gettext('Database version'),
type: 'select',
options: this.versionOpts,
controlProps: { allowClear: false },
deps: ['aws_name'],
noEmpty: true,
},{
id: 'aws_db_instance_class', label: gettext('Instance class'),
type: 'toggle',
options: [
{'label': gettext('Standard classes (includes m classes)'), value: 'm'},
{'label': gettext('Memory optimized classes (includes r & x classes)'), value: 'x'},
{'label': gettext('Burstable classes (includes t classes)'), value: 't'},
], noEmpty: true, orientation: 'vertical',
},{
id: 'aws_instance_type', label: gettext('Instance type'),
options: this.instanceOpts, noEmpty: true,
controlProps: { allowClear: false },
deps: ['aws_db_version', 'aws_db_instance_class'],
depChange: (state, source)=> {
if (source[0] == 'aws_db_instance_class') {
state.reload_instances = false;
} else {
state.reload_instances = true;
}
},
type: (state) => {
return {
type: 'select',
options: ()=>this.getInstances(state.aws_db_version,
state.reload_instances, state.instanceData),
optionsLoaded: (options) => { state.instanceData = options; },
optionsReloadBasis: state.aws_db_version + (state.aws_db_instance_class || 'm'),
controlProps: {
allowClear: false,
filter: (options) => {
let pattern = 'db.m';
let pattern_1 = 'db.m';
if (state.aws_db_instance_class) {
pattern = 'db.' + state.aws_db_instance_class;
pattern_1 = 'db.' + state.aws_db_instance_class;
}
if (state.aws_db_instance_class == 'x') {
pattern_1 = 'db.' + 'r';
}
return options.filter((option) => {
return (option.value.includes(pattern) || option.value.includes(pattern_1));
});
},
}
};
},
}];
}
}
export class StorageSchema extends BaseUISchema {
constructor() {
super({
aws_storage_type: 'io1',
aws_storage_size: 100,
aws_storage_IOPS: 3000,
aws_storage_msg: 'Minimum: 20 GiB. Maximum: 16,384 GiB.'
});
}
get baseFields() {
return [
{
id: 'aws_storage_type', label: gettext('Storage type'), type: 'select',
mode: ['create'],
options: [
{'label': gettext('General Purpose SSD (gp2)'), 'value': 'gp2'},
{'label': gettext('Provisioned IOPS SSD (io1)'), 'value': 'io1'},
{'label': gettext('Magnetic'), 'value': 'standard'}
], noEmpty: true,
},{
id: 'aws_storage_size', label: gettext('Allocated storage'), type: 'text',
mode: ['create'], noEmpty: true, deps: ['aws_storage_type'],
depChange: (state)=> {
if(state.aws_storage_type === 'io1') {
state.aws_storage_size = 100;
} else if(state.aws_storage_type === 'gp2') {
state.aws_storage_size = 20;
} else {
state.aws_storage_size = 5;
}
},
helpMessage: gettext('Size in GiB.')
}, {
id: 'aws_storage_IOPS', label: gettext('Provisioned IOPS'), type: 'text',
mode: ['create'],
visible: (state) => {
if(state.aws_storage_type === 'io1') {
state.aws_storage_IOPS = 3000;
return true;
}
return false;
} , deps: ['aws_storage_type']
},
];
}
}
export {
CloudInstanceDetailsSchema,
CloudDBCredSchema,
DatabaseSchema,
};

View File

@ -0,0 +1,171 @@
##########################################################################
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2022, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
# AWS RDS PostgreSQL provider
import boto3
import pickle
from flask import session
from boto3.session import Session
class RDS():
def __init__(self, access_key, secret_key, session_token=None,
default_region='ap-south-1'):
self._clients = {}
self._access_key = access_key
self._secret_key = secret_key
self._session_token = session_token
self._default_region = default_region
##########################################################################
# AWS Helper functions
##########################################################################
def _get_aws_client(self, type):
""" Create/cache/return an AWS client object """
if type in self._clients:
return self._clients[type]
session = boto3.Session(
aws_access_key_id=self._access_key,
aws_secret_access_key=self._secret_key,
aws_session_token=self._session_token
)
self._clients[type] = session.client(
type, region_name=self._default_region)
return self._clients[type]
def get_available_db_version(self, engine='postgres'):
rds = self._get_aws_client('rds')
return rds.describe_db_engine_versions(Engine=engine)
def get_available_db_instance_class(self, engine='postgres',
engine_version='9.6'):
rds = self._get_aws_client('rds')
_instances = rds.describe_orderable_db_instance_options(
Engine=engine,
EngineVersion=engine_version)
_instances_list = _instances['OrderableDBInstanceOptions']
_marker = _instances['Marker'] if 'Marker' in _instances else None
while _marker:
_tmp_instances = rds.describe_orderable_db_instance_options(
Engine=engine,
EngineVersion=engine_version,
Marker=_marker)
_instances_list = [*_instances_list,
*_tmp_instances['OrderableDBInstanceOptions']]
_marker = _tmp_instances['Marker'] if 'Marker'\
in _tmp_instances else None
return _instances_list
def get_db_instance(self, instance_name):
rds = self._get_aws_client('rds')
return rds.describe_db_instances(
DBInstanceIdentifier=instance_name)
def validate_credentials(self):
client = self._get_aws_client('sts')
try:
identity = client.get_caller_identity()
return True, identity
except Exception as e:
return False, str(e)
finally:
self._clients.pop('sts')
def verify_aws_credentials(data):
"""Verify Credentials"""
session_token = data['secret']['aws_session_token'] if\
'aws_session_token' in data['secret'] else None
if 'aws' not in session:
session['aws'] = {}
if 'aws_rds_obj' not in session['aws'] or\
session['aws']['secret'] != data['secret']:
_rds = RDS(
access_key=data['secret']['aws_access_key'],
secret_key=data['secret']['aws_secret_access_key'],
session_token=session_token,
default_region=data['secret']['aws_region'])
status, identity = _rds.validate_credentials()
if status:
session['aws']['secret'] = data['secret']
session['aws']['aws_rds_obj'] = pickle.dumps(_rds, -1)
return status, identity
return True, None
def clear_aws_session():
"""Clear AWS Session"""
if 'aws' in session:
session.pop('aws')
def get_aws_db_instances(eng_version):
"""Get AWS DB Instances"""
if 'aws' not in session:
return False, 'Session has not created yet.'
if not eng_version or eng_version == '' or eng_version == 'undefined':
eng_version = '9.6.1'
rds_obj = pickle.loads(session['aws']['aws_rds_obj'])
res = rds_obj.get_available_db_instance_class(
engine_version=eng_version)
versions_set = set()
versions = []
for value in res:
versions_set.add(value['DBInstanceClass'])
for value in versions_set:
versions.append({
'label': value,
'value': value
})
return True, versions
def get_aws_db_versions():
"""Get AWS DB Versions"""
if 'aws' not in session:
return False, 'Session has not created yet.'
rds_obj = pickle.loads(session['aws']['aws_rds_obj'])
db_versions = rds_obj.get_available_db_version()
res = db_versions['DBEngineVersions']
versions = []
for value in res:
versions.append({
'label': value['DBEngineVersionDescription'],
'value': value['EngineVersion']
})
return True, versions
def get_aws_regions():
"""Get AWS DB Versions"""
clear_aws_session()
_session = Session()
res = _session.get_available_regions('rds')
regions = []
for value in res:
regions.append({
'label': value,
'value': value
})
return True, regions

View File

@ -30,7 +30,7 @@ import uuid
#
##########################################################################
SCHEMA_VERSION = 32
SCHEMA_VERSION = 33
##########################################################################
#
@ -192,6 +192,7 @@ class Server(db.Model):
tunnel_password = db.Column(db.String(64), nullable=True)
shared = db.Column(db.Boolean(), nullable=False)
kerberos_conn = db.Column(db.Boolean(), nullable=False, default=0)
cloud_status = db.Column(db.Integer(), nullable=False, default=0)
@property
def serialize(self):
@ -325,6 +326,11 @@ class Process(db.Model):
acknowledge = db.Column(db.String(), nullable=True)
utility_pid = db.Column(db.Integer, nullable=False)
process_state = db.Column(db.Integer, nullable=False)
server_id = db.Column(
db.Integer,
db.ForeignKey('server.id'),
nullable=True
)
class Keys(db.Model):

View File

@ -173,7 +173,8 @@ MappedCellControlBase.propTypes = {
const ALLOWED_PROPS_FIELD_COMMON = [
'mode', 'value', 'readonly', 'disabled', 'hasError', 'id',
'label', 'options', 'optionsLoaded', 'controlProps', 'schema', 'inputRef',
'visible', 'autoFocus', 'helpMessage', 'className', 'optionsReloadBasis'
'visible', 'autoFocus', 'helpMessage', 'className', 'optionsReloadBasis',
'orientation'
];
const ALLOWED_PROPS_FIELD_FORM = [

View File

@ -430,6 +430,10 @@ function getFinalTheme(baseTheme) {
backgroundColor: 'abc',
}
}
},
label: {
textTransform: 'initial',
}
},
MuiFormHelperText: {

View File

@ -14,13 +14,14 @@ import axios from 'axios';
/* Get the axios instance to call back end APIs.
Do not import axios directly, instead use this */
export default function getApiInstance(headers={}) {
return axios.create({
const api = axios.create({
headers: {
'Content-type': 'application/json',
[pgAdmin.csrf_token_header]: pgAdmin.csrf_token,
...headers,
}
});
return api;
}
export function parseApiError(error) {

View File

@ -44,7 +44,7 @@ var initBrowserTree = async (pgBrowser) => {
retval = 1;
}
return retval;
},
},
}
// Create Node

View File

@ -60,7 +60,7 @@ define([
module: this,
applies: ['tools'],
callback: 'startBackupGlobal',
priority: 2,
priority: 3,
label: gettext('Backup Globals...'),
icon: 'fa fa-save',
enable: menuUtils.menuEnabledServer,
@ -72,7 +72,7 @@ define([
module: this,
applies: ['tools'],
callback: 'startBackupServer',
priority: 2,
priority: 3,
label: gettext('Backup Server...'),
icon: 'fa fa-save',
enable: menuUtils.menuEnabledServer,
@ -85,7 +85,7 @@ define([
node: 'server',
applies: ['context'],
callback: 'startBackupGlobal',
priority: 2,
priority: 3,
label: gettext('Backup Globals...'),
icon: 'fa fa-save',
enable: menuUtils.menuEnabledServer,
@ -98,7 +98,7 @@ define([
node: 'server',
applies: ['context'],
callback: 'startBackupServer',
priority: 2,
priority: 3,
label: gettext('Backup Server...'),
icon: 'fa fa-save',
enable: menuUtils.menuEnabledServer,
@ -110,7 +110,7 @@ define([
module: this,
applies: ['tools'],
callback: 'backupObjects',
priority: 2,
priority: 3,
label: gettext('Backup...'),
icon: 'fa fa-save',
enable: supportedNodes.enabled.bind(
@ -128,7 +128,7 @@ define([
module: this,
applies: ['context'],
callback: 'backupObjects',
priority: 2,
priority: 3,
label: gettext('Backup...'),
icon: 'fa fa-save',
enable: supportedNodes.enabled.bind(

View File

@ -566,6 +566,7 @@ module.exports = [{
'pure|pgadmin.tools.search_objects',
'pure|pgadmin.tools.erd_module',
'pure|pgadmin.tools.psql_module',
'pure|pgadmin.misc.cloud',
],
},
},

View File

@ -221,6 +221,7 @@ var webpackShimConfig = {
'pgadmin.file_utility': path.join(__dirname, './pgadmin/misc/file_manager/static/js/utility'),
'pgadmin.help': path.join(__dirname, './pgadmin/help/static/js/help'),
'pgadmin.misc.explain': path.join(__dirname, './pgadmin/misc/static/explain/js/explain'),
'pgadmin.misc.cloud': path.join(__dirname, './pgadmin/misc/cloud/static/js/cloud'),
'pgadmin.node.cast': path.join(__dirname, './pgadmin/browser/server_groups/servers/databases/casts/static/js/cast'),
'pgadmin.node.publication': path.join(__dirname, './pgadmin/browser/server_groups/servers/databases/publications/static/js/publication'),
'pgadmin.node.subscription': path.join(__dirname, './pgadmin/browser/server_groups/servers/databases/subscriptions/static/js/subscription'),