Экземпляр базы данных mocked rds не считывается из параметра EnableIAMDatabaseAuthentication - PullRequest
0 голосов
/ 14 января 2020

У меня есть этот тест, который я пытаюсь проверить, но не похоже, что EnableIAMDatabaseAuthentication передается в moto

@mock_rds
def test_iam_database_authentication_enabled(self):
    print(self.client.create_db_instance(
        DBInstanceIdentifier='db-master-1',
        AllocatedStorage=10,
        Engine='postgres',
        DBInstanceClass='db.m1.small',
        EnableIAMDatabaseAuthentication=True,
        MasterUsername='root',
        MasterUserPassword='hunter2',
        Port=1234,
    ))

{'DBInstance': {'DBInstanceIdentifier': 'db-master-1', 'DBInstanceClass': 'db.m1.small', 'Engine': 'postgres', 'DBInstanceStatus': 'available', 'MasterUsername': 'root', 'Endpoint ': {' Address ':' db-master-1.aaaaaaaaaa.us-east-2.rds.amazon aws .com ',' Port ': 1234},' AllocatedStorage ': 10,' InstanceCreateTime ': datetime .datetime (2020, 1, 13, 13, 1, 10, 665000, tzinfo = tzut c ()), 'PreferredBackupWindow': '03: 50-04: 20 ',' BackupRetentionPeriod ': 1,' DBSecurityGroups ' : [], 'VpcSecurityGroups': [], 'DBParameterGroups': [{'DBParameterGroupName': 'default.postgres9.3', 'ParameterApplyStatus': 'in-syn c'}], 'PreferredMaintenanceWindow': 'wed : 06: 38 - среда: 07: 08 ',' MultiAZ ': False,' EngineVersion ':' 9.3.3 ',' AutoMinorVersionUpgrade ': False,' ReadReplicaDBInstanceIdentifiers ': [],' LicenseModel ':' general-publi c -license ',' OptionGro upMemberships ': [{' OptionGroupName ':' default.postgres9.3 ',' Status ':' in-syn c '}],' PubliclyAccessible ': False,' StatusInfos ': [],' StorageType ':' gp2 ',' StorageEncrypted ': False,' DbiResourceId ':' db-M5ENSHXFPU6XHZ4G4ZEI5QIO2U ',' CopyTagsToSnapshot ': False,' DBInstanceArn ':' arn: aws: rds: us45-db-2-d90: 2 master-1 ',' IAMDatabaseAuthenticationEnabled ': False},' ResponseMetadata ': {' RequestId ':' 523e3218-afc7-11c3-90f5-f90431260ab4 ',' HTTPStatusCode ': 200,' HTTPHeaders ': {' server ':' amazon .com '},' RetryAttempts ': 0}}

Я делаю что-то не так, пытаясь передать параметр EnableIAMDatabaseAuthentication? Должно быть установлено значение: IAMDatabaseAuthenticationEnabled

1 Ответ

0 голосов
/ 14 января 2020

Я могу подтвердить, что сама библиотека moto не передает параметр EnableIAMDatabaseAuthentication из этой строки кода в библиотеке moto .

Однако я сделал вывод по приведенной выше ссылке, а чем смотреть возвращаемое значение функции create_db_instance, потому что я посмотрел на boto3 rds reference , его ответное значение не все равно возвращает EnableIAMDatabaseAuthentication.

Вы не сделали не делайте ничего плохого, это значение просто не существует в ответе от boto3. Даже если один день moto действительно передаст этот параметр, он не будет отображаться до boto3. Одним из примеров этого является параметр MasterUserPassword, , который передаёт moto, но boto3 не включает его в ответ.

...