syntax = "proto3";

import "SiLAFramework.proto";

package sila2.org.silastandard.test.parameterconstraintstest.v1;

/* This is a test feature to generically test constrained parameters. A validation Error must be raised if a constraint is not fulfilled. */
service ParameterConstraintsTest {
  /* Tests the Length constraint on the String type */
  rpc CheckStringConstraintLength (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckStringConstraintLength_Parameters) returns (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckStringConstraintLength_Responses) {}
  /* Tests the MinimalLength constraint on the String type */
  rpc CheckStringConstraintMinimalLength (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckStringConstraintMinimalLength_Parameters) returns (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckStringConstraintMinimalLength_Responses) {}
  /* Tests the MaximalLength constraint on the String type */
  rpc CheckStringConstraintMaximalLength (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckStringConstraintMaximalLength_Parameters) returns (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckStringConstraintMaximalLength_Responses) {}
  /* Tests the combination of MinimalLength and MaximalLength constraints on the String type */
  rpc CheckStringConstraintMinMaxLength (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckStringConstraintMinMaxLength_Parameters) returns (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckStringConstraintMinMaxLength_Responses) {}
  /* Tests the Set constraint on the String type */
  rpc CheckStringConstraintSet (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckStringConstraintSet_Parameters) returns (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckStringConstraintSet_Responses) {}
  /* Tests the Pattern constraint on String type */
  rpc CheckStringConstraintPattern (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckStringConstraintPattern_Parameters) returns (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckStringConstraintPattern_Responses) {}
  /* Tests the ContentType constraint on the String type */
  rpc CheckStringConstraintContentType (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckStringConstraintContentType_Parameters) returns (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckStringConstraintContentType_Responses) {}
  /* A command that has a parameter for every possible FullyQualifiedIdentifier constraint */
  rpc CheckStringConstraintFullyQualifiedIdentifier (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckStringConstraintFullyQualifiedIdentifier_Parameters) returns (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckStringConstraintFullyQualifiedIdentifier_Responses) {}
  /* Tests that the parameter is valid for a given Schema constraint */
  rpc CheckStringConstraintSchema (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckStringConstraintSchema_Parameters) returns (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckStringConstraintSchema_Responses) {}
  /* Tests the Set constraint on the Integer type */
  rpc CheckIntegerConstraintSet (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckIntegerConstraintSet_Parameters) returns (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckIntegerConstraintSet_Responses) {}
  /* Tests if scientific notation is accepted for checking limits of type Integer */
  rpc CheckScientificallyNotatedIntegerLimit (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckScientificallyNotatedIntegerLimit_Parameters) returns (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckScientificallyNotatedIntegerLimit_Responses) {}
  /* Tests the MaximalExclusive constraint on the Integer type */
  rpc CheckIntegerConstraintMaximalExclusive (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckIntegerConstraintMaximalExclusive_Parameters) returns (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckIntegerConstraintMaximalExclusive_Responses) {}
  /* Tests the MaximalInclusive constraint on the Integer type */
  rpc CheckIntegerConstraintMaximalInclusive (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckIntegerConstraintMaximalInclusive_Parameters) returns (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckIntegerConstraintMaximalInclusive_Responses) {}
  /* Tests the MinimalExclusive constraint on the Integer type */
  rpc CheckIntegerConstraintMinimalExclusive (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckIntegerConstraintMinimalExclusive_Parameters) returns (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckIntegerConstraintMinimalExclusive_Responses) {}
  /* Tests the MinimalInclusive constraint on the Integer type */
  rpc CheckIntegerConstraintMinimalInclusive (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckIntegerConstraintMinimalInclusive_Parameters) returns (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckIntegerConstraintMinimalInclusive_Responses) {}
  /* Tests the combination of MinimalExclusive and MaximalInclusive constraints on Integer type */
  rpc CheckIntegerConstraintMinMax (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckIntegerConstraintMinMax_Parameters) returns (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckIntegerConstraintMinMax_Responses) {}
  /* Tests the Unit constraint on the Integer type */
  rpc CheckIntegerConstraintUnit (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckIntegerConstraintUnit_Parameters) returns (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckIntegerConstraintUnit_Responses) {}
  /* Tests the Set constraint on the Real type */
  rpc CheckRealConstraintSet (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckRealConstraintSet_Parameters) returns (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckRealConstraintSet_Responses) {}
  /* Tests if scientific notation is accepted for checking limits of type Real */
  rpc CheckScientificallyNotatedRealLimit (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckScientificallyNotatedRealLimit_Parameters) returns (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckScientificallyNotatedRealLimit_Responses) {}
  /* Tests the MaximalExclusive constraint on the Real type */
  rpc CheckRealConstraintMaximalExclusive (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckRealConstraintMaximalExclusive_Parameters) returns (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckRealConstraintMaximalExclusive_Responses) {}
  /* Tests the MaximalInclusive constraint on the Real type */
  rpc CheckRealConstraintMaximalInclusive (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckRealConstraintMaximalInclusive_Parameters) returns (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckRealConstraintMaximalInclusive_Responses) {}
  /* Tests the MinimalExclusive constraint on the Real type */
  rpc CheckRealConstraintMinimalExclusive (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckRealConstraintMinimalExclusive_Parameters) returns (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckRealConstraintMinimalExclusive_Responses) {}
  /* Tests the MinimalInclusive constraint on the Real type */
  rpc CheckRealConstraintMinimalInclusive (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckRealConstraintMinimalInclusive_Parameters) returns (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckRealConstraintMinimalInclusive_Responses) {}
  /* Tests the combination of MinimalExclusive and MaximalInclusive constraints on Real type */
  rpc CheckRealConstraintMinMax (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckRealConstraintMinMax_Parameters) returns (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckRealConstraintMinMax_Responses) {}
  /* Tests the Unit constraint on the Real type */
  rpc CheckRealConstraintUnit (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckRealConstraintUnit_Parameters) returns (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckRealConstraintUnit_Responses) {}
  /* Tests the Set constraint on the Date type */
  rpc CheckDateConstraintSet (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckDateConstraintSet_Parameters) returns (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckDateConstraintSet_Responses) {}
  /* Tests the MaximalExclusive constraint on the Date type */
  rpc CheckDateConstraintMaximalExclusive (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckDateConstraintMaximalExclusive_Parameters) returns (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckDateConstraintMaximalExclusive_Responses) {}
  /* Tests the MaximalInclusive constraint on the Date type */
  rpc CheckDateConstraintMaximalInclusive (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckDateConstraintMaximalInclusive_Parameters) returns (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckDateConstraintMaximalInclusive_Responses) {}
  /* Tests the MinimalExclusive constraint on the Date type */
  rpc CheckDateConstraintMinimalExclusive (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckDateConstraintMinimalExclusive_Parameters) returns (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckDateConstraintMinimalExclusive_Responses) {}
  /* Tests the MinimalInclusive constraint on the Date type */
  rpc CheckDateConstraintMinimalInclusive (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckDateConstraintMinimalInclusive_Parameters) returns (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckDateConstraintMinimalInclusive_Responses) {}
  /* Tests the combination of MinimalInclusive and MaximalExclusive constraints on Date type */
  rpc CheckDateConstraintMinMax (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckDateConstraintMinMax_Parameters) returns (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckDateConstraintMinMax_Responses) {}
  /* Tests the Set constraint on the Time type */
  rpc CheckTimeConstraintSet (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckTimeConstraintSet_Parameters) returns (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckTimeConstraintSet_Responses) {}
  /* Tests the MaximalExclusive constraint on the Time type */
  rpc CheckTimeConstraintMaximalExclusive (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckTimeConstraintMaximalExclusive_Parameters) returns (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckTimeConstraintMaximalExclusive_Responses) {}
  /* Tests the MaximalInclusive constraint on the Time type */
  rpc CheckTimeConstraintMaximalInclusive (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckTimeConstraintMaximalInclusive_Parameters) returns (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckTimeConstraintMaximalInclusive_Responses) {}
  /* Tests the MinimalExclusive constraint on the Time type */
  rpc CheckTimeConstraintMinimalExclusive (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckTimeConstraintMinimalExclusive_Parameters) returns (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckTimeConstraintMinimalExclusive_Responses) {}
  /* Tests the MinimalInclusive constraint on the Time type */
  rpc CheckTimeConstraintMinimalInclusive (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckTimeConstraintMinimalInclusive_Parameters) returns (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckTimeConstraintMinimalInclusive_Responses) {}
  /* Tests the combination of MinimalExclusive and MaximalInclusive constraints on Time type */
  rpc CheckTimeConstraintMinMax (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckTimeConstraintMinMax_Parameters) returns (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckTimeConstraintMinMax_Responses) {}
  /* Tests the Set constraint on the Timestamp type */
  rpc CheckTimestampConstraintSet (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckTimestampConstraintSet_Parameters) returns (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckTimestampConstraintSet_Responses) {}
  /* Tests the MaximalExclusive constraint on the Timestamp type */
  rpc CheckTimestampConstraintMaximalExclusive (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckTimestampConstraintMaximalExclusive_Parameters) returns (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckTimestampConstraintMaximalExclusive_Responses) {}
  /* Tests the MaximalInclusive constraint on the Timestamp type */
  rpc CheckTimestampConstraintMaximalInclusive (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckTimestampConstraintMaximalInclusive_Parameters) returns (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckTimestampConstraintMaximalInclusive_Responses) {}
  /* Tests the MinimalExclusive constraint on the Timestamp type */
  rpc CheckTimestampConstraintMinimalExclusive (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckTimestampConstraintMinimalExclusive_Parameters) returns (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckTimestampConstraintMinimalExclusive_Responses) {}
  /* Tests the MinimalInclusive constraint on the Timestamp type */
  rpc CheckTimestampConstraintMinimalInclusive (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckTimestampConstraintMinimalInclusive_Parameters) returns (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckTimestampConstraintMinimalInclusive_Responses) {}
  /* Tests the combination of MinimalInclusive and MaximalExclusive constraints on Timestamp type */
  rpc CheckTimestampConstraintMinMax (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckTimestampConstraintMinMax_Parameters) returns (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckTimestampConstraintMinMax_Responses) {}
  /* Tests the ElementCount constraint on the List type */
  rpc CheckListConstraintElementCount (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckListConstraintElementCount_Parameters) returns (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckListConstraintElementCount_Responses) {}
  /* Tests the MinimalElementCount constraint on the List type */
  rpc CheckListConstraintMinimalElementCount (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckListConstraintMinimalElementCount_Parameters) returns (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckListConstraintMinimalElementCount_Responses) {}
  /* Tests the MaximalElementCount constraint on the List type */
  rpc CheckListConstraintMaximalElementCount (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckListConstraintMaximalElementCount_Parameters) returns (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckListConstraintMaximalElementCount_Responses) {}
  /* Tests the combination of MinimalElementCount and MaximalElementCount constraints on the List type */
  rpc CheckListConstraintMinMaxElementCount (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckListConstraintMinMaxElementCount_Parameters) returns (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckListConstraintMinMaxElementCount_Responses) {}
  /* Tests the Length constraint on the Binary type */
  rpc CheckBinaryConstraintLength (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckBinaryConstraintLength_Parameters) returns (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckBinaryConstraintLength_Responses) {}
  /* Tests the MinimalLength constraint on the Binary type */
  rpc CheckBinaryConstraintMinimalLength (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckBinaryConstraintMinimalLength_Parameters) returns (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckBinaryConstraintMinimalLength_Responses) {}
  /* Tests the MaximalLength constraint on the Binary type */
  rpc CheckBinaryConstraintMaximalLength (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckBinaryConstraintMaximalLength_Parameters) returns (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckBinaryConstraintMaximalLength_Responses) {}
  /* Tests the combination of MinimalLength and MaximalLength constraints on the Binary type */
  rpc CheckBinaryConstraintMinMaxLength (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckBinaryConstraintMinMaxLength_Parameters) returns (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckBinaryConstraintMinMaxLength_Responses) {}
  /* Tests the ContentType constraint on the Binary type */
  rpc CheckBinaryConstraintContentType (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckBinaryConstraintContentType_Parameters) returns (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckBinaryConstraintContentType_Responses) {}
  /* Tests that the parameter is valid for a given Schema constraint */
  rpc CheckBinaryConstraintSchema (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckBinaryConstraintSchema_Parameters) returns (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckBinaryConstraintSchema_Responses) {}
  /* Tests the AllowedTypes constraint on the Any type */
  rpc CheckAllowedTypesConstraint (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckAllowedTypesConstraint_Parameters) returns (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckAllowedTypesConstraint_Responses) {}
  /* Tests the AllowedTypes constraint with a Structure type on the Any type */
  rpc CheckAllowedStructureTypeConstraints (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckAllowedStructureTypeConstraints_Parameters) returns (sila2.org.silastandard.test.parameterconstraintstest.v1.CheckAllowedStructureTypeConstraints_Responses) {}
}

/* Parameters for CheckStringConstraintLength */
message CheckStringConstraintLength_Parameters {
  sila2.org.silastandard.String ConstrainedParameter = 1;  /* A String parameter with a Length constraint of 10 */
}

/* Responses of CheckStringConstraintLength */
message CheckStringConstraintLength_Responses {
}

/* Parameters for CheckStringConstraintMinimalLength */
message CheckStringConstraintMinimalLength_Parameters {
  sila2.org.silastandard.String ConstrainedParameter = 1;  /* A String parameter with a MinimalLength constraint of 5 */
}

/* Responses of CheckStringConstraintMinimalLength */
message CheckStringConstraintMinimalLength_Responses {
}

/* Parameters for CheckStringConstraintMaximalLength */
message CheckStringConstraintMaximalLength_Parameters {
  sila2.org.silastandard.String ConstrainedParameter = 1;  /* A String parameter with a MaximalLength constraint of 20 */
}

/* Responses of CheckStringConstraintMaximalLength */
message CheckStringConstraintMaximalLength_Responses {
}

/* Parameters for CheckStringConstraintMinMaxLength */
message CheckStringConstraintMinMaxLength_Parameters {
  sila2.org.silastandard.String ConstrainedParameter = 1;  /* A String parameter with a MinimalLength constraint of 5 and a MaximalLength constraint of 20 */
}

/* Responses of CheckStringConstraintMinMaxLength */
message CheckStringConstraintMinMaxLength_Responses {
}

/* Parameters for CheckStringConstraintSet */
message CheckStringConstraintSet_Parameters {
  sila2.org.silastandard.String ConstrainedParameter = 1;  /* A String parameter with a Set constraint of 'First option', 'Second option', 'Third option' */
}

/* Responses of CheckStringConstraintSet */
message CheckStringConstraintSet_Responses {
}

/* Parameters for CheckStringConstraintPattern */
message CheckStringConstraintPattern_Parameters {
  sila2.org.silastandard.String ConstrainedParameter = 1;  /* A String parameter with a Pattern constraint of a date of birth in dd/mm/yyyy format */
}

/* Responses of CheckStringConstraintPattern */
message CheckStringConstraintPattern_Responses {
}

/* Parameters for CheckStringConstraintContentType */
message CheckStringConstraintContentType_Parameters {
  sila2.org.silastandard.String ConstrainedParameter = 1;  /* A String parameter with a ContentType constraint allowing only valid XML document as content */
}

/* Responses of CheckStringConstraintContentType */
message CheckStringConstraintContentType_Responses {
}

/* Parameters for CheckStringConstraintFullyQualifiedIdentifier */
message CheckStringConstraintFullyQualifiedIdentifier_Parameters {
  sila2.org.silastandard.String FeatureIdentifier = 1;  /* Tests that the parameter is a valid feature identifier */
  sila2.org.silastandard.String CommandIdentifier = 2;  /* Tests that the parameter is a valid command identifier */
  sila2.org.silastandard.String CommandParameterIdentifier = 3;  /* Tests that the parameter is a valid command parameter identifier */
  sila2.org.silastandard.String CommandResponseIdentifier = 4;  /* Tests that the parameter is a valid command response identifier */
  sila2.org.silastandard.String IntermediateCommandResponseIdentifier = 5;  /* Tests that the parameter is a valid intermediate command response identifier */
  sila2.org.silastandard.String ExecutionErrorIdentifier = 6;  /* Tests that the parameter is a valid execution error identifier */
  sila2.org.silastandard.String PropertyIdentifier = 7;  /* Tests that the parameter is a valid property identifier */
  sila2.org.silastandard.String CustomDataTypeIdentifier = 8;  /* Tests that the parameter is a valid data type identifier */
  sila2.org.silastandard.String MetadataIdentifier = 9;  /* Tests that the parameter is a valid metadata identifier */
}

/* Responses of CheckStringConstraintFullyQualifiedIdentifier */
message CheckStringConstraintFullyQualifiedIdentifier_Responses {
}

/* Parameters for CheckStringConstraintSchema */
message CheckStringConstraintSchema_Parameters {
  sila2.org.silastandard.String ConstrainedParameter = 1;  /* A String parameter with a Schema constraint allowing only content that is compliant with the SiLA 2 Feature Definition schema */
}

/* Responses of CheckStringConstraintSchema */
message CheckStringConstraintSchema_Responses {
}

/* Parameters for CheckIntegerConstraintSet */
message CheckIntegerConstraintSet_Parameters {
  sila2.org.silastandard.Integer ConstrainedParameter = 1;  /* An Integer parameter with a Set constraint of 1, 2, 3 */
}

/* Responses of CheckIntegerConstraintSet */
message CheckIntegerConstraintSet_Responses {
}

/* Parameters for CheckScientificallyNotatedIntegerLimit */
message CheckScientificallyNotatedIntegerLimit_Parameters {
  sila2.org.silastandard.Integer ConstrainedParameter = 1;  /* An Integer parameter with a MinimalInclusive constraint of -1e3 and a MaximalExclusive constraint of 1.23e5 */
}

/* Responses of CheckScientificallyNotatedIntegerLimit */
message CheckScientificallyNotatedIntegerLimit_Responses {
}

/* Parameters for CheckIntegerConstraintMaximalExclusive */
message CheckIntegerConstraintMaximalExclusive_Parameters {
  sila2.org.silastandard.Integer ConstrainedParameter = 1;  /* An Integer parameter with a MaximalExclusive constraint of 11 */
}

/* Responses of CheckIntegerConstraintMaximalExclusive */
message CheckIntegerConstraintMaximalExclusive_Responses {
}

/* Parameters for CheckIntegerConstraintMaximalInclusive */
message CheckIntegerConstraintMaximalInclusive_Parameters {
  sila2.org.silastandard.Integer ConstrainedParameter = 1;  /* An Integer parameter with a MaximalInclusive constraint of 10 */
}

/* Responses of CheckIntegerConstraintMaximalInclusive */
message CheckIntegerConstraintMaximalInclusive_Responses {
}

/* Parameters for CheckIntegerConstraintMinimalExclusive */
message CheckIntegerConstraintMinimalExclusive_Parameters {
  sila2.org.silastandard.Integer ConstrainedParameter = 1;  /* An Integer parameter with a MinimalExclusive constraint of -1 */
}

/* Responses of CheckIntegerConstraintMinimalExclusive */
message CheckIntegerConstraintMinimalExclusive_Responses {
}

/* Parameters for CheckIntegerConstraintMinimalInclusive */
message CheckIntegerConstraintMinimalInclusive_Parameters {
  sila2.org.silastandard.Integer ConstrainedParameter = 1;  /* An Integer parameter with a MinimalInclusive constraint of 0 */
}

/* Responses of CheckIntegerConstraintMinimalInclusive */
message CheckIntegerConstraintMinimalInclusive_Responses {
}

/* Parameters for CheckIntegerConstraintMinMax */
message CheckIntegerConstraintMinMax_Parameters {
  sila2.org.silastandard.Integer ConstrainedParameter = 1;  /* An Integer parameter with a MinimalExclusive constraint of -1 and a MaximalInclusive constraint of 10 */
}

/* Responses of CheckIntegerConstraintMinMax */
message CheckIntegerConstraintMinMax_Responses {
}

/* Parameters for CheckIntegerConstraintUnit */
message CheckIntegerConstraintUnit_Parameters {
  sila2.org.silastandard.Integer ConstrainedParameter = 1;  /* An Integer parameter with a Unit constraint for milliliter (mL) */
}

/* Responses of CheckIntegerConstraintUnit */
message CheckIntegerConstraintUnit_Responses {
}

/* Parameters for CheckRealConstraintSet */
message CheckRealConstraintSet_Parameters {
  sila2.org.silastandard.Real ConstrainedParameter = 1;  /* A Real parameter with a Set constraint of 1.11, 2.22, 3.33 */
}

/* Responses of CheckRealConstraintSet */
message CheckRealConstraintSet_Responses {
}

/* Parameters for CheckScientificallyNotatedRealLimit */
message CheckScientificallyNotatedRealLimit_Parameters {
  sila2.org.silastandard.Real ConstrainedParameter = 1;  /* A Real parameter with a MinimalInclusive constraint of 1.23e-3 and a MaximalExclusive constraint of 1.23456e2 */
}

/* Responses of CheckScientificallyNotatedRealLimit */
message CheckScientificallyNotatedRealLimit_Responses {
}

/* Parameters for CheckRealConstraintMaximalExclusive */
message CheckRealConstraintMaximalExclusive_Parameters {
  sila2.org.silastandard.Real ConstrainedParameter = 1;  /* A Real parameter with a MaximalExclusive constraint of 10.5 */
}

/* Responses of CheckRealConstraintMaximalExclusive */
message CheckRealConstraintMaximalExclusive_Responses {
}

/* Parameters for CheckRealConstraintMaximalInclusive */
message CheckRealConstraintMaximalInclusive_Parameters {
  sila2.org.silastandard.Real ConstrainedParameter = 1;  /* A Real parameter with a MaximalInclusive constraint of 10 */
}

/* Responses of CheckRealConstraintMaximalInclusive */
message CheckRealConstraintMaximalInclusive_Responses {
}

/* Parameters for CheckRealConstraintMinimalExclusive */
message CheckRealConstraintMinimalExclusive_Parameters {
  sila2.org.silastandard.Real ConstrainedParameter = 1;  /* A Real parameter with a MinimalExclusive constraint of 0 */
}

/* Responses of CheckRealConstraintMinimalExclusive */
message CheckRealConstraintMinimalExclusive_Responses {
}

/* Parameters for CheckRealConstraintMinimalInclusive */
message CheckRealConstraintMinimalInclusive_Parameters {
  sila2.org.silastandard.Real ConstrainedParameter = 1;  /* A Real parameter with a MinimalInclusive constraint of -1.5 */
}

/* Responses of CheckRealConstraintMinimalInclusive */
message CheckRealConstraintMinimalInclusive_Responses {
}

/* Parameters for CheckRealConstraintMinMax */
message CheckRealConstraintMinMax_Parameters {
  sila2.org.silastandard.Real ConstrainedParameter = 1;  /* A Real parameter with a MinimalExclusive constraint of 0.333 and a MaximalInclusive constraint of 11.111 */
}

/* Responses of CheckRealConstraintMinMax */
message CheckRealConstraintMinMax_Responses {
}

/* Parameters for CheckRealConstraintUnit */
message CheckRealConstraintUnit_Parameters {
  sila2.org.silastandard.Real ConstrainedParameter = 1;  /* A Real parameter with a Unit constraint for degree celsius (°C) */
}

/* Responses of CheckRealConstraintUnit */
message CheckRealConstraintUnit_Responses {
}

/* Parameters for CheckDateConstraintSet */
message CheckDateConstraintSet_Parameters {
  sila2.org.silastandard.Date ConstrainedParameter = 1;  /* A Date parameter with a Set constraint of 2022-09-10Z, 2022-09-11-00:15, 2022-09-12+11:30 */
}

/* Responses of CheckDateConstraintSet */
message CheckDateConstraintSet_Responses {
}

/* Parameters for CheckDateConstraintMaximalExclusive */
message CheckDateConstraintMaximalExclusive_Parameters {
  sila2.org.silastandard.Date ConstrainedParameter = 1;  /* A Date parameter with a MaximalExclusive constraint of 2019-12-31+02:30 */
}

/* Responses of CheckDateConstraintMaximalExclusive */
message CheckDateConstraintMaximalExclusive_Responses {
}

/* Parameters for CheckDateConstraintMaximalInclusive */
message CheckDateConstraintMaximalInclusive_Parameters {
  sila2.org.silastandard.Date ConstrainedParameter = 1;  /* A Date parameter with a MaximalInclusive constraint of 2025-12-31-01:30 */
}

/* Responses of CheckDateConstraintMaximalInclusive */
message CheckDateConstraintMaximalInclusive_Responses {
}

/* Parameters for CheckDateConstraintMinimalExclusive */
message CheckDateConstraintMinimalExclusive_Parameters {
  sila2.org.silastandard.Date ConstrainedParameter = 1;  /* A Date parameter with a MinimalExclusive constraint of 2019-01-01-01:00 */
}

/* Responses of CheckDateConstraintMinimalExclusive */
message CheckDateConstraintMinimalExclusive_Responses {
}

/* Parameters for CheckDateConstraintMinimalInclusive */
message CheckDateConstraintMinimalInclusive_Parameters {
  sila2.org.silastandard.Date ConstrainedParameter = 1;  /* A Date parameter with a MinimalInclusive constraint of 1789-07-14+02:00 */
}

/* Responses of CheckDateConstraintMinimalInclusive */
message CheckDateConstraintMinimalInclusive_Responses {
}

/* Parameters for CheckDateConstraintMinMax */
message CheckDateConstraintMinMax_Parameters {
  sila2.org.silastandard.Date ConstrainedParameter = 1;  /* A Date parameter with a MinimalInclusive constraint of 1976-06-10+02:00 and a MaximalExclusive constraint of 2076-06-10+02:00 */
}

/* Responses of CheckDateConstraintMinMax */
message CheckDateConstraintMinMax_Responses {
}

/* Parameters for CheckTimeConstraintSet */
message CheckTimeConstraintSet_Parameters {
  sila2.org.silastandard.Time ConstrainedParameter = 1;  /* A Time parameter with a Set constraint of 18:59:59.999+02:00, 19:00:00.000-00:15, 19:59:00.123Z */
}

/* Responses of CheckTimeConstraintSet */
message CheckTimeConstraintSet_Responses {
}

/* Parameters for CheckTimeConstraintMaximalExclusive */
message CheckTimeConstraintMaximalExclusive_Parameters {
  sila2.org.silastandard.Time ConstrainedParameter = 1;  /* A Time parameter with a MaximalExclusive constraint of 12:00:00.000+00:15 */
}

/* Responses of CheckTimeConstraintMaximalExclusive */
message CheckTimeConstraintMaximalExclusive_Responses {
}

/* Parameters for CheckTimeConstraintMaximalInclusive */
message CheckTimeConstraintMaximalInclusive_Parameters {
  sila2.org.silastandard.Time ConstrainedParameter = 1;  /* A Time parameter with a MaximalInclusive constraint of 18:59:59.987+02:00 */
}

/* Responses of CheckTimeConstraintMaximalInclusive */
message CheckTimeConstraintMaximalInclusive_Responses {
}

/* Parameters for CheckTimeConstraintMinimalExclusive */
message CheckTimeConstraintMinimalExclusive_Parameters {
  sila2.org.silastandard.Time ConstrainedParameter = 1;  /* A Time parameter with a MinimalExclusive constraint of 01:02:03.456+07:00 */
}

/* Responses of CheckTimeConstraintMinimalExclusive */
message CheckTimeConstraintMinimalExclusive_Responses {
}

/* Parameters for CheckTimeConstraintMinimalInclusive */
message CheckTimeConstraintMinimalInclusive_Parameters {
  sila2.org.silastandard.Time ConstrainedParameter = 1;  /* A Time parameter with a MinimalInclusive constraint of 08:00.555Z */
}

/* Responses of CheckTimeConstraintMinimalInclusive */
message CheckTimeConstraintMinimalInclusive_Responses {
}

/* Parameters for CheckTimeConstraintMinMax */
message CheckTimeConstraintMinMax_Parameters {
  sila2.org.silastandard.Time ConstrainedParameter = 1;  /* A Time parameter with a MinimalExclusive constraint of 08:00:00.500-02:30 and a MaximalInclusive constraint of 18:59:59.595+02:30 */
}

/* Responses of CheckTimeConstraintMinMax */
message CheckTimeConstraintMinMax_Responses {
}

/* Parameters for CheckTimestampConstraintSet */
message CheckTimestampConstraintSet_Parameters {
  sila2.org.silastandard.Timestamp ConstrainedParameter = 1;  /* A Timestamp parameter with a Set constraint of 1969-07-16T13:32:00.001Z, 1969-07-20T20:17:40Z, 1969-07-24T16:50:35.123+00:00 */
}

/* Responses of CheckTimestampConstraintSet */
message CheckTimestampConstraintSet_Responses {
}

/* Parameters for CheckTimestampConstraintMaximalExclusive */
message CheckTimestampConstraintMaximalExclusive_Parameters {
  sila2.org.silastandard.Timestamp ConstrainedParameter = 1;  /* A Timestamp parameter with a MaximalExclusive constraint of 2022-09-07T16:00:00.000+02:00 */
}

/* Responses of CheckTimestampConstraintMaximalExclusive */
message CheckTimestampConstraintMaximalExclusive_Responses {
}

/* Parameters for CheckTimestampConstraintMaximalInclusive */
message CheckTimestampConstraintMaximalInclusive_Parameters {
  sila2.org.silastandard.Timestamp ConstrainedParameter = 1;  /* A Timestamp parameter with a MaximalInclusive constraint of 2025-12-31T13:59:59.999-01:30 */
}

/* Responses of CheckTimestampConstraintMaximalInclusive */
message CheckTimestampConstraintMaximalInclusive_Responses {
}

/* Parameters for CheckTimestampConstraintMinimalExclusive */
message CheckTimestampConstraintMinimalExclusive_Parameters {
  sila2.org.silastandard.Timestamp ConstrainedParameter = 1;  /* A Timestamp parameter with a MinimalExclusive constraint of 2019-01-01T00:00:00-01:00 */
}

/* Responses of CheckTimestampConstraintMinimalExclusive */
message CheckTimestampConstraintMinimalExclusive_Responses {
}

/* Parameters for CheckTimestampConstraintMinimalInclusive */
message CheckTimestampConstraintMinimalInclusive_Parameters {
  sila2.org.silastandard.Timestamp ConstrainedParameter = 1;  /* A Timestamp parameter with a MinimalInclusive constraint of 2022-09-07T13:48:59.666+02:00 */
}

/* Responses of CheckTimestampConstraintMinimalInclusive */
message CheckTimestampConstraintMinimalInclusive_Responses {
}

/* Parameters for CheckTimestampConstraintMinMax */
message CheckTimestampConstraintMinMax_Parameters {
  sila2.org.silastandard.Timestamp ConstrainedParameter = 1;  /* A Timestamp parameter with a MinimalInclusive constraint of 1969-07-20T20:17:40.303Z and a MaximalExclusive constraint of 1972-12-11T19:54:57.059Z */
}

/* Responses of CheckTimestampConstraintMinMax */
message CheckTimestampConstraintMinMax_Responses {
}

/* Parameters for CheckListConstraintElementCount */
message CheckListConstraintElementCount_Parameters {
  repeated sila2.org.silastandard.String ConstrainedParameter = 1;  /* A String List parameter with an ElementCount constraint of 5 */
}

/* Responses of CheckListConstraintElementCount */
message CheckListConstraintElementCount_Responses {
}

/* Parameters for CheckListConstraintMinimalElementCount */
message CheckListConstraintMinimalElementCount_Parameters {
  repeated sila2.org.silastandard.String ConstrainedParameter = 1;  /* A String List parameter with an MinimalElementCount constraint of 3 */
}

/* Responses of CheckListConstraintMinimalElementCount */
message CheckListConstraintMinimalElementCount_Responses {
}

/* Parameters for CheckListConstraintMaximalElementCount */
message CheckListConstraintMaximalElementCount_Parameters {
  repeated sila2.org.silastandard.String ConstrainedParameter = 1;  /* A String List parameter with an MaximalElementCount constraint of 5 */
}

/* Responses of CheckListConstraintMaximalElementCount */
message CheckListConstraintMaximalElementCount_Responses {
}

/* Parameters for CheckListConstraintMinMaxElementCount */
message CheckListConstraintMinMaxElementCount_Parameters {
  repeated sila2.org.silastandard.String ConstrainedParameter = 1;  /* A String List parameter with a MinimalElementCount constraint of 2 and a MaximalElementCount constraint of 5 */
}

/* Responses of CheckListConstraintMinMaxElementCount */
message CheckListConstraintMinMaxElementCount_Responses {
}

/* Parameters for CheckBinaryConstraintLength */
message CheckBinaryConstraintLength_Parameters {
  sila2.org.silastandard.Binary ConstrainedParameter = 1;  /* A Binary parameter with a Length constraint of 10 */
}

/* Responses of CheckBinaryConstraintLength */
message CheckBinaryConstraintLength_Responses {
}

/* Parameters for CheckBinaryConstraintMinimalLength */
message CheckBinaryConstraintMinimalLength_Parameters {
  sila2.org.silastandard.Binary ConstrainedParameter = 1;  /* A Binary parameter with a MinimalLength constraint of 5 */
}

/* Responses of CheckBinaryConstraintMinimalLength */
message CheckBinaryConstraintMinimalLength_Responses {
}

/* Parameters for CheckBinaryConstraintMaximalLength */
message CheckBinaryConstraintMaximalLength_Parameters {
  sila2.org.silastandard.Binary ConstrainedParameter = 1;  /* A Binary parameter with a MaximalLength constraint of 20 */
}

/* Responses of CheckBinaryConstraintMaximalLength */
message CheckBinaryConstraintMaximalLength_Responses {
}

/* Parameters for CheckBinaryConstraintMinMaxLength */
message CheckBinaryConstraintMinMaxLength_Parameters {
  sila2.org.silastandard.Binary ConstrainedParameter = 1;  /* A Binary parameter with a MinimalLength constraint of 5 and a MaximalLength constraint of 20 */
}

/* Responses of CheckBinaryConstraintMinMaxLength */
message CheckBinaryConstraintMinMaxLength_Responses {
}

/* Parameters for CheckBinaryConstraintContentType */
message CheckBinaryConstraintContentType_Parameters {
  sila2.org.silastandard.Binary ConstrainedParameter = 1;  /* A Binary parameter with a ContentType constraint allowing only valid XML document as content */
}

/* Responses of CheckBinaryConstraintContentType */
message CheckBinaryConstraintContentType_Responses {
}

/* Parameters for CheckBinaryConstraintSchema */
message CheckBinaryConstraintSchema_Parameters {
  sila2.org.silastandard.Binary ConstrainedParameter = 1;  /* A Binary parameter with a Schema constraint allowing only content that is compliant with the SiLA 2 Feature Definition schema */
}

/* Responses of CheckBinaryConstraintSchema */
message CheckBinaryConstraintSchema_Responses {
}

/* Parameters for CheckAllowedTypesConstraint */
message CheckAllowedTypesConstraint_Parameters {
  sila2.org.silastandard.Any ConstrainedParameter = 1;  /* An Any type parameter with an AllowedTypes constraint that only allows an integer or a list of integers */
}

/* Responses of CheckAllowedTypesConstraint */
message CheckAllowedTypesConstraint_Responses {
}

/* Parameters for CheckAllowedStructureTypeConstraints */
message CheckAllowedStructureTypeConstraints_Parameters {
  sila2.org.silastandard.Any ConstrainedParameter = 1;  /* An Any type parameter with an AllowedTypes constraint that only allows a structure with an integer */
}

/* Responses of CheckAllowedStructureTypeConstraints */
message CheckAllowedStructureTypeConstraints_Responses {
}
