aws-sdk-b2bi 1.36.0 → 1.37.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -27,6 +27,7 @@ module Aws::B2bi
27
27
  CapabilityOptions = Shapes::StructureShape.new(name: 'CapabilityOptions')
28
28
  CapabilitySummary = Shapes::StructureShape.new(name: 'CapabilitySummary')
29
29
  CapabilityType = Shapes::StringShape.new(name: 'CapabilityType')
30
+ CodeList = Shapes::ListShape.new(name: 'CodeList')
30
31
  ConflictException = Shapes::StructureShape.new(name: 'ConflictException')
31
32
  ConversionSource = Shapes::StructureShape.new(name: 'ConversionSource')
32
33
  ConversionSourceFormat = Shapes::StringShape.new(name: 'ConversionSourceFormat')
@@ -50,6 +51,9 @@ module Aws::B2bi
50
51
  DeleteTransformerRequest = Shapes::StructureShape.new(name: 'DeleteTransformerRequest')
51
52
  EdiConfiguration = Shapes::StructureShape.new(name: 'EdiConfiguration')
52
53
  EdiType = Shapes::UnionShape.new(name: 'EdiType')
54
+ ElementId = Shapes::StringShape.new(name: 'ElementId')
55
+ ElementPosition = Shapes::StringShape.new(name: 'ElementPosition')
56
+ ElementRequirement = Shapes::StringShape.new(name: 'ElementRequirement')
53
57
  Email = Shapes::StringShape.new(name: 'Email')
54
58
  ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
55
59
  FileFormat = Shapes::StringShape.new(name: 'FileFormat')
@@ -170,11 +174,16 @@ module Aws::B2bi
170
174
  X12AdvancedOptions = Shapes::StructureShape.new(name: 'X12AdvancedOptions')
171
175
  X12ApplicationReceiverCode = Shapes::StringShape.new(name: 'X12ApplicationReceiverCode')
172
176
  X12ApplicationSenderCode = Shapes::StringShape.new(name: 'X12ApplicationSenderCode')
177
+ X12CodeListValidationRule = Shapes::StructureShape.new(name: 'X12CodeListValidationRule')
173
178
  X12ComponentSeparator = Shapes::StringShape.new(name: 'X12ComponentSeparator')
174
179
  X12ControlNumbers = Shapes::StructureShape.new(name: 'X12ControlNumbers')
175
180
  X12DataElementSeparator = Shapes::StringShape.new(name: 'X12DataElementSeparator')
176
181
  X12Delimiters = Shapes::StructureShape.new(name: 'X12Delimiters')
177
182
  X12Details = Shapes::StructureShape.new(name: 'X12Details')
183
+ X12ElementLengthValidationRule = Shapes::StructureShape.new(name: 'X12ElementLengthValidationRule')
184
+ X12ElementLengthValidationRuleMaxLengthInteger = Shapes::IntegerShape.new(name: 'X12ElementLengthValidationRuleMaxLengthInteger')
185
+ X12ElementLengthValidationRuleMinLengthInteger = Shapes::IntegerShape.new(name: 'X12ElementLengthValidationRuleMinLengthInteger')
186
+ X12ElementRequirementValidationRule = Shapes::StructureShape.new(name: 'X12ElementRequirementValidationRule')
178
187
  X12Envelope = Shapes::StructureShape.new(name: 'X12Envelope')
179
188
  X12FunctionalAcknowledgment = Shapes::StringShape.new(name: 'X12FunctionalAcknowledgment')
180
189
  X12FunctionalGroupHeaders = Shapes::StructureShape.new(name: 'X12FunctionalGroupHeaders')
@@ -194,6 +203,9 @@ module Aws::B2bi
194
203
  X12TransactionSet = Shapes::StringShape.new(name: 'X12TransactionSet')
195
204
  X12UsageIndicatorCode = Shapes::StringShape.new(name: 'X12UsageIndicatorCode')
196
205
  X12ValidateEdi = Shapes::BooleanShape.new(name: 'X12ValidateEdi')
206
+ X12ValidationOptions = Shapes::StructureShape.new(name: 'X12ValidationOptions')
207
+ X12ValidationRule = Shapes::UnionShape.new(name: 'X12ValidationRule')
208
+ X12ValidationRules = Shapes::ListShape.new(name: 'X12ValidationRules')
197
209
  X12Version = Shapes::StringShape.new(name: 'X12Version')
198
210
 
199
211
  AccessDeniedException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, required: true, location_name: "message"))
@@ -221,6 +233,8 @@ module Aws::B2bi
221
233
  CapabilitySummary.add_member(:modified_at, Shapes::ShapeRef.new(shape: ModifiedDate, location_name: "modifiedAt"))
222
234
  CapabilitySummary.struct_class = Types::CapabilitySummary
223
235
 
236
+ CodeList.member = Shapes::ShapeRef.new(shape: String)
237
+
224
238
  ConflictException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, required: true, location_name: "message"))
225
239
  ConflictException.struct_class = Types::ConflictException
226
240
 
@@ -231,6 +245,7 @@ module Aws::B2bi
231
245
  ConversionTarget.add_member(:file_format, Shapes::ShapeRef.new(shape: ConversionTargetFormat, required: true, location_name: "fileFormat"))
232
246
  ConversionTarget.add_member(:format_details, Shapes::ShapeRef.new(shape: ConversionTargetFormatDetails, location_name: "formatDetails"))
233
247
  ConversionTarget.add_member(:output_sample_file, Shapes::ShapeRef.new(shape: OutputSampleFileSource, location_name: "outputSampleFile"))
248
+ ConversionTarget.add_member(:advanced_options, Shapes::ShapeRef.new(shape: AdvancedOptions, location_name: "advancedOptions"))
234
249
  ConversionTarget.struct_class = Types::ConversionTarget
235
250
 
236
251
  ConversionTargetFormatDetails.add_member(:x12, Shapes::ShapeRef.new(shape: X12Details, location_name: "x12"))
@@ -519,6 +534,7 @@ module Aws::B2bi
519
534
 
520
535
  OutputConversion.add_member(:to_format, Shapes::ShapeRef.new(shape: ToFormat, required: true, location_name: "toFormat"))
521
536
  OutputConversion.add_member(:format_options, Shapes::ShapeRef.new(shape: FormatOptions, location_name: "formatOptions"))
537
+ OutputConversion.add_member(:advanced_options, Shapes::ShapeRef.new(shape: AdvancedOptions, location_name: "advancedOptions"))
522
538
  OutputConversion.struct_class = Types::OutputConversion
523
539
 
524
540
  OutputSampleFileSource.add_member(:file_location, Shapes::ShapeRef.new(shape: S3Location, location_name: "fileLocation"))
@@ -629,6 +645,7 @@ module Aws::B2bi
629
645
 
630
646
  TestParsingResponse.add_member(:parsed_file_content, Shapes::ShapeRef.new(shape: String, required: true, location_name: "parsedFileContent"))
631
647
  TestParsingResponse.add_member(:parsed_split_file_contents, Shapes::ShapeRef.new(shape: ParsedSplitFileContentsList, location_name: "parsedSplitFileContents"))
648
+ TestParsingResponse.add_member(:validation_messages, Shapes::ShapeRef.new(shape: ValidationMessages, location_name: "validationMessages"))
632
649
  TestParsingResponse.struct_class = Types::TestParsingResponse
633
650
 
634
651
  ThrottlingException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, required: true, location_name: "message"))
@@ -754,8 +771,14 @@ module Aws::B2bi
754
771
  X12AcknowledgmentOptions.struct_class = Types::X12AcknowledgmentOptions
755
772
 
756
773
  X12AdvancedOptions.add_member(:split_options, Shapes::ShapeRef.new(shape: X12SplitOptions, location_name: "splitOptions"))
774
+ X12AdvancedOptions.add_member(:validation_options, Shapes::ShapeRef.new(shape: X12ValidationOptions, location_name: "validationOptions"))
757
775
  X12AdvancedOptions.struct_class = Types::X12AdvancedOptions
758
776
 
777
+ X12CodeListValidationRule.add_member(:element_id, Shapes::ShapeRef.new(shape: ElementId, required: true, location_name: "elementId"))
778
+ X12CodeListValidationRule.add_member(:codes_to_add, Shapes::ShapeRef.new(shape: CodeList, location_name: "codesToAdd"))
779
+ X12CodeListValidationRule.add_member(:codes_to_remove, Shapes::ShapeRef.new(shape: CodeList, location_name: "codesToRemove"))
780
+ X12CodeListValidationRule.struct_class = Types::X12CodeListValidationRule
781
+
759
782
  X12ControlNumbers.add_member(:starting_interchange_control_number, Shapes::ShapeRef.new(shape: StartingInterchangeControlNumber, location_name: "startingInterchangeControlNumber"))
760
783
  X12ControlNumbers.add_member(:starting_functional_group_control_number, Shapes::ShapeRef.new(shape: StartingFunctionalGroupControlNumber, location_name: "startingFunctionalGroupControlNumber"))
761
784
  X12ControlNumbers.add_member(:starting_transaction_set_control_number, Shapes::ShapeRef.new(shape: StartingTransactionSetControlNumber, location_name: "startingTransactionSetControlNumber"))
@@ -770,6 +793,15 @@ module Aws::B2bi
770
793
  X12Details.add_member(:version, Shapes::ShapeRef.new(shape: X12Version, location_name: "version"))
771
794
  X12Details.struct_class = Types::X12Details
772
795
 
796
+ X12ElementLengthValidationRule.add_member(:element_id, Shapes::ShapeRef.new(shape: ElementId, required: true, location_name: "elementId"))
797
+ X12ElementLengthValidationRule.add_member(:max_length, Shapes::ShapeRef.new(shape: X12ElementLengthValidationRuleMaxLengthInteger, required: true, location_name: "maxLength"))
798
+ X12ElementLengthValidationRule.add_member(:min_length, Shapes::ShapeRef.new(shape: X12ElementLengthValidationRuleMinLengthInteger, required: true, location_name: "minLength"))
799
+ X12ElementLengthValidationRule.struct_class = Types::X12ElementLengthValidationRule
800
+
801
+ X12ElementRequirementValidationRule.add_member(:element_position, Shapes::ShapeRef.new(shape: ElementPosition, required: true, location_name: "elementPosition"))
802
+ X12ElementRequirementValidationRule.add_member(:requirement, Shapes::ShapeRef.new(shape: ElementRequirement, required: true, location_name: "requirement"))
803
+ X12ElementRequirementValidationRule.struct_class = Types::X12ElementRequirementValidationRule
804
+
773
805
  X12Envelope.add_member(:common, Shapes::ShapeRef.new(shape: X12OutboundEdiHeaders, location_name: "common"))
774
806
  X12Envelope.add_member(:wrap_options, Shapes::ShapeRef.new(shape: WrapOptions, location_name: "wrapOptions"))
775
807
  X12Envelope.struct_class = Types::X12Envelope
@@ -802,6 +834,21 @@ module Aws::B2bi
802
834
  X12SplitOptions.add_member(:split_by, Shapes::ShapeRef.new(shape: X12SplitBy, required: true, location_name: "splitBy"))
803
835
  X12SplitOptions.struct_class = Types::X12SplitOptions
804
836
 
837
+ X12ValidationOptions.add_member(:validation_rules, Shapes::ShapeRef.new(shape: X12ValidationRules, location_name: "validationRules"))
838
+ X12ValidationOptions.struct_class = Types::X12ValidationOptions
839
+
840
+ X12ValidationRule.add_member(:code_list_validation_rule, Shapes::ShapeRef.new(shape: X12CodeListValidationRule, location_name: "codeListValidationRule"))
841
+ X12ValidationRule.add_member(:element_length_validation_rule, Shapes::ShapeRef.new(shape: X12ElementLengthValidationRule, location_name: "elementLengthValidationRule"))
842
+ X12ValidationRule.add_member(:element_requirement_validation_rule, Shapes::ShapeRef.new(shape: X12ElementRequirementValidationRule, location_name: "elementRequirementValidationRule"))
843
+ X12ValidationRule.add_member(:unknown, Shapes::ShapeRef.new(shape: nil, location_name: 'unknown'))
844
+ X12ValidationRule.add_member_subclass(:code_list_validation_rule, Types::X12ValidationRule::CodeListValidationRule)
845
+ X12ValidationRule.add_member_subclass(:element_length_validation_rule, Types::X12ValidationRule::ElementLengthValidationRule)
846
+ X12ValidationRule.add_member_subclass(:element_requirement_validation_rule, Types::X12ValidationRule::ElementRequirementValidationRule)
847
+ X12ValidationRule.add_member_subclass(:unknown, Types::X12ValidationRule::Unknown)
848
+ X12ValidationRule.struct_class = Types::X12ValidationRule
849
+
850
+ X12ValidationRules.member = Shapes::ShapeRef.new(shape: X12ValidationRule)
851
+
805
852
 
806
853
  # @api private
807
854
  API = Seahorse::Model::Api.new.tap do |api|
@@ -175,12 +175,18 @@ module Aws::B2bi
175
175
  # the file syntax
176
176
  # @return [Types::OutputSampleFileSource]
177
177
  #
178
+ # @!attribute [rw] advanced_options
179
+ # A structure that contains advanced options for EDI processing.
180
+ # Currently, only X12 advanced options are supported.
181
+ # @return [Types::AdvancedOptions]
182
+ #
178
183
  # @see http://docs.aws.amazon.com/goto/WebAPI/b2bi-2022-06-23/ConversionTarget AWS API Documentation
179
184
  #
180
185
  class ConversionTarget < Struct.new(
181
186
  :file_format,
182
187
  :format_details,
183
- :output_sample_file)
188
+ :output_sample_file,
189
+ :advanced_options)
184
190
  SENSITIVE = []
185
191
  include Aws::Structure
186
192
  end
@@ -1637,11 +1643,17 @@ module Aws::B2bi
1637
1643
  # the transformer output.
1638
1644
  # @return [Types::FormatOptions]
1639
1645
  #
1646
+ # @!attribute [rw] advanced_options
1647
+ # A structure that contains advanced options for EDI processing.
1648
+ # Currently, only X12 advanced options are supported.
1649
+ # @return [Types::AdvancedOptions]
1650
+ #
1640
1651
  # @see http://docs.aws.amazon.com/goto/WebAPI/b2bi-2022-06-23/OutputConversion AWS API Documentation
1641
1652
  #
1642
1653
  class OutputConversion < Struct.new(
1643
1654
  :to_format,
1644
- :format_options)
1655
+ :format_options,
1656
+ :advanced_options)
1645
1657
  SENSITIVE = []
1646
1658
  include Aws::Structure
1647
1659
  end
@@ -2034,8 +2046,13 @@ module Aws::B2bi
2034
2046
  # @return [String]
2035
2047
  #
2036
2048
  # @!attribute [rw] validation_messages
2037
- # Returns an array of strings, each containing a message that Amazon
2038
- # Web Services B2B Data Interchange generates during the conversion.
2049
+ # Returns an array of validation messages that Amazon Web Services B2B
2050
+ # Data Interchange generates during the conversion process. These
2051
+ # messages include both standard EDI validation results and custom
2052
+ # validation messages when custom validation rules are configured.
2053
+ # Custom validation messages provide detailed feedback on element
2054
+ # length constraints, code list validations, and element requirement
2055
+ # checks applied during the outbound EDI generation process.
2039
2056
  # @return [Array<String>]
2040
2057
  #
2041
2058
  # @see http://docs.aws.amazon.com/goto/WebAPI/b2bi-2022-06-23/TestConversionResponse AWS API Documentation
@@ -2139,11 +2156,21 @@ module Aws::B2bi
2139
2156
  # array represents a separate split file's parsed content.
2140
2157
  # @return [Array<String>]
2141
2158
  #
2159
+ # @!attribute [rw] validation_messages
2160
+ # Returns an array of validation messages generated during EDI
2161
+ # validation. These messages provide detailed information about
2162
+ # validation errors, warnings, or confirmations based on the
2163
+ # configured X12 validation rules such as element length constraints,
2164
+ # code list validations, and element requirement checks. This field is
2165
+ # populated when the `TestParsing` API validates EDI documents.
2166
+ # @return [Array<String>]
2167
+ #
2142
2168
  # @see http://docs.aws.amazon.com/goto/WebAPI/b2bi-2022-06-23/TestParsingResponse AWS API Documentation
2143
2169
  #
2144
2170
  class TestParsingResponse < Struct.new(
2145
2171
  :parsed_file_content,
2146
- :parsed_split_file_contents)
2172
+ :parsed_split_file_contents,
2173
+ :validation_messages)
2147
2174
  SENSITIVE = []
2148
2175
  include Aws::Structure
2149
2176
  end
@@ -2727,7 +2754,11 @@ module Aws::B2bi
2727
2754
  end
2728
2755
 
2729
2756
  # Occurs when a B2BI object cannot be validated against a request from
2730
- # another object.
2757
+ # another object. This exception can be thrown during standard EDI
2758
+ # validation or when custom validation rules fail, such as when element
2759
+ # length constraints are violated, invalid codes are used in code list
2760
+ # validations, or required elements are missing based on configured
2761
+ # element requirement rules.
2731
2762
  #
2732
2763
  # @!attribute [rw] message
2733
2764
  # @return [String]
@@ -2823,10 +2854,56 @@ module Aws::B2bi
2823
2854
  # how large X12 files are divided into smaller, more manageable units.
2824
2855
  # @return [Types::X12SplitOptions]
2825
2856
  #
2857
+ # @!attribute [rw] validation_options
2858
+ # Specifies validation options for X12 EDI processing. These options
2859
+ # control how validation rules are applied during EDI document
2860
+ # processing, including custom validation rules for element length
2861
+ # constraints, code list validations, and element requirement checks.
2862
+ # @return [Types::X12ValidationOptions]
2863
+ #
2826
2864
  # @see http://docs.aws.amazon.com/goto/WebAPI/b2bi-2022-06-23/X12AdvancedOptions AWS API Documentation
2827
2865
  #
2828
2866
  class X12AdvancedOptions < Struct.new(
2829
- :split_options)
2867
+ :split_options,
2868
+ :validation_options)
2869
+ SENSITIVE = []
2870
+ include Aws::Structure
2871
+ end
2872
+
2873
+ # Defines a validation rule that modifies the allowed code values for a
2874
+ # specific X12 element. This rule allows you to add or remove valid
2875
+ # codes from an element's standard code list, providing flexibility to
2876
+ # accommodate trading partner-specific requirements or industry
2877
+ # variations. You can specify codes to add to expand the allowed values
2878
+ # beyond the X12 standard, or codes to remove to restrict the allowed
2879
+ # values for stricter validation.
2880
+ #
2881
+ # @!attribute [rw] element_id
2882
+ # Specifies the four-digit element ID to which the code list
2883
+ # modifications apply. This identifies which X12 element will have its
2884
+ # allowed code values modified.
2885
+ # @return [String]
2886
+ #
2887
+ # @!attribute [rw] codes_to_add
2888
+ # Specifies a list of code values to add to the element's allowed
2889
+ # values. These codes will be considered valid for the specified
2890
+ # element in addition to the standard codes defined by the X12
2891
+ # specification.
2892
+ # @return [Array<String>]
2893
+ #
2894
+ # @!attribute [rw] codes_to_remove
2895
+ # Specifies a list of code values to remove from the element's
2896
+ # allowed values. These codes will be considered invalid for the
2897
+ # specified element, even if they are part of the standard codes
2898
+ # defined by the X12 specification.
2899
+ # @return [Array<String>]
2900
+ #
2901
+ # @see http://docs.aws.amazon.com/goto/WebAPI/b2bi-2022-06-23/X12CodeListValidationRule AWS API Documentation
2902
+ #
2903
+ class X12CodeListValidationRule < Struct.new(
2904
+ :element_id,
2905
+ :codes_to_add,
2906
+ :codes_to_remove)
2830
2907
  SENSITIVE = []
2831
2908
  include Aws::Structure
2832
2909
  end
@@ -2926,6 +3003,71 @@ module Aws::B2bi
2926
3003
  include Aws::Structure
2927
3004
  end
2928
3005
 
3006
+ # Defines a validation rule that specifies custom length constraints for
3007
+ # a specific X12 element. This rule allows you to override the standard
3008
+ # minimum and maximum length requirements for an element, enabling
3009
+ # validation of trading partner-specific length requirements that may
3010
+ # differ from the X12 specification. Both minimum and maximum length
3011
+ # values must be specified and must be between 1 and 200 characters.
3012
+ #
3013
+ # @!attribute [rw] element_id
3014
+ # Specifies the four-digit element ID to which the length constraints
3015
+ # will be applied. This identifies which X12 element will have its
3016
+ # length requirements modified.
3017
+ # @return [String]
3018
+ #
3019
+ # @!attribute [rw] max_length
3020
+ # Specifies the maximum allowed length for the identified element.
3021
+ # This value must be between 1 and 200 characters and defines the
3022
+ # upper limit for the element's content length.
3023
+ # @return [Integer]
3024
+ #
3025
+ # @!attribute [rw] min_length
3026
+ # Specifies the minimum required length for the identified element.
3027
+ # This value must be between 1 and 200 characters and defines the
3028
+ # lower limit for the element's content length.
3029
+ # @return [Integer]
3030
+ #
3031
+ # @see http://docs.aws.amazon.com/goto/WebAPI/b2bi-2022-06-23/X12ElementLengthValidationRule AWS API Documentation
3032
+ #
3033
+ class X12ElementLengthValidationRule < Struct.new(
3034
+ :element_id,
3035
+ :max_length,
3036
+ :min_length)
3037
+ SENSITIVE = []
3038
+ include Aws::Structure
3039
+ end
3040
+
3041
+ # Defines a validation rule that modifies the requirement status of a
3042
+ # specific X12 element within a segment. This rule allows you to make
3043
+ # optional elements mandatory or mandatory elements optional, providing
3044
+ # flexibility to accommodate different trading partner requirements and
3045
+ # business rules. The rule targets a specific element position within a
3046
+ # segment and sets its requirement status to either OPTIONAL or
3047
+ # MANDATORY.
3048
+ #
3049
+ # @!attribute [rw] element_position
3050
+ # Specifies the position of the element within an X12 segment for
3051
+ # which the requirement status will be modified. The format follows
3052
+ # the pattern of segment identifier followed by element position
3053
+ # (e.g., "ST-01" for the first element of the ST segment).
3054
+ # @return [String]
3055
+ #
3056
+ # @!attribute [rw] requirement
3057
+ # Specifies the requirement status for the element at the specified
3058
+ # position. Valid values are OPTIONAL (the element may be omitted) or
3059
+ # MANDATORY (the element must be present).
3060
+ # @return [String]
3061
+ #
3062
+ # @see http://docs.aws.amazon.com/goto/WebAPI/b2bi-2022-06-23/X12ElementRequirementValidationRule AWS API Documentation
3063
+ #
3064
+ class X12ElementRequirementValidationRule < Struct.new(
3065
+ :element_position,
3066
+ :requirement)
3067
+ SENSITIVE = []
3068
+ include Aws::Structure
3069
+ end
3070
+
2929
3071
  # A wrapper structure for an X12 definition object.
2930
3072
  #
2931
3073
  # the X12 envelope ensures the integrity of the data and the efficiency
@@ -3096,7 +3238,11 @@ module Aws::B2bi
3096
3238
  #
3097
3239
  # @!attribute [rw] validate_edi
3098
3240
  # Specifies whether or not to validate the EDI for this X12 object:
3099
- # `TRUE` or `FALSE`.
3241
+ # `TRUE` or `FALSE`. When enabled, this performs both standard EDI
3242
+ # validation and applies any configured custom validation rules
3243
+ # including element length constraints, code list validations, and
3244
+ # element requirement checks. Validation results are returned in the
3245
+ # response validation messages.
3100
3246
  # @return [Boolean]
3101
3247
  #
3102
3248
  # @!attribute [rw] control_numbers
@@ -3157,6 +3303,80 @@ module Aws::B2bi
3157
3303
  include Aws::Structure
3158
3304
  end
3159
3305
 
3306
+ # Contains configuration options for X12 EDI validation. This structure
3307
+ # allows you to specify custom validation rules that will be applied
3308
+ # during EDI document processing, including element length constraints,
3309
+ # code list modifications, and element requirement changes. These
3310
+ # validation options provide flexibility to accommodate trading
3311
+ # partner-specific requirements while maintaining EDI compliance. The
3312
+ # validation rules are applied in addition to standard X12 validation to
3313
+ # ensure documents meet both standard and custom requirements.
3314
+ #
3315
+ # @!attribute [rw] validation_rules
3316
+ # Specifies a list of validation rules to apply during EDI document
3317
+ # processing. These rules can include code list modifications, element
3318
+ # length constraints, and element requirement changes.
3319
+ # @return [Array<Types::X12ValidationRule>]
3320
+ #
3321
+ # @see http://docs.aws.amazon.com/goto/WebAPI/b2bi-2022-06-23/X12ValidationOptions AWS API Documentation
3322
+ #
3323
+ class X12ValidationOptions < Struct.new(
3324
+ :validation_rules)
3325
+ SENSITIVE = []
3326
+ include Aws::Structure
3327
+ end
3328
+
3329
+ # Represents a single validation rule that can be applied during X12 EDI
3330
+ # processing. This is a union type that can contain one of several
3331
+ # specific validation rule types: code list validation rules for
3332
+ # modifying allowed element codes, element length validation rules for
3333
+ # enforcing custom length constraints, or element requirement validation
3334
+ # rules for changing mandatory/optional status. Each validation rule
3335
+ # targets specific aspects of EDI document validation to ensure
3336
+ # compliance with trading partner requirements and business rules.
3337
+ #
3338
+ # @note X12ValidationRule is a union - when making an API calls you must set exactly one of the members.
3339
+ #
3340
+ # @note X12ValidationRule is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of X12ValidationRule corresponding to the set member.
3341
+ #
3342
+ # @!attribute [rw] code_list_validation_rule
3343
+ # Specifies a code list validation rule that modifies the allowed code
3344
+ # values for a specific X12 element. This rule enables you to
3345
+ # customize which codes are considered valid for an element, allowing
3346
+ # for trading partner-specific code requirements.
3347
+ # @return [Types::X12CodeListValidationRule]
3348
+ #
3349
+ # @!attribute [rw] element_length_validation_rule
3350
+ # Specifies an element length validation rule that defines custom
3351
+ # length constraints for a specific X12 element. This rule allows you
3352
+ # to enforce minimum and maximum length requirements that may differ
3353
+ # from the standard X12 specification.
3354
+ # @return [Types::X12ElementLengthValidationRule]
3355
+ #
3356
+ # @!attribute [rw] element_requirement_validation_rule
3357
+ # Specifies an element requirement validation rule that modifies
3358
+ # whether a specific X12 element is required or optional within a
3359
+ # segment. This rule provides flexibility to accommodate different
3360
+ # trading partner requirements for element presence.
3361
+ # @return [Types::X12ElementRequirementValidationRule]
3362
+ #
3363
+ # @see http://docs.aws.amazon.com/goto/WebAPI/b2bi-2022-06-23/X12ValidationRule AWS API Documentation
3364
+ #
3365
+ class X12ValidationRule < Struct.new(
3366
+ :code_list_validation_rule,
3367
+ :element_length_validation_rule,
3368
+ :element_requirement_validation_rule,
3369
+ :unknown)
3370
+ SENSITIVE = []
3371
+ include Aws::Structure
3372
+ include Aws::Structure::Union
3373
+
3374
+ class CodeListValidationRule < X12ValidationRule; end
3375
+ class ElementLengthValidationRule < X12ValidationRule; end
3376
+ class ElementRequirementValidationRule < X12ValidationRule; end
3377
+ class Unknown < X12ValidationRule; end
3378
+ end
3379
+
3160
3380
  end
3161
3381
  end
3162
3382
 
data/lib/aws-sdk-b2bi.rb CHANGED
@@ -55,7 +55,7 @@ module Aws::B2bi
55
55
  autoload :EndpointProvider, 'aws-sdk-b2bi/endpoint_provider'
56
56
  autoload :Endpoints, 'aws-sdk-b2bi/endpoints'
57
57
 
58
- GEM_VERSION = '1.36.0'
58
+ GEM_VERSION = '1.37.0'
59
59
 
60
60
  end
61
61