async packageRDSClusters()

in source/backend/discovery/src/discovery/rdsCluster.js [44:103]


    async packageRDSClusters(rdsClusters, accountId, awsRegion) {
        return rdsClusters.DBClusters.map(rdsCluster => {
            let data = {
                resourceId: rdsCluster.DBClusterIdentifier + "_" + awsRegion + "_" + accountId,
                resourceType: "AWS::RDS::DBCluster",
                accountId: accountId
            }

            let properties = {
                resourceId: rdsCluster.DBClusterIdentifier + "_" + awsRegion + "_" + accountId,
                dbClusterIdentifier: rdsCluster.DBClusterIdentifier,
                resourceType: "AWS::RDS::DBCluster",
                accountId: accountId,
                availabilityZones: rdsCluster.AvailabilityZones.join(","),
                availabilityZone: 'Multiple Availability Zones',
                dbClusterParameterGroup: rdsCluster.DbClusterParameterGroup,
                dBSubnetGroup: rdsCluster.DBSubnetGroup,
                status: rdsCluster.status,
                earliestRestorableTime: rdsCluster.EarliestRestorableTime,
                endpoint: rdsCluster.Endpoint,
                readerEndpoint: rdsCluster.ReaderEndpoint,
                multiAZ: rdsCluster.MultiAZ,
                engine: rdsCluster.Engine,
                engineVersion: rdsCluster.EngineVersion,
                //latestRestorableTime: rdsCluster.LatestRestorableTime,
                port: rdsCluster.Port,
                masterUserName: rdsCluster.MasterUserName,
                preferredBackupWindow: rdsCluster.PreferredBackupWindow,
                preferredMaintenanceWindow: rdsCluster.PrefferedMaintenaceWindow,
                dbClusterMembers: JSON.stringify(rdsCluster.DBClusterMembers),
                vpcSecurityGroups: JSON.stringify(rdsCluster.VpcSecurityGroups),
                hostedZoneId: rdsCluster.HostedZoneId,
                storageEncrypted: rdsCluster.StorageEncrypted,
                dbClusterArn: rdsCluster.DBClusterArn,
                associatedRoles: JSON.stringify(rdsCluster.AssociatedRoles),
                iamDatabaseAuthenticationEnabled: rdsCluster.IamDatabaseAuthenticationEnabled,
                clusterCreateTime: rdsCluster.ClusterCreateTime,
                engineMode: rdsCluster.EngineMode,
                deletionProtection: rdsCluster.DeletionProtection,
                httpEndpointEnabled: rdsCluster.HttpEndpointEnabled,
                awsRegion: awsRegion,
                temporary: {
                    dbClusterMembers: rdsCluster.DBClusterMembers,
                    vpcSecurityGroups: rdsCluster.VpcSecurityGroups
                }
            };

            // Getting the cluster arn.
            this.getClusterARN(properties);

            this.splitOutProperties("dbClusterMembers", rdsCluster.DBClusterMembers, properties);
            this.splitOutProperties("vpcSecurityGroups", rdsCluster.VpcSecurityGroups, properties);

            data.properties = properties;
            this.appendConsoleURL(data);
            generateHeader.generateHeader(data);

            return data;
        });
    }