public static DynamoDbTableEncryptionConfig DynamoDbTableEncryptionConfig()

in DynamoDbEncryption/runtimes/java/src/main/smithy-generated/software/amazon/cryptography/dbencryptionsdk/dynamodb/ToDafny.java [296:428]


  public static DynamoDbTableEncryptionConfig DynamoDbTableEncryptionConfig(
    software.amazon.cryptography.dbencryptionsdk.dynamodb.model.DynamoDbTableEncryptionConfig nativeValue
  ) {
    DafnySequence<? extends Character> logicalTableName;
    logicalTableName =
      software.amazon.smithy.dafny.conversion.ToDafny.Simple.CharacterSequence(
        nativeValue.logicalTableName()
      );
    DafnySequence<? extends Character> partitionKeyName;
    partitionKeyName =
      software.amazon.smithy.dafny.conversion.ToDafny.Simple.CharacterSequence(
        nativeValue.partitionKeyName()
      );
    Option<DafnySequence<? extends Character>> sortKeyName;
    sortKeyName =
      Objects.nonNull(nativeValue.sortKeyName())
        ? Option.create_Some(
          DafnySequence._typeDescriptor(TypeDescriptor.CHAR),
          software.amazon.smithy.dafny.conversion.ToDafny.Simple.CharacterSequence(
            nativeValue.sortKeyName()
          )
        )
        : Option.create_None(
          DafnySequence._typeDescriptor(TypeDescriptor.CHAR)
        );
    Option<SearchConfig> search;
    search =
      Objects.nonNull(nativeValue.search())
        ? Option.create_Some(
          SearchConfig._typeDescriptor(),
          ToDafny.SearchConfig(nativeValue.search())
        )
        : Option.create_None(SearchConfig._typeDescriptor());
    DafnyMap<
      ? extends DafnySequence<? extends Character>,
      ? extends CryptoAction
    > attributeActionsOnEncrypt;
    attributeActionsOnEncrypt =
      ToDafny.AttributeActions(nativeValue.attributeActionsOnEncrypt());
    Option<
      DafnySequence<? extends DafnySequence<? extends Character>>
    > allowedUnsignedAttributes;
    allowedUnsignedAttributes =
      (Objects.nonNull(nativeValue.allowedUnsignedAttributes()) &&
          nativeValue.allowedUnsignedAttributes().size() > 0)
        ? Option.create_Some(
          DafnySequence._typeDescriptor(
            DafnySequence._typeDescriptor(TypeDescriptor.CHAR)
          ),
          software.amazon.cryptography.services.dynamodb.internaldafny.ToDafny.AttributeNameList(
            nativeValue.allowedUnsignedAttributes()
          )
        )
        : Option.create_None(
          DafnySequence._typeDescriptor(
            DafnySequence._typeDescriptor(TypeDescriptor.CHAR)
          )
        );
    Option<DafnySequence<? extends Character>> allowedUnsignedAttributePrefix;
    allowedUnsignedAttributePrefix =
      Objects.nonNull(nativeValue.allowedUnsignedAttributePrefix())
        ? Option.create_Some(
          DafnySequence._typeDescriptor(TypeDescriptor.CHAR),
          software.amazon.smithy.dafny.conversion.ToDafny.Simple.CharacterSequence(
            nativeValue.allowedUnsignedAttributePrefix()
          )
        )
        : Option.create_None(
          DafnySequence._typeDescriptor(TypeDescriptor.CHAR)
        );
    Option<DBEAlgorithmSuiteId> algorithmSuiteId;
    algorithmSuiteId =
      Objects.nonNull(nativeValue.algorithmSuiteId())
        ? Option.create_Some(
          DBEAlgorithmSuiteId._typeDescriptor(),
          software.amazon.cryptography.materialproviders.ToDafny.DBEAlgorithmSuiteId(
            nativeValue.algorithmSuiteId()
          )
        )
        : Option.create_None(DBEAlgorithmSuiteId._typeDescriptor());
    Option<IKeyring> keyring;
    keyring =
      Objects.nonNull(nativeValue.keyring())
        ? Option.create_Some(
          TypeDescriptor.reference(IKeyring.class),
          software.amazon.cryptography.materialproviders.ToDafny.Keyring(
            nativeValue.keyring()
          )
        )
        : Option.create_None(TypeDescriptor.reference(IKeyring.class));
    Option<ICryptographicMaterialsManager> cmm;
    cmm =
      Objects.nonNull(nativeValue.cmm())
        ? Option.create_Some(
          TypeDescriptor.reference(ICryptographicMaterialsManager.class),
          software.amazon.cryptography.materialproviders.ToDafny.CryptographicMaterialsManager(
            nativeValue.cmm()
          )
        )
        : Option.create_None(
          TypeDescriptor.reference(ICryptographicMaterialsManager.class)
        );
    Option<LegacyOverride> legacyOverride;
    legacyOverride =
      Objects.nonNull(nativeValue.legacyOverride())
        ? Option.create_Some(
          LegacyOverride._typeDescriptor(),
          ToDafny.LegacyOverride(nativeValue.legacyOverride())
        )
        : Option.create_None(LegacyOverride._typeDescriptor());
    Option<PlaintextOverride> plaintextOverride;
    plaintextOverride =
      Objects.nonNull(nativeValue.plaintextOverride())
        ? Option.create_Some(
          PlaintextOverride._typeDescriptor(),
          ToDafny.PlaintextOverride(nativeValue.plaintextOverride())
        )
        : Option.create_None(PlaintextOverride._typeDescriptor());
    return new DynamoDbTableEncryptionConfig(
      logicalTableName,
      partitionKeyName,
      sortKeyName,
      search,
      attributeActionsOnEncrypt,
      allowedUnsignedAttributes,
      allowedUnsignedAttributePrefix,
      algorithmSuiteId,
      keyring,
      cmm,
      legacyOverride,
      plaintextOverride
    );
  }