@@ -17,6 +17,12 @@ Rule is based on [http://go/ipa/IPA-5](http://go/ipa/IPA-5).
1717 ![ error] ( https://img.shields.io/badge/error-red )
1818IPA exception extensions must follow the correct format. http://go/ipa/5
1919
20+ ##### Implementation details
21+ Rule checks for the following conditions:
22+ - Exception rule names must start with 'xgen-IPA-' prefix
23+ - Each exception must include a non-empty reason as a string
24+ - This rule itself does not allow exceptions
25+
2026
2127
2228### IPA-102
@@ -27,7 +33,6 @@ Rule is based on [http://go/ipa/IPA-102](http://go/ipa/IPA-102).
2733
2834 ![ error] ( https://img.shields.io/badge/error-red )
2935Paths should alternate between resource names and path params. http://go/ipa/102
30-
3136#### xgen-IPA-102-collection-identifier-camelCase
3237
3338 ![ warn] ( https://img.shields.io/badge/warning-yellow )
@@ -44,14 +49,12 @@ Collection identifiers must be in camelCase.
4449 - Paths with ` x-xgen-IPA-exception ` for this rule are excluded from validation
4550 - Double slashes (//) are not allowed in paths
4651
47-
4852#### xgen-IPA-102-collection-identifier-pattern
4953
5054 ![ warn] ( https://img.shields.io/badge/warning-yellow )
5155Collection identifiers must begin with a lowercase letter and contain only ASCII letters and numbers. http://go/ipa/102
5256
5357
54-
5558### IPA-104
5659
5760Rule is based on [ http://go/ipa/IPA-104 ] ( http://go/ipa/IPA-104 ) .
@@ -60,34 +63,28 @@ Rule is based on [http://go/ipa/IPA-104](http://go/ipa/IPA-104).
6063
6164 ![ warn] ( https://img.shields.io/badge/warning-yellow )
6265APIs must provide a Get method for resources. http://go/ipa/104
63-
6466#### xgen-IPA-104-get-method-returns-single-resource
6567
6668 ![ warn] ( https://img.shields.io/badge/warning-yellow )
6769The purpose of the Get method is to return data from a single resource. http://go/ipa/104
68-
6970#### xgen-IPA-104-get-method-response-code-is-200
7071
7172 ![ warn] ( https://img.shields.io/badge/warning-yellow )
7273The Get method must return a 200 OK response. http://go/ipa/104
73-
7474#### xgen-IPA-104-get-method-returns-response-suffixed-object
7575
7676 ![ warn] ( https://img.shields.io/badge/warning-yellow )
7777The Get method of a resource should return a "Response" suffixed object. http://go/ipa/104
78-
7978#### xgen-IPA-104-get-method-response-has-no-input-fields
8079
8180 ![ warn] ( https://img.shields.io/badge/warning-yellow )
8281The Get method response object must not include writeOnly properties (fields that should be used only on creation or update, ie output fields). http://go/ipa/104
83-
8482#### xgen-IPA-104-get-method-no-request-body
8583
8684 ![ warn] ( https://img.shields.io/badge/warning-yellow )
8785The Get method request must not include a body. http://go/ipa/104
8886
8987
90-
9188### IPA-105
9289
9390Rule is based on [ http://go/ipa/IPA-105 ] ( http://go/ipa/IPA-105 ) .
@@ -96,19 +93,16 @@ Rule is based on [http://go/ipa/IPA-105](http://go/ipa/IPA-105).
9693
9794 ![ warn] ( https://img.shields.io/badge/warning-yellow )
9895The List method must return a 200 OK response. http://go/ipa/105
99-
10096#### xgen-IPA-105-list-method-no-request-body
10197
10298 ![ warn] ( https://img.shields.io/badge/warning-yellow )
10399The List method request must not include a body. http://go/ipa/105
104-
105100#### xgen-IPA-105-resource-has-list
106101
107102 ![ warn] ( https://img.shields.io/badge/warning-yellow )
108103APIs must provide a List method for resources. http://go/ipa/105
109104
110105
111-
112106### IPA-106
113107
114108Rule is based on [ http://go/ipa/IPA-106 ] ( http://go/ipa/IPA-106 ) .
@@ -117,29 +111,24 @@ Rule is based on [http://go/ipa/IPA-106](http://go/ipa/IPA-106).
117111
118112 ![ warn] ( https://img.shields.io/badge/warning-yellow )
119113The Create method request should be a Request suffixed object. http://go/ipa/106 This rule applies only to POST requests targeting resource collection URIs.
120-
121114#### xgen-IPA-106-create-method-should-not-have-query-parameters
122115
123116 ![ warn] ( https://img.shields.io/badge/warning-yellow )
124117Create operations should not use query parameters. http://go/ipa/106 This rule applies only to POST requests targeting resource collection URIs.
125-
126118#### xgen-IPA-106-create-method-request-body-is-get-method-response
127119
128120 ![ warn] ( https://img.shields.io/badge/warning-yellow )
129121Request body content of the Create method and response content of the Get method should refer to the same resource. http://go/ipa/106 readOnly/writeOnly properties will be ignored. This rule applies only to POST requests targeting resource collection URIs.
130-
131122#### xgen-IPA-106-create-method-request-has-no-readonly-fields
132123
133124 ![ warn] ( https://img.shields.io/badge/warning-yellow )
134125Create method Request object must not include fields with readOnly: true . http://go/ipa/106 This rule applies only to POST requests targeting resource collection URIs.
135-
136126#### xgen-IPA-106-create-method-response-code-is-201
137127
138128 ![ warn] ( https://img.shields.io/badge/warning-yellow )
139129Create methods must return a 201 Created response code. http://go/ipa/106 This rule applies only to POST requests targeting resource collection URIs.
140130
141131
142-
143132### IPA-107
144133
145134Rule is based on [ http://go/ipa/IPA-107 ] ( http://go/ipa/IPA-107 ) .
@@ -153,7 +142,6 @@ Validation checks the PUT method for single resource paths and singleton resourc
153142
154143 - Query parameters ` envelope ` and ` pretty ` are exempt from this rule
155144 - Operation objects with ` x-xgen-IPA-exception ` for this rule are excluded from validation
156-
157145#### xgen-IPA-107-patch-must-not-have-query-params
158146
159147 ![ warn] ( https://img.shields.io/badge/warning-yellow )
@@ -165,7 +153,6 @@ Validation checks the PATCH method for single resource paths and singleton resou
165153 - Operation objects with ` x-xgen-IPA-exception ` for this rule are excluded from validation
166154
167155
168-
169156### IPA-108
170157
171158Rule is based on [ http://go/ipa/IPA-108 ] ( http://go/ipa/IPA-108 ) .
@@ -174,24 +161,20 @@ Rule is based on [http://go/ipa/IPA-108](http://go/ipa/IPA-108).
174161
175162 ![ warn] ( https://img.shields.io/badge/warning-yellow )
176163Delete method response should not have schema reference to object. http://go/ipa/108
177-
178164#### xgen-IPA-108-delete-method-return-204-response
179165
180166 ![ warn] ( https://img.shields.io/badge/warning-yellow )
181167DELETE method must return 204 No Content. http://go/ipa/108
182-
183168#### xgen-IPA-108-delete-include-404-response
184169
185170 ![ warn] ( https://img.shields.io/badge/warning-yellow )
186171DELETE method must include 404 response and return it when resource not found. http://go/ipa/108
187-
188172#### xgen-IPA-108-delete-request-no-body
189173
190174 ![ warn] ( https://img.shields.io/badge/warning-yellow )
191175DELETE method must not have request body. http://go/ipa/108
192176
193177
194-
195178### IPA-109
196179
197180Rule is based on [ http://go/ipa/IPA-109 ] ( http://go/ipa/IPA-109 ) .
@@ -200,14 +183,12 @@ Rule is based on [http://go/ipa/IPA-109](http://go/ipa/IPA-109).
200183
201184 ![ error] ( https://img.shields.io/badge/error-red )
202185The HTTP method for custom methods must be GET or POST. http://go/ipa/109
203-
204186#### xgen-IPA-109-custom-method-must-use-camel-case
205187
206188 ![ error] ( https://img.shields.io/badge/error-red )
207189The custom method must use camelCase format. http://go/ipa/109
208190
209191
210-
211192### IPA-113
212193
213194Rule is based on [ http://go/ipa/IPA-113 ] ( http://go/ipa/IPA-113 ) .
@@ -218,7 +199,6 @@ Rule is based on [http://go/ipa/IPA-113](http://go/ipa/IPA-113).
218199Singleton resources must not have a user-provided or system-generated ID. http://go/ipa/113
219200
220201
221-
222202### IPA-123
223203
224204Rule is based on [ http://go/ipa/IPA-123 ] ( http://go/ipa/IPA-123 ) .
@@ -230,4 +210,3 @@ Enum values must be UPPER_SNAKE_CASE. http://go/ipa/123
230210
231211
232212
233-
0 commit comments