| import "@typespec/http"; |
| import "@typespec/openapi"; |
| import "@typespec/openapi3"; |
|
|
| using TypeSpec.OpenAPI; |
| using TypeSpec.Http; |
|
|
| namespace Common; |
|
|
| |
| |
| |
| #suppress "@openmeter/api-spec-aip/composition-over-inheritance" "inheritance" |
| @error |
| @useRef("../../../../common/definitions/errors.yaml#/components/responses/BadRequest") |
| @friendlyName("BadRequest") |
| model BadRequest extends BaseError { |
| @statusCode _: 400; |
|
|
| |
| |
| |
| invalid_parameters: InvalidParameters; |
| } |
|
|
| |
| |
| |
| #suppress "@openmeter/api-spec-aip/composition-over-inheritance" "inheritance" |
| @error |
| @useRef("../../../../common/definitions/errors.yaml#/components/responses/Unauthorized") |
| @friendlyName("Unauthorized") |
| model Unauthorized extends BaseError { |
| @statusCode _: 401; |
| } |
|
|
| |
| |
| |
| #suppress "@openmeter/api-spec-aip/composition-over-inheritance" "inheritance" |
| @error |
| @useRef("../../../../common/definitions/errors.yaml#/components/responses/Forbidden") |
| @friendlyName("Forbidden") |
| model Forbidden extends BaseError { |
| @statusCode _: 403; |
| } |
|
|
| |
| |
| |
| #suppress "@openmeter/api-spec-aip/composition-over-inheritance" "inheritance" |
| @error |
| @useRef("../../../../common/definitions/errors.yaml#/components/responses/NotFound") |
| @friendlyName("NotFound") |
| model NotFound extends BaseError { |
| @statusCode _: 404; |
| } |
|
|
| |
| |
| |
| #suppress "@openmeter/api-spec-aip/composition-over-inheritance" "inheritance" |
| @error |
| @useRef("../../../../common/definitions/errors.yaml#/components/responses/Conflict") |
| @friendlyName("Conflict") |
| model Conflict extends BaseError { |
| @statusCode _: 409; |
| } |
|
|
| |
| |
| |
| #suppress "@openmeter/api-spec-aip/composition-over-inheritance" "inheritance" |
| @error |
| @useRef("../../../../common/definitions/errors.yaml#/components/responses/Gone") |
| @friendlyName("Gone") |
| model Gone extends BaseError { |
| @statusCode _: 410; |
| } |
|
|
| |
| |
| |
| #suppress "@openmeter/api-spec-aip/composition-over-inheritance" "inheritance" |
| @error |
| @friendlyName("PayloadTooLarge") |
| @useRef("../../../../common/definitions/errors.yaml#/components/responses/PayloadTooLarge") |
| @friendlyName("PayloadTooLarge") |
| model PayloadTooLarge extends BaseError { |
| @statusCode _: 413; |
| } |
|
|
| |
| |
| |
| #suppress "@openmeter/api-spec-aip/composition-over-inheritance" "inheritance" |
| @error |
| @friendlyName("UnsupportedMediaType") |
| @useRef("../../../../common/definitions/errors.yaml#/components/responses/UnsupportedMediaType") |
| @friendlyName("UnsupportedMediaType") |
| model UnsupportedMediaType extends BaseError { |
| @statusCode _: 415; |
| } |
|
|
| |
| |
| |
| #suppress "@openmeter/api-spec-aip/composition-over-inheritance" "inheritance" |
| @error |
| @friendlyName("UnprocessableContent") |
| @useRef("../../../../common/definitions/errors.yaml#/components/responses/UnprocessableContent") |
| @friendlyName("UnprocessableContent") |
| model UnprocessableContent extends BaseError { |
| @statusCode _: 422; |
| } |
|
|
| |
| |
| |
| #suppress "@openmeter/api-spec-aip/composition-over-inheritance" "inheritance" |
| @error |
| @friendlyName("TooManyRequests") |
| @useRef("../../../../common/definitions/errors.yaml#/components/responses/TooManyRequests") |
| @friendlyName("TooManyRequests") |
| model TooManyRequests extends BaseError { |
| @statusCode _: 429; |
| } |
|
|
| |
| |
| |
| #suppress "@openmeter/api-spec-aip/composition-over-inheritance" "inheritance" |
| @error |
| @useRef("../../../../common/definitions/errors.yaml#/components/responses/Internal") |
| @friendlyName("Internal") |
| model Internal extends BaseError { |
| @statusCode _: 500; |
| } |
|
|
| |
| |
| |
| #suppress "@openmeter/api-spec-aip/composition-over-inheritance" "inheritance" |
| @error |
| @friendlyName("NotImplemented") |
| @useRef("../../../../common/definitions/errors.yaml#/components/responses/NotImplemented") |
| @friendlyName("NotImplemented") |
| model NotImplemented extends BaseError { |
| @statusCode _: 501; |
| } |
|
|
| |
| |
| |
| #suppress "@openmeter/api-spec-aip/composition-over-inheritance" "inheritance" |
| @error |
| @useRef("../../../../common/definitions/errors.yaml#/components/responses/NotAvailable") |
| @friendlyName("NotAvailable") |
| model NotAvailable extends BaseError { |
| @statusCode _: 503; |
| } |
|
|
| alias ErrorResponses = BadRequest | Unauthorized | Forbidden; |
|
|
| |
| |
| |
| @error |
| @friendlyName("BaseError") |
| model BaseError { |
| @header contentType: "application/problem+json"; |
|
|
| |
| |
| |
| @example("about:blank") |
| @visibility(Lifecycle.Read) |
| type: string = "about:blank"; |
|
|
| |
| |
| |
| |
| @example(400) |
| @visibility(Lifecycle.Read) |
| status: integer; |
|
|
| |
| |
| |
| @example("Bad Request") |
| @visibility(Lifecycle.Read) |
| title: string; |
|
|
| |
| |
| |
| @example("The request body must be a JSON object.") |
| detail: string; |
|
|
| |
| |
| |
| @visibility(Lifecycle.Read) |
| instance: string; |
|
|
| |
| |
| |
| ...Record<unknown>; |
| } |
|
|
| |
| |
| |
| @friendlyName("InvalidParameters") |
| @minItems(1) |
| model InvalidParameters is InvalidParameter[]; |
|
|
| |
| |
| |
| @friendlyName("InvalidParameter") |
| union InvalidParameter { |
| standard: InvalidParameterStandard, |
| minimumLength: InvalidParameterMinimumLength, |
| maximumLength: InvalidParameterMaximumLength, |
| choice: InvalidParameterChoiceItem, |
| dependent: InvalidParameterDependentItem, |
| } |
|
|
| |
| |
| |
| @friendlyName("InvalidRules") |
| enum InvalidRules { |
| Required: "required", |
| IsArray: "is_array", |
| IsBase64: "is_base64", |
| IsBoolean: "is_boolean", |
| IsDateTime: "is_date_time", |
| IsInteger: "is_integer", |
| IsNull: "is_null", |
| IsNumber: "is_number", |
| IsObject: "is_object", |
| IsString: "is_string", |
| IsUuid: "is_uuid", |
| IsFqdn: "is_fqdn", |
| IsArn: "is_arn", |
| UnknownProperty: "unknown_property", |
| MissingReference: "missing_reference", |
| IsLabel: "is_label", |
| MatchesRegex: "matches_regex", |
| Invalid: "invalid", |
| IsSupportedNetworkAvailabilityZoneList: "is_supported_network_availability_zone_list", |
| IsSupportedNetworkCidrBlock: "is_supported_network_cidr_block", |
| IsSupportedProviderRegion: "is_supported_provider_region", |
| Type: "type", |
| } |
|
|
| |
| |
| |
| @friendlyName("InvalidParameterStandard") |
| model InvalidParameterStandard { |
| |
| |
| |
| @visibility(Lifecycle.Read) |
| field: string; |
|
|
| |
| |
| |
| rule?: InvalidRules; |
|
|
| |
| |
| |
| source?: string; |
|
|
| |
| |
| |
| reason: string; |
| } |
|
|
| |
| |
| |
| @friendlyName("InvalidParameterMinimumLength") |
| model InvalidParameterMinimumLength { |
| |
| |
| |
| field: string; |
|
|
| |
| |
| |
| rule: InvalidParameterMinimumRule; |
|
|
| |
| |
| |
| minimum: integer; |
|
|
| |
| |
| |
| source?: string; |
|
|
| |
| |
| |
| reason: string; |
| } |
|
|
| |
| |
| |
| @friendlyName("InvalidParameterMinimumRule") |
| enum InvalidParameterMinimumRule { |
| MinLength: "min_length", |
| MinDigits: "min_digits", |
| MinLowercase: "min_lowercase", |
| MinUppercase: "min_uppercase", |
| MinSymbols: "min_symbols", |
| MinItems: "min_items", |
| Min: "min", |
| } |
|
|
| |
| |
| |
| @friendlyName("InvalidParameterMaximumLength") |
| model InvalidParameterMaximumLength { |
| |
| |
| |
| @visibility(Lifecycle.Read) |
| field: string; |
|
|
| |
| |
| |
| rule: InvalidParameterMaximumRule; |
|
|
| |
| |
| |
| maximum: integer; |
|
|
| |
| |
| |
| source?: string; |
|
|
| |
| |
| |
| @visibility(Lifecycle.Read) |
| reason: string; |
| } |
|
|
| |
| |
| |
| @friendlyName("InvalidParameterMaximumRule") |
| enum InvalidParameterMaximumRule { |
| MaxLength: "max_length", |
| MaxItems: "max_items", |
| Max: "max", |
| } |
|
|
| |
| |
| |
| @friendlyName("InvalidParameterChoiceItem") |
| model InvalidParameterChoiceItem { |
| |
| |
| |
| @visibility(Lifecycle.Read) |
| field: string; |
|
|
| |
| |
| |
| rule: InvalidParameterChoiceRule; |
|
|
| |
| |
| |
| @visibility(Lifecycle.Read) |
| reason: string; |
|
|
| |
| |
| |
| @visibility(Lifecycle.Read) |
| @minItems(1) |
| choices: unknown[]; |
|
|
| |
| |
| |
| source?: string; |
| } |
|
|
| |
| |
| |
| @friendlyName("InvalidParameterChoiceRule") |
| enum InvalidParameterChoiceRule { |
| Enum: "enum", |
| } |
|
|
| |
| |
| |
| @friendlyName("InvalidParameterDependentItem") |
| model InvalidParameterDependentItem { |
| |
| |
| |
| field: string; |
|
|
| |
| |
| |
| rule: InvalidParameterDependentRule; |
|
|
| |
| |
| |
| reason: string; |
|
|
| |
| |
| |
| dependents: unknown[]; |
|
|
| |
| |
| |
| source?: string; |
| } |
|
|
| |
| |
| |
| @friendlyName("InvalidParameterDependentRule") |
| enum InvalidParameterDependentRule { |
| DependentFields: "dependent_fields", |
| } |
|
|