private async fireSNSevent()

in source/packages/services/bulkcerts/src/certificates/certificatestask.service.ts [118:199]


    private async fireSNSevent(
        taskId: string,
        chunkId: number,
        quantity: number,
        caAlias: string,
        certInfo: CertificateInfo
    ): Promise<void> {
        logger.debug(
            `certificatestask.service fireSNSevent: in: taskId:${taskId}, chunkId:${chunkId}, quantity:${quantity}`
        );

        ow(taskId, ow.string.nonEmpty);
        ow(chunkId, ow.number.greaterThan(0));
        ow(quantity, ow.number.greaterThan(0));

        // Populate certInfo from config file if no arguments have been supplied
        if (certInfo.commonName === undefined) {
            certInfo.commonName = {
                generator: CommonNameGenerator.static,
                commonNameStatic: this.commonName,
            };
        }
        if (certInfo.commonNameList === undefined) {
            certInfo.commonNameList = [];
        }

        if (certInfo.organization === undefined) {
            certInfo.organization = this.organization;
        }
        if (certInfo.organizationalUnit === undefined) {
            certInfo.organizationalUnit = this.organizationalUnit;
        }
        if (certInfo.locality === undefined) {
            certInfo.locality = this.locality;
        }
        if (certInfo.stateName === undefined) {
            certInfo.stateName = this.stateName;
        }
        if (certInfo.country === undefined) {
            certInfo.country = this.country;
        }
        if (certInfo.emailAddress === undefined) {
            certInfo.emailAddress = this.emailAddress;
        }
        if (certInfo.distinguishedNameQualifier === undefined) {
            certInfo.distinguishedNameQualifier = this.distinguishedNameQualifier;
        }
        if (certInfo.includeCA === undefined) {
            certInfo.includeCA = false;
        }
        if (certInfo.daysExpiry === undefined) {
            certInfo.daysExpiry = this.defaultDaysExpiry;
        }

        const msg: CertificateChunkRequest = {
            certInfo: {
                commonName: certInfo.commonName,
                organization: certInfo.organization,
                organizationalUnit: certInfo.organizationalUnit,
                locality: certInfo.locality,
                stateName: certInfo.stateName,
                country: certInfo.country,
                emailAddress: certInfo.emailAddress,
                distinguishedNameQualifier: certInfo.distinguishedNameQualifier,
                includeCA: certInfo.includeCA,
            },
            taskId,
            chunkId,
            quantity,
            caAlias,
        };
        const params: SNS.Types.PublishInput = {
            Subject: 'CreateChunk',
            Message: JSON.stringify(msg),
            TopicArn: this.requestTopic,
        };
        logger.silly(
            `certificatestask.service fireSNSevent: publishing:${JSON.stringify(params)}`
        );
        await this._sns.publish(params).promise();
        logger.debug('certificatestask.service fireSNSevent: exit:');
    }