All Downloads are FREE. Search and download functionalities are using the official Maven repository.

AwsKmsUtils_Compile.__default Maven / Gradle / Ivy

The newest version!
// Class __default
// Dafny class __default compiled into Java
package AwsKmsUtils_Compile;

import software.amazon.cryptography.keystore.internaldafny.types.*;
import software.amazon.cryptography.materialproviders.internaldafny.types.*;
import AwsArnParsing_Compile.*;
import AwsKmsMrkMatchForDecrypt_Compile.*;

@SuppressWarnings({"unchecked", "deprecation"})
public class __default {
  public __default() {
  }
  public static Wrappers_Compile.Result, ? extends dafny.DafnySequence>, software.amazon.cryptography.materialproviders.internaldafny.types.Error> StringifyEncryptionContext(dafny.DafnyMap, ? extends dafny.DafnySequence> utf8EncCtx) {
    if ((java.math.BigInteger.valueOf((utf8EncCtx).size())).signum() == 0) {
      return Wrappers_Compile.Result., ? extends dafny.DafnySequence>, software.amazon.cryptography.materialproviders.internaldafny.types.Error>create_Success(dafny.DafnyMap., dafny.DafnySequence>_typeDescriptor(dafny.DafnySequence._typeDescriptor(dafny.TypeDescriptor.CHAR), dafny.DafnySequence._typeDescriptor(dafny.TypeDescriptor.CHAR)), software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor(), dafny.DafnyMap.fromElements());
    } else {
      dafny.DafnyMap, ? extends Wrappers_Compile.Result, dafny.DafnySequence>, software.amazon.cryptography.materialproviders.internaldafny.types.Error>> _0_stringifyResults = ((java.util.function.Function, ? extends dafny.DafnySequence>, dafny.DafnyMap, ? extends Wrappers_Compile.Result, dafny.DafnySequence>, software.amazon.cryptography.materialproviders.internaldafny.types.Error>>>)(_1_utf8EncCtx) -> ((dafny.Function0, ? extends Wrappers_Compile.Result, dafny.DafnySequence>, software.amazon.cryptography.materialproviders.internaldafny.types.Error>>>)(() -> {
        java.util.HashMap, Wrappers_Compile.Result, dafny.DafnySequence>, software.amazon.cryptography.materialproviders.internaldafny.types.Error>> _coll0 = new java.util.HashMap<>();
        for (dafny.DafnySequence _compr_0_boxed0 : ((_1_utf8EncCtx).keySet()).Elements()) {
          dafny.DafnySequence _compr_0 = ((dafny.DafnySequence)(java.lang.Object)(_compr_0_boxed0));
          dafny.DafnySequence _2_utf8Key = (dafny.DafnySequence)_compr_0;
          if (UTF8.ValidUTF8Bytes._Is(_2_utf8Key)) {
            if (((_1_utf8EncCtx).keySet()).>contains(_2_utf8Key)) {
              _coll0.put(_2_utf8Key,__default.StringifyEncryptionContextPair(_2_utf8Key, ((dafny.DafnySequence)(java.lang.Object)((_1_utf8EncCtx).get(_2_utf8Key)))));
            }
          }
        }
        return new dafny.DafnyMap,Wrappers_Compile.Result, dafny.DafnySequence>, software.amazon.cryptography.materialproviders.internaldafny.types.Error>>(_coll0);
      })).apply()).apply(utf8EncCtx);
      if (((java.util.function.Function, ? extends Wrappers_Compile.Result, dafny.DafnySequence>, software.amazon.cryptography.materialproviders.internaldafny.types.Error>>, Boolean>)(_3_stringifyResults) -> dafny.Helpers.Quantifier(((_3_stringifyResults).valueSet()).Elements(), false, ((_exists_var_0_boxed0) -> {
        Wrappers_Compile.Result, dafny.DafnySequence>, software.amazon.cryptography.materialproviders.internaldafny.types.Error> _exists_var_0 = ((Wrappers_Compile.Result, dafny.DafnySequence>, software.amazon.cryptography.materialproviders.internaldafny.types.Error>)(java.lang.Object)(_exists_var_0_boxed0));
        Wrappers_Compile.Result, dafny.DafnySequence>, software.amazon.cryptography.materialproviders.internaldafny.types.Error> _4_r = (Wrappers_Compile.Result, dafny.DafnySequence>, software.amazon.cryptography.materialproviders.internaldafny.types.Error>)_exists_var_0;
        return (((_3_stringifyResults).valueSet())., dafny.DafnySequence>, software.amazon.cryptography.materialproviders.internaldafny.types.Error>>contains(_4_r)) && ((_4_r).is_Failure());
      }))).apply(_0_stringifyResults)) {
        return Wrappers_Compile.Result., ? extends dafny.DafnySequence>, software.amazon.cryptography.materialproviders.internaldafny.types.Error>create_Failure(dafny.DafnyMap., dafny.DafnySequence>_typeDescriptor(dafny.DafnySequence._typeDescriptor(dafny.TypeDescriptor.CHAR), dafny.DafnySequence._typeDescriptor(dafny.TypeDescriptor.CHAR)), software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor(), software.amazon.cryptography.materialproviders.internaldafny.types.Error.create_AwsCryptographicMaterialProvidersException(dafny.DafnySequence.asString("Encryption context contains invalid UTF8")));
      } else {
        boolean _5_stringKeysUnique = ((java.util.function.Function, ? extends Wrappers_Compile.Result, dafny.DafnySequence>, software.amazon.cryptography.materialproviders.internaldafny.types.Error>>, Boolean>)(_6_stringifyResults) -> dafny.Helpers.Quantifier((_6_stringifyResults).keySet().Elements(), true, ((_forall_var_0_boxed0) -> {
          dafny.DafnySequence _forall_var_0 = ((dafny.DafnySequence)(java.lang.Object)(_forall_var_0_boxed0));
          dafny.DafnySequence _7_k = (dafny.DafnySequence)_forall_var_0;
          return dafny.Helpers.Quantifier((_6_stringifyResults).keySet().Elements(), true, ((_forall_var_1_boxed0) -> {
            dafny.DafnySequence _forall_var_1 = ((dafny.DafnySequence)(java.lang.Object)(_forall_var_1_boxed0));
            dafny.DafnySequence _8_k_k = (dafny.DafnySequence)_forall_var_1;
            return !(((_6_stringifyResults).>contains(_7_k)) && ((_6_stringifyResults).>contains(_8_k_k))) || (!(!(_7_k).equals(_8_k_k)) || (!(((((Wrappers_Compile.Result, dafny.DafnySequence>, software.amazon.cryptography.materialproviders.internaldafny.types.Error>)(java.lang.Object)((_6_stringifyResults).get(_7_k)))).dtor_value()).dtor__0()).equals(((((Wrappers_Compile.Result, dafny.DafnySequence>, software.amazon.cryptography.materialproviders.internaldafny.types.Error>)(java.lang.Object)((_6_stringifyResults).get(_8_k_k)))).dtor_value()).dtor__0())));
          }));
        }))).apply(_0_stringifyResults);
        if (!(_5_stringKeysUnique)) {
          return Wrappers_Compile.Result., ? extends dafny.DafnySequence>, software.amazon.cryptography.materialproviders.internaldafny.types.Error>create_Failure(dafny.DafnyMap., dafny.DafnySequence>_typeDescriptor(dafny.DafnySequence._typeDescriptor(dafny.TypeDescriptor.CHAR), dafny.DafnySequence._typeDescriptor(dafny.TypeDescriptor.CHAR)), software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor(), software.amazon.cryptography.materialproviders.internaldafny.types.Error.create_AwsCryptographicMaterialProvidersException(dafny.DafnySequence.asString("Encryption context keys are not unique")));
        } else {
          return Wrappers_Compile.Result., ? extends dafny.DafnySequence>, software.amazon.cryptography.materialproviders.internaldafny.types.Error>create_Success(dafny.DafnyMap., dafny.DafnySequence>_typeDescriptor(dafny.DafnySequence._typeDescriptor(dafny.TypeDescriptor.CHAR), dafny.DafnySequence._typeDescriptor(dafny.TypeDescriptor.CHAR)), software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor(), ((java.util.function.Function, ? extends Wrappers_Compile.Result, dafny.DafnySequence>, software.amazon.cryptography.materialproviders.internaldafny.types.Error>>, dafny.DafnyMap, ? extends dafny.DafnySequence>>)(_9_stringifyResults) -> ((dafny.Function0, ? extends dafny.DafnySequence>>)(() -> {
  java.util.HashMap, dafny.DafnySequence> _coll1 = new java.util.HashMap<>();
  for (Wrappers_Compile.Result, dafny.DafnySequence>, software.amazon.cryptography.materialproviders.internaldafny.types.Error> _compr_1_boxed0 : ((_9_stringifyResults).valueSet()).Elements()) {
    Wrappers_Compile.Result, dafny.DafnySequence>, software.amazon.cryptography.materialproviders.internaldafny.types.Error> _compr_1 = ((Wrappers_Compile.Result, dafny.DafnySequence>, software.amazon.cryptography.materialproviders.internaldafny.types.Error>)(java.lang.Object)(_compr_1_boxed0));
    Wrappers_Compile.Result, dafny.DafnySequence>, software.amazon.cryptography.materialproviders.internaldafny.types.Error> _10_r = (Wrappers_Compile.Result, dafny.DafnySequence>, software.amazon.cryptography.materialproviders.internaldafny.types.Error>)_compr_1;
    if (((_9_stringifyResults).valueSet())., dafny.DafnySequence>, software.amazon.cryptography.materialproviders.internaldafny.types.Error>>contains(_10_r)) {
      _coll1.put(((_10_r).dtor_value()).dtor__0(),((_10_r).dtor_value()).dtor__1());
    }
  }
  return new dafny.DafnyMap,dafny.DafnySequence>(_coll1);
})).apply()).apply(_0_stringifyResults));
        }
      }
    }
  }
  public static Wrappers_Compile.Result, dafny.DafnySequence>, software.amazon.cryptography.materialproviders.internaldafny.types.Error> StringifyEncryptionContextPair(dafny.DafnySequence utf8Key, dafny.DafnySequence utf8Value)
  {
    Wrappers_Compile.Result, software.amazon.cryptography.materialproviders.internaldafny.types.Error> _0_valueOrError0 = (UTF8.__default.Decode(utf8Key)).MapFailure(dafny.DafnySequence._typeDescriptor(dafny.TypeDescriptor.CHAR), dafny.DafnySequence._typeDescriptor(dafny.TypeDescriptor.CHAR), software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor(), __default::WrapStringToError);
    if ((_0_valueOrError0).IsFailure(dafny.DafnySequence._typeDescriptor(dafny.TypeDescriptor.CHAR), software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor())) {
      return (_0_valueOrError0)., dafny.DafnySequence>>PropagateFailure(dafny.DafnySequence._typeDescriptor(dafny.TypeDescriptor.CHAR), software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor(), dafny.Tuple2., dafny.DafnySequence>_typeDescriptor(dafny.DafnySequence._typeDescriptor(dafny.TypeDescriptor.CHAR), dafny.DafnySequence._typeDescriptor(dafny.TypeDescriptor.CHAR)));
    } else {
      dafny.DafnySequence _1_key = (_0_valueOrError0).Extract(dafny.DafnySequence._typeDescriptor(dafny.TypeDescriptor.CHAR), software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor());
      Wrappers_Compile.Result, software.amazon.cryptography.materialproviders.internaldafny.types.Error> _2_valueOrError1 = (UTF8.__default.Decode(utf8Value)).MapFailure(dafny.DafnySequence._typeDescriptor(dafny.TypeDescriptor.CHAR), dafny.DafnySequence._typeDescriptor(dafny.TypeDescriptor.CHAR), software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor(), __default::WrapStringToError);
      if ((_2_valueOrError1).IsFailure(dafny.DafnySequence._typeDescriptor(dafny.TypeDescriptor.CHAR), software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor())) {
        return (_2_valueOrError1)., dafny.DafnySequence>>PropagateFailure(dafny.DafnySequence._typeDescriptor(dafny.TypeDescriptor.CHAR), software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor(), dafny.Tuple2., dafny.DafnySequence>_typeDescriptor(dafny.DafnySequence._typeDescriptor(dafny.TypeDescriptor.CHAR), dafny.DafnySequence._typeDescriptor(dafny.TypeDescriptor.CHAR)));
      } else {
        dafny.DafnySequence _3_value = (_2_valueOrError1).Extract(dafny.DafnySequence._typeDescriptor(dafny.TypeDescriptor.CHAR), software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor());
        return Wrappers_Compile.Result., dafny.DafnySequence>, software.amazon.cryptography.materialproviders.internaldafny.types.Error>create_Success(dafny.Tuple2., dafny.DafnySequence>_typeDescriptor(dafny.DafnySequence._typeDescriptor(dafny.TypeDescriptor.CHAR), dafny.DafnySequence._typeDescriptor(dafny.TypeDescriptor.CHAR)), software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor(), dafny.Tuple2., dafny.DafnySequence>create(_1_key, _3_value));
      }
    }
  }
  public static software.amazon.cryptography.materialproviders.internaldafny.types.Error WrapStringToError(dafny.DafnySequence e) {
    return software.amazon.cryptography.materialproviders.internaldafny.types.Error.create_AwsCryptographicMaterialProvidersException(e);
  }
  public static Wrappers_Compile.Result ValidateKmsKeyId(dafny.DafnySequence keyId) {
    Wrappers_Compile.Result _0_valueOrError0 = (AwsArnParsing_Compile.__default.ParseAwsKmsIdentifier(keyId)).MapFailure(AwsArnParsing_Compile.AwsKmsIdentifier._typeDescriptor(), dafny.DafnySequence._typeDescriptor(dafny.TypeDescriptor.CHAR), software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor(), __default::WrapStringToError);
    if ((_0_valueOrError0).IsFailure(AwsArnParsing_Compile.AwsKmsIdentifier._typeDescriptor(), software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor())) {
      return (_0_valueOrError0).PropagateFailure(AwsArnParsing_Compile.AwsKmsIdentifier._typeDescriptor(), software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor(), dafny.Tuple0._typeDescriptor());
    } else {
      AwsArnParsing_Compile.AwsKmsIdentifier _1___v0 = (_0_valueOrError0).Extract(AwsArnParsing_Compile.AwsKmsIdentifier._typeDescriptor(), software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor());
      Wrappers_Compile.Outcome _2_valueOrError1 = Wrappers_Compile.__default.Need(software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor(), UTF8.__default.IsASCIIString(keyId), software.amazon.cryptography.materialproviders.internaldafny.types.Error.create_AwsCryptographicMaterialProvidersException(dafny.DafnySequence.asString("Key identifier is not ASCII")));
      if ((_2_valueOrError1).IsFailure(software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor())) {
        return (_2_valueOrError1).PropagateFailure(software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor(), dafny.Tuple0._typeDescriptor());
      } else {
        Wrappers_Compile.Outcome _3_valueOrError2 = Wrappers_Compile.__default.Need(software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor(), ((java.math.BigInteger.valueOf((keyId).length())).signum() == 1) && ((java.math.BigInteger.valueOf((keyId).length())).compareTo(AwsArnParsing_Compile.__default.MAX__AWS__KMS__IDENTIFIER__LENGTH()) <= 0), software.amazon.cryptography.materialproviders.internaldafny.types.Error.create_AwsCryptographicMaterialProvidersException(dafny.DafnySequence.asString("Key identifier is too long")));
        if ((_3_valueOrError2).IsFailure(software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor())) {
          return (_3_valueOrError2).PropagateFailure(software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor(), dafny.Tuple0._typeDescriptor());
        } else {
          return Wrappers_Compile.Result.create_Success(dafny.Tuple0._typeDescriptor(), software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor(), dafny.Tuple0.create());
        }
      }
    }
  }
  public static Wrappers_Compile.Result>, software.amazon.cryptography.materialproviders.internaldafny.types.Error> GetValidGrantTokens(Wrappers_Compile.Option>> grantTokens) {
    dafny.DafnySequence> _0_tokens = (grantTokens).UnwrapOr(dafny.DafnySequence.>_typeDescriptor(dafny.DafnySequence._typeDescriptor(dafny.TypeDescriptor.CHAR)), dafny.DafnySequence.> empty(dafny.DafnySequence._typeDescriptor(dafny.TypeDescriptor.CHAR)));
    Wrappers_Compile.Outcome _1_valueOrError0 = Wrappers_Compile.__default.Need(software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor(), ((java.math.BigInteger.valueOf((_0_tokens).length())).signum() != -1) && ((java.math.BigInteger.valueOf((_0_tokens).length())).compareTo(java.math.BigInteger.valueOf(10L)) <= 0), software.amazon.cryptography.materialproviders.internaldafny.types.Error.create_AwsCryptographicMaterialProvidersException(dafny.DafnySequence.asString("Grant token list can have no more than 10 tokens")));
    if ((_1_valueOrError0).IsFailure(software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor())) {
      return (_1_valueOrError0).>>PropagateFailure(software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor(), dafny.DafnySequence.>_typeDescriptor(dafny.DafnySequence._typeDescriptor(dafny.TypeDescriptor.CHAR)));
    } else {
      Wrappers_Compile.Outcome _2_valueOrError1 = Wrappers_Compile.__default.Need(software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor(), ((java.util.function.Function>, Boolean>)(_3_tokens) -> dafny.Helpers.Quantifier((_3_tokens).UniqueElements(), true, ((_forall_var_0_boxed0) -> {
        dafny.DafnySequence _forall_var_0 = ((dafny.DafnySequence)(java.lang.Object)(_forall_var_0_boxed0));
        dafny.DafnySequence _4_token = (dafny.DafnySequence)_forall_var_0;
        return !((_3_tokens).contains(_4_token)) || (((java.math.BigInteger.ONE).compareTo(java.math.BigInteger.valueOf((_4_token).length())) <= 0) && ((java.math.BigInteger.valueOf((_4_token).length())).compareTo(java.math.BigInteger.valueOf(8192L)) <= 0));
      }))).apply(_0_tokens), software.amazon.cryptography.materialproviders.internaldafny.types.Error.create_AwsCryptographicMaterialProvidersException(dafny.DafnySequence.asString("Grant token list contains a grant token with invalid length")));
      if ((_2_valueOrError1).IsFailure(software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor())) {
        return (_2_valueOrError1).>>PropagateFailure(software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor(), dafny.DafnySequence.>_typeDescriptor(dafny.DafnySequence._typeDescriptor(dafny.TypeDescriptor.CHAR)));
      } else {
        return Wrappers_Compile.Result.>, software.amazon.cryptography.materialproviders.internaldafny.types.Error>create_Success(dafny.DafnySequence.>_typeDescriptor(dafny.DafnySequence._typeDescriptor(dafny.TypeDescriptor.CHAR)), software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor(), _0_tokens);
      }
    }
  }
  public static Wrappers_Compile.Result, software.amazon.cryptography.materialproviders.internaldafny.types.Error> GetEcdhPublicKey(software.amazon.cryptography.services.kms.internaldafny.types.IKMSClient client, dafny.DafnySequence awsKmsKey)
  {
    Wrappers_Compile.Result, software.amazon.cryptography.materialproviders.internaldafny.types.Error> res = (Wrappers_Compile.Result, software.amazon.cryptography.materialproviders.internaldafny.types.Error>)null;
    software.amazon.cryptography.services.kms.internaldafny.types.GetPublicKeyRequest _0_getPublicKeyRequest;
    _0_getPublicKeyRequest = software.amazon.cryptography.services.kms.internaldafny.types.GetPublicKeyRequest.create(awsKmsKey, Wrappers_Compile.Option.>>create_None(software.amazon.cryptography.services.kms.internaldafny.types.GrantTokenList._typeDescriptor()));
    Wrappers_Compile.Result _1_maybePublicKeyResponse;
    Wrappers_Compile.Result _out0;
    _out0 = (client).GetPublicKey(_0_getPublicKeyRequest);
    _1_maybePublicKeyResponse = _out0;
    Wrappers_Compile.Result _2_valueOrError0 = Wrappers_Compile.Result.Default(software.amazon.cryptography.services.kms.internaldafny.types.GetPublicKeyResponse._typeDescriptor(), software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor(), software.amazon.cryptography.services.kms.internaldafny.types.GetPublicKeyResponse.Default());
    _2_valueOrError0 = (_1_maybePublicKeyResponse).MapFailure(software.amazon.cryptography.services.kms.internaldafny.types.GetPublicKeyResponse._typeDescriptor(), software.amazon.cryptography.services.kms.internaldafny.types.Error._typeDescriptor(), software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor(), ((java.util.function.Function)(_3_e_boxed0) -> {
      software.amazon.cryptography.services.kms.internaldafny.types.Error _3_e = ((software.amazon.cryptography.services.kms.internaldafny.types.Error)(java.lang.Object)(_3_e_boxed0));
      return software.amazon.cryptography.materialproviders.internaldafny.types.Error.create_ComAmazonawsKms(_3_e);
    }));
    if ((_2_valueOrError0).IsFailure(software.amazon.cryptography.services.kms.internaldafny.types.GetPublicKeyResponse._typeDescriptor(), software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor())) {
      res = (_2_valueOrError0).>PropagateFailure(software.amazon.cryptography.services.kms.internaldafny.types.GetPublicKeyResponse._typeDescriptor(), software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor(), software.amazon.cryptography.services.kms.internaldafny.types.PublicKeyType._typeDescriptor());
      return res;
    }
    software.amazon.cryptography.services.kms.internaldafny.types.GetPublicKeyResponse _4_getPublicKeyResponse;
    _4_getPublicKeyResponse = (_2_valueOrError0).Extract(software.amazon.cryptography.services.kms.internaldafny.types.GetPublicKeyResponse._typeDescriptor(), software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor());
    Wrappers_Compile.Outcome _5_valueOrError1 = Wrappers_Compile.Outcome.Default(software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor());
    _5_valueOrError1 = Wrappers_Compile.__default.Need(software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor(), ((((((_4_getPublicKeyResponse).dtor_KeyId()).is_Some()) && ((((_4_getPublicKeyResponse).dtor_KeyId()).dtor_value()).equals(awsKmsKey))) && (((_4_getPublicKeyResponse).dtor_KeyUsage()).is_Some())) && (java.util.Objects.equals(((_4_getPublicKeyResponse).dtor_KeyUsage()).dtor_value(), software.amazon.cryptography.services.kms.internaldafny.types.KeyUsageType.create_KEY__AGREEMENT()))) && (((_4_getPublicKeyResponse).dtor_PublicKey()).is_Some()), software.amazon.cryptography.materialproviders.internaldafny.types.Error.create_AwsCryptographicMaterialProvidersException(dafny.DafnySequence.asString("Invalid response from KMS GetPublicKey")));
    if ((_5_valueOrError1).IsFailure(software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor())) {
      res = (_5_valueOrError1).>PropagateFailure(software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor(), software.amazon.cryptography.services.kms.internaldafny.types.PublicKeyType._typeDescriptor());
      return res;
    }
    res = Wrappers_Compile.Result., software.amazon.cryptography.materialproviders.internaldafny.types.Error>create_Success(software.amazon.cryptography.services.kms.internaldafny.types.PublicKeyType._typeDescriptor(), software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor(), ((_4_getPublicKeyResponse).dtor_PublicKey()).dtor_value());
    return res;
  }
  public static Wrappers_Compile.Result, dafny.DafnySequence>, software.amazon.cryptography.materialproviders.internaldafny.types.Error> ParseKeyNamespaceAndName(dafny.DafnySequence keyNamespace, dafny.DafnySequence keyName)
  {
    Wrappers_Compile.Result, software.amazon.cryptography.materialproviders.internaldafny.types.Error> _0_valueOrError0 = (UTF8.__default.Encode(keyNamespace)).MapFailure(UTF8.ValidUTF8Bytes._typeDescriptor(), dafny.DafnySequence._typeDescriptor(dafny.TypeDescriptor.CHAR), software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor(), ((java.util.function.Function, software.amazon.cryptography.materialproviders.internaldafny.types.Error>)(_1_e_boxed0) -> {
      dafny.DafnySequence _1_e = ((dafny.DafnySequence)(java.lang.Object)(_1_e_boxed0));
      return software.amazon.cryptography.materialproviders.internaldafny.types.Error.create_AwsCryptographicMaterialProvidersException(dafny.DafnySequence.concatenate(dafny.DafnySequence.asString("Key namespace could not be UTF8-encoded"), _1_e));
    }));
    if ((_0_valueOrError0).IsFailure(UTF8.ValidUTF8Bytes._typeDescriptor(), software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor())) {
      return (_0_valueOrError0)., dafny.DafnySequence>>PropagateFailure(UTF8.ValidUTF8Bytes._typeDescriptor(), software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor(), dafny.Tuple2., dafny.DafnySequence>_typeDescriptor(UTF8.ValidUTF8Bytes._typeDescriptor(), UTF8.ValidUTF8Bytes._typeDescriptor()));
    } else {
      dafny.DafnySequence _2_namespace = (_0_valueOrError0).Extract(UTF8.ValidUTF8Bytes._typeDescriptor(), software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor());
      Wrappers_Compile.Outcome _3_valueOrError1 = Wrappers_Compile.__default.Need(software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor(), (java.math.BigInteger.valueOf((_2_namespace).length())).compareTo(StandardLibrary_mUInt_Compile.__default.UINT16__LIMIT()) < 0, software.amazon.cryptography.materialproviders.internaldafny.types.Error.create_AwsCryptographicMaterialProvidersException(dafny.DafnySequence.asString("Key namespace too long")));
      if ((_3_valueOrError1).IsFailure(software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor())) {
        return (_3_valueOrError1)., dafny.DafnySequence>>PropagateFailure(software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor(), dafny.Tuple2., dafny.DafnySequence>_typeDescriptor(UTF8.ValidUTF8Bytes._typeDescriptor(), UTF8.ValidUTF8Bytes._typeDescriptor()));
      } else {
        Wrappers_Compile.Result, software.amazon.cryptography.materialproviders.internaldafny.types.Error> _4_valueOrError2 = (UTF8.__default.Encode(keyName)).MapFailure(UTF8.ValidUTF8Bytes._typeDescriptor(), dafny.DafnySequence._typeDescriptor(dafny.TypeDescriptor.CHAR), software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor(), ((java.util.function.Function, software.amazon.cryptography.materialproviders.internaldafny.types.Error>)(_5_e_boxed0) -> {
          dafny.DafnySequence _5_e = ((dafny.DafnySequence)(java.lang.Object)(_5_e_boxed0));
          return software.amazon.cryptography.materialproviders.internaldafny.types.Error.create_AwsCryptographicMaterialProvidersException(dafny.DafnySequence.concatenate(dafny.DafnySequence.asString("Key name could not be UTF8-encoded"), _5_e));
        }));
        if ((_4_valueOrError2).IsFailure(UTF8.ValidUTF8Bytes._typeDescriptor(), software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor())) {
          return (_4_valueOrError2)., dafny.DafnySequence>>PropagateFailure(UTF8.ValidUTF8Bytes._typeDescriptor(), software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor(), dafny.Tuple2., dafny.DafnySequence>_typeDescriptor(UTF8.ValidUTF8Bytes._typeDescriptor(), UTF8.ValidUTF8Bytes._typeDescriptor()));
        } else {
          dafny.DafnySequence _6_name = (_4_valueOrError2).Extract(UTF8.ValidUTF8Bytes._typeDescriptor(), software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor());
          Wrappers_Compile.Outcome _7_valueOrError3 = Wrappers_Compile.__default.Need(software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor(), (java.math.BigInteger.valueOf((_6_name).length())).compareTo(StandardLibrary_mUInt_Compile.__default.UINT16__LIMIT()) < 0, software.amazon.cryptography.materialproviders.internaldafny.types.Error.create_AwsCryptographicMaterialProvidersException(dafny.DafnySequence.asString("Key name too long")));
          if ((_7_valueOrError3).IsFailure(software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor())) {
            return (_7_valueOrError3)., dafny.DafnySequence>>PropagateFailure(software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor(), dafny.Tuple2., dafny.DafnySequence>_typeDescriptor(UTF8.ValidUTF8Bytes._typeDescriptor(), UTF8.ValidUTF8Bytes._typeDescriptor()));
          } else {
            return Wrappers_Compile.Result., dafny.DafnySequence>, software.amazon.cryptography.materialproviders.internaldafny.types.Error>create_Success(dafny.Tuple2., dafny.DafnySequence>_typeDescriptor(UTF8.ValidUTF8Bytes._typeDescriptor(), UTF8.ValidUTF8Bytes._typeDescriptor()), software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor(), dafny.Tuple2., dafny.DafnySequence>create(_2_namespace, _6_name));
          }
        }
      }
    }
  }
  public static Wrappers_Compile.Result ValidateDiscoveryFilter(software.amazon.cryptography.materialproviders.internaldafny.types.DiscoveryFilter filter) {
    Wrappers_Compile.Outcome _0_valueOrError0 = Wrappers_Compile.__default.Need(software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor(), (java.math.BigInteger.valueOf(((filter).dtor_accountIds()).length())).signum() == 1, software.amazon.cryptography.materialproviders.internaldafny.types.Error.create_AwsCryptographicMaterialProvidersException(dafny.DafnySequence.asString("Discovery filter must have at least one account ID")));
    if ((_0_valueOrError0).IsFailure(software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor())) {
      return (_0_valueOrError0).PropagateFailure(software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor(), dafny.Tuple0._typeDescriptor());
    } else {
      Wrappers_Compile.Outcome _1_valueOrError1 = Wrappers_Compile.__default.Need(software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor(), ((java.util.function.Function)(_2_filter) -> dafny.Helpers.Quantifier(((_2_filter).dtor_accountIds()).UniqueElements(), true, ((_forall_var_0_boxed0) -> {
        dafny.DafnySequence _forall_var_0 = ((dafny.DafnySequence)(java.lang.Object)(_forall_var_0_boxed0));
        dafny.DafnySequence _3_accountId = (dafny.DafnySequence)_forall_var_0;
        return !(((_2_filter).dtor_accountIds()).contains(_3_accountId)) || ((java.math.BigInteger.valueOf((_3_accountId).length())).signum() == 1);
      }))).apply(filter), software.amazon.cryptography.materialproviders.internaldafny.types.Error.create_AwsCryptographicMaterialProvidersException(dafny.DafnySequence.asString("Discovery filter account IDs cannot be blank")));
      if ((_1_valueOrError1).IsFailure(software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor())) {
        return (_1_valueOrError1).PropagateFailure(software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor(), dafny.Tuple0._typeDescriptor());
      } else {
        Wrappers_Compile.Outcome _4_valueOrError2 = Wrappers_Compile.__default.Need(software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor(), (java.math.BigInteger.valueOf(((filter).dtor_partition()).length())).signum() == 1, software.amazon.cryptography.materialproviders.internaldafny.types.Error.create_AwsCryptographicMaterialProvidersException(dafny.DafnySequence.asString("Discovery filter partition cannot be blank")));
        if ((_4_valueOrError2).IsFailure(software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor())) {
          return (_4_valueOrError2).PropagateFailure(software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor(), dafny.Tuple0._typeDescriptor());
        } else {
          return Wrappers_Compile.Result.create_Success(dafny.Tuple0._typeDescriptor(), software.amazon.cryptography.materialproviders.internaldafny.types.Error._typeDescriptor(), dafny.Tuple0.create());
        }
      }
    }
  }
  @Override
  public java.lang.String toString() {
    return "AwsKmsUtils._default";
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy