naftiko: 1.0.0-alpha2 info: label: Amazon RDS API — DB Instances description: 'Amazon RDS API — DB Instances. 5 operations. Lead operation: Amazon RDS Create a new DB instance. Self-contained Naftiko capability covering one Amazon Rds business surface.' tags: - Amazon Rds - DB Instances created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: AMAZON_RDS_API_KEY: AMAZON_RDS_API_KEY capability: consumes: - type: http namespace: amazon-rds-db-instances baseUri: https://rds.{region}.amazonaws.com description: Amazon RDS API — DB Instances business capability. Self-contained, no shared references. resources: - name: ?Action=CreateDBInstance path: /?Action=CreateDBInstance operations: - name: createdbinstance method: GET description: Amazon RDS Create a new DB instance outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: DBInstanceIdentifier in: query type: string description: The DB instance identifier, unique for each DB instance required: true - name: DBInstanceClass in: query type: string description: The compute and memory capacity of the DB instance (e.g., db.m5.large) required: true - name: Engine in: query type: string description: The database engine to use (mysql, postgres, mariadb, oracle-ee, sqlserver-ee, aurora-mysql, aurora-postgresql) required: true - name: MasterUsername in: query type: string description: The name for the master user - name: MasterUserPassword in: query type: string description: The password for the master user - name: AllocatedStorage in: query type: integer description: The amount of storage in gibibytes (GiB) to allocate for the DB instance - name: EngineVersion in: query type: string description: The version number of the database engine to use - name: DBName in: query type: string description: The name of the database to create when the DB instance is created - name: Port in: query type: integer description: The port number on which the database accepts connections - name: MultiAZ in: query type: boolean description: Whether the DB instance is a Multi-AZ deployment - name: StorageType in: query type: string description: The storage type to associate with the DB instance (gp2, gp3, io1, standard) - name: PubliclyAccessible in: query type: boolean description: Whether the DB instance is publicly accessible - name: VpcSecurityGroupIds.member.1 in: query type: string description: A VPC security group to associate with the DB instance - name: DBSubnetGroupName in: query type: string description: A DB subnet group to associate with this DB instance - name: ?Action=DeleteDBInstance path: /?Action=DeleteDBInstance operations: - name: deletedbinstance method: GET description: Amazon RDS Delete a DB instance outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: DBInstanceIdentifier in: query type: string description: The DB instance identifier for the DB instance to be deleted required: true - name: SkipFinalSnapshot in: query type: boolean description: Whether to skip the creation of a final DB snapshot before deleting the instance - name: FinalDBSnapshotIdentifier in: query type: string description: The identifier of the final DB snapshot to create before deleting the instance - name: DeleteAutomatedBackups in: query type: boolean description: Whether to remove automated backups immediately after deletion - name: ?Action=DescribeDBInstances path: /?Action=DescribeDBInstances operations: - name: describedbinstances method: GET description: Amazon RDS Describe DB instances outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: DBInstanceIdentifier in: query type: string description: The identifier of the DB instance to describe - name: Filters.member.1.Name in: query type: string description: The name of a filter - name: Filters.member.1.Values.member.1 in: query type: string description: A value for the filter - name: MaxRecords in: query type: integer description: Maximum number of records to include in the response - name: Marker in: query type: string description: An optional pagination token provided by a previous request - name: ?Action=ModifyDBInstance path: /?Action=ModifyDBInstance operations: - name: modifydbinstance method: GET description: Amazon RDS Modify a DB instance outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: DBInstanceIdentifier in: query type: string description: The DB instance identifier for the instance to be modified required: true - name: DBInstanceClass in: query type: string description: The new compute and memory capacity of the DB instance - name: AllocatedStorage in: query type: integer description: The new amount of storage in GiB to allocate for the DB instance - name: MasterUserPassword in: query type: string description: The new password for the master user - name: MultiAZ in: query type: boolean description: Whether the DB instance is a Multi-AZ deployment - name: EngineVersion in: query type: string description: The version number of the database engine to upgrade to - name: ApplyImmediately in: query type: boolean description: Whether to apply the modification immediately or during the next maintenance window - name: BackupRetentionPeriod in: query type: integer description: The number of days to retain automated backups (0-35) - name: StorageType in: query type: string description: The storage type to associate with the DB instance - name: ?Action=RebootDBInstance path: /?Action=RebootDBInstance operations: - name: rebootdbinstance method: GET description: Amazon RDS Reboot a DB instance outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: DBInstanceIdentifier in: query type: string description: The DB instance identifier required: true - name: ForceFailover in: query type: boolean description: Whether to force a failover from one AZ to another in a Multi-AZ deployment authentication: type: apikey key: Authorization value: '{{env.AMAZON_RDS_API_KEY}}' placement: header exposes: - type: rest namespace: amazon-rds-db-instances-rest port: 8080 description: REST adapter for Amazon RDS API — DB Instances. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/action-createdbinstance name: action-createdbinstance description: REST surface for ?Action=CreateDBInstance. operations: - method: GET name: createdbinstance description: Amazon RDS Create a new DB instance call: amazon-rds-db-instances.createdbinstance with: DBInstanceIdentifier: rest.DBInstanceIdentifier DBInstanceClass: rest.DBInstanceClass Engine: rest.Engine MasterUsername: rest.MasterUsername MasterUserPassword: rest.MasterUserPassword AllocatedStorage: rest.AllocatedStorage EngineVersion: rest.EngineVersion DBName: rest.DBName Port: rest.Port MultiAZ: rest.MultiAZ StorageType: rest.StorageType PubliclyAccessible: rest.PubliclyAccessible VpcSecurityGroupIds.member.1: rest.VpcSecurityGroupIds.member.1 DBSubnetGroupName: rest.DBSubnetGroupName outputParameters: - type: object mapping: $. - path: /v1/action-deletedbinstance name: action-deletedbinstance description: REST surface for ?Action=DeleteDBInstance. operations: - method: GET name: deletedbinstance description: Amazon RDS Delete a DB instance call: amazon-rds-db-instances.deletedbinstance with: DBInstanceIdentifier: rest.DBInstanceIdentifier SkipFinalSnapshot: rest.SkipFinalSnapshot FinalDBSnapshotIdentifier: rest.FinalDBSnapshotIdentifier DeleteAutomatedBackups: rest.DeleteAutomatedBackups outputParameters: - type: object mapping: $. - path: /v1/action-describedbinstances name: action-describedbinstances description: REST surface for ?Action=DescribeDBInstances. operations: - method: GET name: describedbinstances description: Amazon RDS Describe DB instances call: amazon-rds-db-instances.describedbinstances with: DBInstanceIdentifier: rest.DBInstanceIdentifier Filters.member.1.Name: rest.Filters.member.1.Name Filters.member.1.Values.member.1: rest.Filters.member.1.Values.member.1 MaxRecords: rest.MaxRecords Marker: rest.Marker outputParameters: - type: object mapping: $. - path: /v1/action-modifydbinstance name: action-modifydbinstance description: REST surface for ?Action=ModifyDBInstance. operations: - method: GET name: modifydbinstance description: Amazon RDS Modify a DB instance call: amazon-rds-db-instances.modifydbinstance with: DBInstanceIdentifier: rest.DBInstanceIdentifier DBInstanceClass: rest.DBInstanceClass AllocatedStorage: rest.AllocatedStorage MasterUserPassword: rest.MasterUserPassword MultiAZ: rest.MultiAZ EngineVersion: rest.EngineVersion ApplyImmediately: rest.ApplyImmediately BackupRetentionPeriod: rest.BackupRetentionPeriod StorageType: rest.StorageType outputParameters: - type: object mapping: $. - path: /v1/action-rebootdbinstance name: action-rebootdbinstance description: REST surface for ?Action=RebootDBInstance. operations: - method: GET name: rebootdbinstance description: Amazon RDS Reboot a DB instance call: amazon-rds-db-instances.rebootdbinstance with: DBInstanceIdentifier: rest.DBInstanceIdentifier ForceFailover: rest.ForceFailover outputParameters: - type: object mapping: $. - type: mcp namespace: amazon-rds-db-instances-mcp port: 9090 transport: http description: MCP adapter for Amazon RDS API — DB Instances. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: amazon-rds-create-new-db description: Amazon RDS Create a new DB instance hints: readOnly: true destructive: false idempotent: true call: amazon-rds-db-instances.createdbinstance with: DBInstanceIdentifier: tools.DBInstanceIdentifier DBInstanceClass: tools.DBInstanceClass Engine: tools.Engine MasterUsername: tools.MasterUsername MasterUserPassword: tools.MasterUserPassword AllocatedStorage: tools.AllocatedStorage EngineVersion: tools.EngineVersion DBName: tools.DBName Port: tools.Port MultiAZ: tools.MultiAZ StorageType: tools.StorageType PubliclyAccessible: tools.PubliclyAccessible VpcSecurityGroupIds.member.1: tools.VpcSecurityGroupIds.member.1 DBSubnetGroupName: tools.DBSubnetGroupName outputParameters: - type: object mapping: $. - name: amazon-rds-delete-db-instance description: Amazon RDS Delete a DB instance hints: readOnly: true destructive: false idempotent: true call: amazon-rds-db-instances.deletedbinstance with: DBInstanceIdentifier: tools.DBInstanceIdentifier SkipFinalSnapshot: tools.SkipFinalSnapshot FinalDBSnapshotIdentifier: tools.FinalDBSnapshotIdentifier DeleteAutomatedBackups: tools.DeleteAutomatedBackups outputParameters: - type: object mapping: $. - name: amazon-rds-describe-db-instances description: Amazon RDS Describe DB instances hints: readOnly: true destructive: false idempotent: true call: amazon-rds-db-instances.describedbinstances with: DBInstanceIdentifier: tools.DBInstanceIdentifier Filters.member.1.Name: tools.Filters.member.1.Name Filters.member.1.Values.member.1: tools.Filters.member.1.Values.member.1 MaxRecords: tools.MaxRecords Marker: tools.Marker outputParameters: - type: object mapping: $. - name: amazon-rds-modify-db-instance description: Amazon RDS Modify a DB instance hints: readOnly: true destructive: false idempotent: true call: amazon-rds-db-instances.modifydbinstance with: DBInstanceIdentifier: tools.DBInstanceIdentifier DBInstanceClass: tools.DBInstanceClass AllocatedStorage: tools.AllocatedStorage MasterUserPassword: tools.MasterUserPassword MultiAZ: tools.MultiAZ EngineVersion: tools.EngineVersion ApplyImmediately: tools.ApplyImmediately BackupRetentionPeriod: tools.BackupRetentionPeriod StorageType: tools.StorageType outputParameters: - type: object mapping: $. - name: amazon-rds-reboot-db-instance description: Amazon RDS Reboot a DB instance hints: readOnly: true destructive: false idempotent: true call: amazon-rds-db-instances.rebootdbinstance with: DBInstanceIdentifier: tools.DBInstanceIdentifier ForceFailover: tools.ForceFailover outputParameters: - type: object mapping: $.