static ResourceModel translateFromReadResponse()

in aws-licensemanager-license/src/main/java/software/amazon/licensemanager/license/Translator.java [113:159]


  static ResourceModel translateFromReadResponse(final GetLicenseResponse getLicenseResponse) {
    // e.g. https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs/blob/master/aws-logs-loggroup/src/main/java/software/amazon/logs/loggroup/Translator.java#L58
    License license = getLicenseResponse.license();
    IssuerData issuerData = IssuerData.builder().name(license.issuer().name())
            .signKey(license.issuer().signKey()).build();
    ValidityDateFormat validityDateFormat = ValidityDateFormat.builder().begin(license.validity().begin())
            .end(license.validity().end()).build();
    List<Entitlement> entitlements = new ArrayList<>();
    for (software.amazon.awssdk.services.licensemanager.model.Entitlement entitlement : license.entitlements()) {
      entitlements.add(Entitlement.builder().name(entitlement.name())
              .unit(entitlement.unitAsString())
              .allowCheckIn(entitlement.allowCheckIn())
              .maxCount(entitlement.maxCount().intValue())
              .overage(entitlement.overage()).build());
    }

    ProvisionalConfiguration provisionalConfiguration = ProvisionalConfiguration.builder()
                    .maxTimeToLiveInMinutes(license.consumptionConfiguration().provisionalConfiguration()
                            .maxTimeToLiveInMinutes()).build();

    ConsumptionConfiguration consumptionConfiguration = ConsumptionConfiguration.builder()
            .renewType(license.consumptionConfiguration().renewType().toString())
            .provisionalConfiguration(provisionalConfiguration)
            .build();

    List<Metadata> metadataList = new ArrayList<>();
    for (software.amazon.awssdk.services.licensemanager.model.Metadata metadata : license.licenseMetadata()) {
      metadataList.add(Metadata.builder().name(metadata.name())
              .value(metadata.value()).build());
    }

    return ResourceModel.builder()
            .licenseArn(license.licenseArn())
            .licenseName(license.licenseName())
            .productName(license.productName())
            .productSKU(license.productSKU())
            .issuer(issuerData)
            .status(license.status().toString())
            .validity(validityDateFormat)
            .homeRegion(license.homeRegion())
            .beneficiary(license.beneficiary())
            .entitlements(entitlements)
            .consumptionConfiguration(consumptionConfiguration)
            .version(license.version())
            .licenseMetadata(metadataList)
            .build();
  }